This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 14/20] MIPS/GAS: Optimise 16-bit constant offsets in macros


Hi,

 Here's a change that removes an unnecessary "LI reg, 0" instruction and 
sometimes the waste of the $at register when a signed 16-bit constant 
offset is used (i.e. no relocations are needed) with load-store type macro 
expansions.  This code path is only hit when the corresponding hardware 
instruction pattern has not matched in the opcode table because the offset 
has been truncated to 32 bits and sign-extended explicitly to match the 
ABI's register width, e.g.:

	lw	$2, 0xffffffff($3)
	lw	$2, 0xffffffff00000000($3)

on o32.  This arrangement will give more benefit with the microMIPS 
instruction set that only provides 12-bit offsets for some operations and 
less exotic code will hit this path.

2010-12-02  Maciej W. Rozycki  <macro@codesourcery.com>

	gas/
	* config/tc-mips.c (macro)[ld_st]: Don't load a zero into an
	auxiliary register when using a signed 16-bit constant offset.

	gas/testsuite/
	* gas/mips/ldstla-32.d: Update according to a 16-bit constant 
	offset optimization.
	* gas/mips/ldstla-32-mips3.d: Likewise.
	* gas/mips/ldstla-32-shared.d: Likewise.
	* gas/mips/ldstla-32-mips3-shared.d: Likewise.

 OK to apply?

  Maciej

