From 842f8b2a1e0780823528556046919173a9a8db57 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 9 Dec 2010 23:33:24 +0000 Subject: [PATCH] gas/ * config/tc-mips.c (macro) : 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. --- gas/ChangeLog | 5 ++ gas/config/tc-mips.c | 19 ++++--- gas/testsuite/ChangeLog | 8 +++ .../gas/mips/ldstla-32-mips3-shared.d | 56 ++++++------------- gas/testsuite/gas/mips/ldstla-32-mips3.d | 56 ++++++------------- gas/testsuite/gas/mips/ldstla-32-shared.d | 28 +++------- gas/testsuite/gas/mips/ldstla-32.d | 28 +++------- 7 files changed, 73 insertions(+), 127 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d6d973e8ee..f87b622c65 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2010-12-09 Maciej W. Rozycki + + * config/tc-mips.c (macro) : Don't load a zero into an + auxiliary register when using a signed 16-bit constant offset. + 2010-12-09 Maciej W. Rozycki * config/tc-mips.c (mips_ip): Remove lastregno's diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index b66458508b..eb1ba2e7ec 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -6565,14 +6565,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) { diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index bf89eb977e..9371627f78 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2010-12-09 Maciej W. Rozycki + + * 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. + 2010-12-09 Maciej W. Rozycki * gas/mips/at-2.l: Adjust according to message capitalization diff --git a/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d b/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d index 69a468af4e..305781fa7a 100644 --- a/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d +++ b/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d @@ -21,12 +21,8 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 diff --git a/gas/testsuite/gas/mips/ldstla-32-mips3.d b/gas/testsuite/gas/mips/ldstla-32-mips3.d index b2dc9d1e50..2d9b00baa6 100644 --- a/gas/testsuite/gas/mips/ldstla-32-mips3.d +++ b/gas/testsuite/gas/mips/ldstla-32-mips3.d @@ -21,12 +21,8 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 diff --git a/gas/testsuite/gas/mips/ldstla-32-shared.d b/gas/testsuite/gas/mips/ldstla-32-shared.d index 9adadd3363..d4787f9525 100644 --- a/gas/testsuite/gas/mips/ldstla-32-shared.d +++ b/gas/testsuite/gas/mips/ldstla-32-shared.d @@ -177,12 +177,8 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 diff --git a/gas/testsuite/gas/mips/ldstla-32.d b/gas/testsuite/gas/mips/ldstla-32.d index 9ce14188c9..985246cc0f 100644 --- a/gas/testsuite/gas/mips/ldstla-32.d +++ b/gas/testsuite/gas/mips/ldstla-32.d @@ -177,12 +177,8 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 @@ Disassembly of section \.text: [ 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 -- 2.34.1