binutils-gas-mips-ldst-sextconst.diff
Index: binutils-fsf-trunk-quilt/gas/config/tc-mips.c
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/config/tc-mips.c	2010-12-01 21:05:51.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/config/tc-mips.c	2010-12-01 21:05:51.000000000 +0000
@@ -6571,14 +6571,19 @@ macro (struct mips_cl_insn *ip)
 	 is in non PIC code.  */
       if (offset_expr.X_op == O_constant)
 	{
-	  expr1.X_add_number = ((offset_expr.X_add_number + 0x8000)
-				& ~(bfd_vma) 0xffff);
+	  expr1.X_add_number = offset_expr.X_add_number;
 	  normalize_address_expr (&expr1);
-	  load_register (tempreg, &expr1, HAVE_64BIT_ADDRESSES);
-	  if (breg != 0)
-	    macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
-			 tempreg, tempreg, breg);
-	  macro_build (&offset_expr, s, fmt, treg, BFD_RELOC_LO16, tempreg);
+	  if (!IS_SEXT_16BIT_NUM (expr1.X_add_number))
+	    {
+	      expr1.X_add_number = ((expr1.X_add_number + 0x8000)
+				    & ~(bfd_vma) 0xffff);
+	      load_register (tempreg, &expr1, HAVE_64BIT_ADDRESSES);
+	      if (breg != 0)
+		macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
+			     tempreg, tempreg, breg);
+	      breg = tempreg;
+	    }
+	  macro_build (&offset_expr, s, fmt, treg, BFD_RELOC_LO16, breg);
 	}
       else if (mips_pic == NO_PIC)
 	{
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d	2010-12-01 21:05:49.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d	2010-12-01 21:05:51.000000000 +0000
@@ -21,12 +21,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	dc424567 	ld	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	dc420000 	ld	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
+[ 0-9a-f]+:	dc820000 	ld	v0,0\(a0\)
+[ 0-9a-f]+:	dc82ffff 	ld	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	dc42ef01 	ld	v0,-4351\(v0\)
@@ -49,10 +45,8 @@
 [ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	dc424567 	ld	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	dc420000 	ld	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
+[ 0-9a-f]+:	dc020000 	ld	v0,0\(zero\)
+[ 0-9a-f]+:	dc02ffff 	ld	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	dc42ef01 	ld	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -75,12 +69,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	fc224567 	sd	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	fc220000 	sd	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
+[ 0-9a-f]+:	fc820000 	sd	v0,0\(a0\)
+[ 0-9a-f]+:	fc82ffff 	sd	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	fc22ef01 	sd	v0,-4351\(at\)
@@ -103,10 +93,8 @@
 [ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	fc224567 	sd	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	fc220000 	sd	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
+[ 0-9a-f]+:	fc020000 	sd	v0,0\(zero\)
+[ 0-9a-f]+:	fc02ffff 	sd	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	fc22ef01 	sd	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000
@@ -129,12 +117,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c820000 	lw	v0,0\(a0\)
+[ 0-9a-f]+:	8c82ffff 	lw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
@@ -157,10 +141,8 @@
 [ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c020000 	lw	v0,0\(zero\)
+[ 0-9a-f]+:	8c02ffff 	lw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -183,12 +165,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac820000 	sw	v0,0\(a0\)
+[ 0-9a-f]+:	ac82ffff 	sw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
@@ -211,10 +189,8 @@
 [ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac020000 	sw	v0,0\(zero\)
+[ 0-9a-f]+:	ac02ffff 	sw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-mips3.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-32-mips3.d	2010-12-01 21:05:49.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-mips3.d	2010-12-01 21:05:51.000000000 +0000
@@ -21,12 +21,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	dc424567 	ld	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	dc420000 	ld	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
+[ 0-9a-f]+:	dc820000 	ld	v0,0\(a0\)
+[ 0-9a-f]+:	dc82ffff 	ld	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	dc42ef01 	ld	v0,-4351\(v0\)
@@ -49,10 +45,8 @@
 [ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	dc424567 	ld	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	dc420000 	ld	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	dc42ffff 	ld	v0,-1\(v0\)
+[ 0-9a-f]+:	dc020000 	ld	v0,0\(zero\)
+[ 0-9a-f]+:	dc02ffff 	ld	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	dc42ef01 	ld	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -75,12 +69,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	fc224567 	sd	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	fc220000 	sd	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
+[ 0-9a-f]+:	fc820000 	sd	v0,0\(a0\)
+[ 0-9a-f]+:	fc82ffff 	sd	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	fc22ef01 	sd	v0,-4351\(at\)
@@ -103,10 +93,8 @@
 [ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	fc224567 	sd	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	fc220000 	sd	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	fc22ffff 	sd	v0,-1\(at\)
+[ 0-9a-f]+:	fc020000 	sd	v0,0\(zero\)
+[ 0-9a-f]+:	fc02ffff 	sd	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	fc22ef01 	sd	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000
@@ -129,12 +117,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c820000 	lw	v0,0\(a0\)
+[ 0-9a-f]+:	8c82ffff 	lw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
@@ -157,10 +141,8 @@
 [ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c020000 	lw	v0,0\(zero\)
+[ 0-9a-f]+:	8c02ffff 	lw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -183,12 +165,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac820000 	sw	v0,0\(a0\)
+[ 0-9a-f]+:	ac82ffff 	sw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
@@ -211,10 +189,8 @@
 [ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac020000 	sw	v0,0\(zero\)
+[ 0-9a-f]+:	ac02ffff 	sw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-shared.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-32-shared.d	2010-12-01 21:05:49.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32-shared.d	2010-12-01 21:05:51.000000000 +0000
@@ -177,12 +177,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c820000 	lw	v0,0\(a0\)
+[ 0-9a-f]+:	8c82ffff 	lw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
@@ -205,10 +201,8 @@
 [ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c020000 	lw	v0,0\(zero\)
+[ 0-9a-f]+:	8c02ffff 	lw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -232,12 +226,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac820000 	sw	v0,0\(a0\)
+[ 0-9a-f]+:	ac82ffff 	sw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
@@ -260,10 +250,8 @@
 [ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac020000 	sw	v0,0\(zero\)
+[ 0-9a-f]+:	ac02ffff 	sw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-32.d	2010-12-01 21:05:49.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-32.d	2010-12-01 21:05:51.000000000 +0000
@@ -177,12 +177,8 @@
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	00441021 	addu	v0,v0,a0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c820000 	lw	v0,0\(a0\)
+[ 0-9a-f]+:	8c82ffff 	lw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	00441021 	addu	v0,v0,a0
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
@@ -205,10 +201,8 @@
 [ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
 [ 0-9a-f]+:	3c020123 	lui	v0,0x123
 [ 0-9a-f]+:	8c424567 	lw	v0,17767\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c420000 	lw	v0,0\(v0\)
-[ 0-9a-f]+:	24020000 	li	v0,0
-[ 0-9a-f]+:	8c42ffff 	lw	v0,-1\(v0\)
+[ 0-9a-f]+:	8c020000 	lw	v0,0\(zero\)
+[ 0-9a-f]+:	8c02ffff 	lw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c02abce 	lui	v0,0xabce
 [ 0-9a-f]+:	8c42ef01 	lw	v0,-4351\(v0\)
 [ 0-9a-f]+:	3c028000 	lui	v0,0x8000
@@ -232,12 +226,8 @@
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	00240821 	addu	at,at,a0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac820000 	sw	v0,0\(a0\)
+[ 0-9a-f]+:	ac82ffff 	sw	v0,-1\(a0\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	00240821 	addu	at,at,a0
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
@@ -260,10 +250,8 @@
 [ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
 [ 0-9a-f]+:	3c010123 	lui	at,0x123
 [ 0-9a-f]+:	ac224567 	sw	v0,17767\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac220000 	sw	v0,0\(at\)
-[ 0-9a-f]+:	24010000 	li	at,0
-[ 0-9a-f]+:	ac22ffff 	sw	v0,-1\(at\)
+[ 0-9a-f]+:	ac020000 	sw	v0,0\(zero\)
+[ 0-9a-f]+:	ac02ffff 	sw	v0,-1\(zero\)
 [ 0-9a-f]+:	3c01abce 	lui	at,0xabce
 [ 0-9a-f]+:	ac22ef01 	sw	v0,-4351\(at\)
 [ 0-9a-f]+:	3c018000 	lui	at,0x8000


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]