]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: try and access last argument first in rulegen
authorMichael Munday <mike.munday@ibm.com>
Wed, 13 Mar 2019 10:32:48 +0000 (10:32 +0000)
committerMichael Munday <mike.munday@ibm.com>
Wed, 13 Mar 2019 15:11:37 +0000 (15:11 +0000)
This reduces the number of extra bounds check hints we need to
insert. For example, rather than producing:

_ = v.Args[2]
x := v.Args[0]
y := v.Args[1]
z := v.Args[2]

We now produce:

z := v.Args[2]
x := v.Args[0]
y := v.Args[1]

This gets rid of about 7000 lines of code from the rewrite rules.

Change-Id: I1291cf0f82e8d035a6d65bce7dee6cedee04cbcd
Reviewed-on: https://go-review.googlesource.com/c/go/+/167397
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

13 files changed:
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssa/rewrite386.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewriteARM.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/compile/internal/ssa/rewriteMIPS.go
src/cmd/compile/internal/ssa/rewriteMIPS64.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/ssa/rewriteS390X.go
src/cmd/compile/internal/ssa/rewriteWasm.go
src/cmd/compile/internal/ssa/rewritedec.go
src/cmd/compile/internal/ssa/rewritedec64.go
src/cmd/compile/internal/ssa/rewritegeneric.go

index 6762d1cd3f3fe2c1fcd48662f6e1e68da5f64c53..1f610359691111b9d28fbc5b3d310a95f472f29d 100644 (file)
@@ -449,7 +449,6 @@ func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, t
        }
 
        if aux != "" {
-
                if !isVariable(aux) {
                        // code
                        fmt.Fprintf(w, "if %s.Aux != %s {\nbreak\n}\n", v, aux)
@@ -466,8 +465,18 @@ func genMatch0(w io.Writer, arch arch, match, v string, m map[string]struct{}, t
                }
        }
 
+       // Access last argument first to minimize bounds checks.
        if n := len(args); n > 1 {
-               fmt.Fprintf(w, "_ = %s.Args[%d]\n", v, n-1) // combine some bounds checks
+               a := args[n-1]
+               if _, set := m[a]; !set && a != "_" && isVariable(a) {
+                       m[a] = struct{}{}
+                       fmt.Fprintf(w, "%s := %s.Args[%d]\n", a, v, n-1)
+
+                       // delete the last argument so it is not reprocessed
+                       args = args[:n-1]
+               } else {
+                       fmt.Fprintf(w, "_ = %s.Args[%d]\n", v, n-1)
+               }
        }
        for i, arg := range args {
                if arg == "_" {
index 422a8b42fac17e7fac2516e602a4ba08b4c78d00..e2d76ecb85a448a536af86b42162d74b36ec9070 100644 (file)
@@ -707,14 +707,13 @@ func rewriteValue386_Op386ADCL_0(v *Value) bool {
        // cond:
        // result: (ADCLconst [c] x f)
        for {
-               = v.Args[2]
+               f := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               f := v.Args[2]
                v.reset(Op386ADCLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -725,14 +724,13 @@ func rewriteValue386_Op386ADCL_0(v *Value) bool {
        // cond:
        // result: (ADCLconst [c] x f)
        for {
-               = v.Args[2]
+               f := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               f := v.Args[2]
                v.reset(Op386ADCLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -743,14 +741,13 @@ func rewriteValue386_Op386ADCL_0(v *Value) bool {
        // cond:
        // result: (ADCLconst [c] x f)
        for {
-               = v.Args[2]
+               f := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               f := v.Args[2]
                v.reset(Op386ADCLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -761,14 +758,13 @@ func rewriteValue386_Op386ADCL_0(v *Value) bool {
        // cond:
        // result: (ADCLconst [c] x f)
        for {
-               = v.Args[2]
+               f := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               f := v.Args[2]
                v.reset(Op386ADCLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -798,13 +794,12 @@ func rewriteValue386_Op386ADDL_0(v *Value) bool {
        // cond:
        // result: (ADDLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386ADDLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -999,7 +994,7 @@ func rewriteValue386_Op386ADDL_0(v *Value) bool {
        // cond:
        // result: (LEAL8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -1008,7 +1003,6 @@ func rewriteValue386_Op386ADDL_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL8)
                v.AddArg(x)
                v.AddArg(y)
@@ -1040,7 +1034,7 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL4 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -1049,7 +1043,6 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL4)
                v.AddArg(x)
                v.AddArg(y)
@@ -1078,7 +1071,7 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -1087,7 +1080,6 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL2)
                v.AddArg(x)
                v.AddArg(y)
@@ -1103,9 +1095,8 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
                if v_1.Op != Op386ADDL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
-               if y != v_1.Args[1] {
+               y := v_1.Args[1]
+               if y != v_1.Args[0] {
                        break
                }
                v.reset(Op386LEAL2)
@@ -1117,17 +1108,15 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
-               if y != v_0.Args[1] {
+               y := v_0.Args[1]
+               if y != v_0.Args[0] {
                        break
                }
-               x := v.Args[1]
                v.reset(Op386LEAL2)
                v.AddArg(x)
                v.AddArg(y)
@@ -1143,11 +1132,10 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
                if v_1.Op != Op386ADDL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(Op386LEAL2)
                v.AddArg(y)
                v.AddArg(x)
@@ -1177,15 +1165,13 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(Op386LEAL2)
@@ -1197,15 +1183,14 @@ func rewriteValue386_Op386ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(Op386LEAL2)
@@ -1220,14 +1205,13 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
        // cond:
        // result: (LEAL1 [c] x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                c := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(Op386LEAL1)
                v.AuxInt = c
                v.AddArg(x)
@@ -1279,7 +1263,7 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
        // cond: x.Op != OpSB && y.Op != OpSB
        // result: (LEAL1 [c] {s} x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -1287,7 +1271,6 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
                c := v_0.AuxInt
                s := v_0.Aux
                y := v_0.Args[0]
-               x := v.Args[1]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -1310,9 +1293,8 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1328,17 +1310,15 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1362,10 +1342,9 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1382,18 +1361,16 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDLloadidx4 x [off] {sym} ptr idx mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
-               x := v.Args[1]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1426,13 +1403,12 @@ func rewriteValue386_Op386ADDL_20(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386NEGL {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -1461,13 +1437,12 @@ func rewriteValue386_Op386ADDLcarry_0(v *Value) bool {
        // cond:
        // result: (ADDLconstcarry [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386ADDLconstcarry)
                v.AuxInt = c
                v.AddArg(x)
@@ -1485,9 +1460,8 @@ func rewriteValue386_Op386ADDLconst_0(v *Value) bool {
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(Op386LEAL1)
                v.AuxInt = c
                v.AddArg(x)
@@ -1526,9 +1500,8 @@ func rewriteValue386_Op386ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1550,9 +1523,8 @@ func rewriteValue386_Op386ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1574,9 +1546,8 @@ func rewriteValue386_Op386ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1598,9 +1569,8 @@ func rewriteValue386_Op386ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1666,14 +1636,13 @@ func rewriteValue386_Op386ADDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -1690,7 +1659,7 @@ func rewriteValue386_Op386ADDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -1698,7 +1667,6 @@ func rewriteValue386_Op386ADDLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -1720,7 +1688,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -1728,7 +1696,6 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -1746,7 +1713,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -1754,7 +1721,6 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2 * 4)) {
                        break
                }
@@ -1772,7 +1738,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -1781,7 +1747,6 @@ func rewriteValue386_Op386ADDLconstmodifyidx4_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -1804,7 +1769,7 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -1812,7 +1777,6 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -1830,7 +1794,7 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -1839,7 +1803,6 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -1857,7 +1820,7 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -1865,10 +1828,8 @@ func rewriteValue386_Op386ADDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -1892,7 +1853,7 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -1901,7 +1862,6 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -1920,7 +1880,7 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -1929,7 +1889,6 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -1948,7 +1907,7 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -1958,7 +1917,6 @@ func rewriteValue386_Op386ADDLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -1982,7 +1940,7 @@ func rewriteValue386_Op386ADDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -1990,7 +1948,6 @@ func rewriteValue386_Op386ADDLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2008,7 +1965,7 @@ func rewriteValue386_Op386ADDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -2017,7 +1974,6 @@ func rewriteValue386_Op386ADDLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2040,7 +1996,7 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -2049,7 +2005,6 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2068,7 +2023,7 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2077,7 +2032,6 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -2096,7 +2050,7 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -2106,7 +2060,6 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2125,7 +2078,7 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -2133,7 +2086,6 @@ func rewriteValue386_Op386ADDLmodifyidx4_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               mem := v.Args[3]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -2162,9 +2114,8 @@ func rewriteValue386_Op386ADDSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -2180,17 +2131,15 @@ func rewriteValue386_Op386ADDSD_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)
        // result: (ADDSDload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVSDload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -2213,7 +2162,7 @@ func rewriteValue386_Op386ADDSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2221,7 +2170,6 @@ func rewriteValue386_Op386ADDSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2239,7 +2187,7 @@ func rewriteValue386_Op386ADDSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -2248,7 +2196,6 @@ func rewriteValue386_Op386ADDSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2277,9 +2224,8 @@ func rewriteValue386_Op386ADDSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -2295,17 +2241,15 @@ func rewriteValue386_Op386ADDSS_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)
        // result: (ADDSSload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVSSload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -2328,7 +2272,7 @@ func rewriteValue386_Op386ADDSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2336,7 +2280,6 @@ func rewriteValue386_Op386ADDSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2354,7 +2297,7 @@ func rewriteValue386_Op386ADDSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -2363,7 +2306,6 @@ func rewriteValue386_Op386ADDSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2398,13 +2340,12 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
        // cond:
        // result: (ANDLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386ANDLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -2422,9 +2363,8 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2440,17 +2380,15 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ANDLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2474,10 +2412,9 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2494,18 +2431,16 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ANDLloadidx4 x [off] {sym} ptr idx mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
-               x := v.Args[1]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2522,9 +2457,8 @@ func rewriteValue386_Op386ANDL_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -2602,14 +2536,13 @@ func rewriteValue386_Op386ANDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -2626,7 +2559,7 @@ func rewriteValue386_Op386ANDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -2634,7 +2567,6 @@ func rewriteValue386_Op386ANDLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2656,7 +2588,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -2664,7 +2596,6 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -2682,7 +2613,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2690,7 +2621,6 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2 * 4)) {
                        break
                }
@@ -2708,7 +2638,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -2717,7 +2647,6 @@ func rewriteValue386_Op386ANDLconstmodifyidx4_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2740,7 +2669,7 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2748,7 +2677,6 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2766,7 +2694,7 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -2775,7 +2703,6 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2793,7 +2720,7 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -2801,10 +2728,8 @@ func rewriteValue386_Op386ANDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -2828,7 +2753,7 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -2837,7 +2762,6 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2856,7 +2780,7 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -2865,7 +2789,6 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -2884,7 +2807,7 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -2894,7 +2817,6 @@ func rewriteValue386_Op386ANDLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2918,7 +2840,7 @@ func rewriteValue386_Op386ANDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -2926,7 +2848,6 @@ func rewriteValue386_Op386ANDLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2944,7 +2865,7 @@ func rewriteValue386_Op386ANDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -2953,7 +2874,6 @@ func rewriteValue386_Op386ANDLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -2976,7 +2896,7 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -2985,7 +2905,6 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3004,7 +2923,7 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -3013,7 +2932,6 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -3032,7 +2950,7 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -3042,7 +2960,6 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -3061,7 +2978,7 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -3069,7 +2986,6 @@ func rewriteValue386_Op386ANDLmodifyidx4_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               mem := v.Args[3]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -3105,13 +3021,12 @@ func rewriteValue386_Op386CMPB_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPBconst x [int64(int8(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386InvertFlags)
                v0 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
                v0.AuxInt = int64(int8(c))
@@ -3123,17 +3038,15 @@ func rewriteValue386_Op386CMPB_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPBload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVBload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3157,9 +3070,8 @@ func rewriteValue386_Op386CMPB_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3284,9 +3196,8 @@ func rewriteValue386_Op386CMPBconst_0(v *Value) bool {
                if l.Op != Op386ANDL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1) {
                        break
                }
@@ -3340,9 +3251,8 @@ func rewriteValue386_Op386CMPBconst_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -3365,14 +3275,13 @@ func rewriteValue386_Op386CMPBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(int64(int8(c)), off)) {
                        break
                }
@@ -3407,13 +3316,12 @@ func rewriteValue386_Op386CMPL_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPLconst x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386InvertFlags)
                v0 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
                v0.AuxInt = c
@@ -3425,17 +3333,15 @@ func rewriteValue386_Op386CMPL_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPLload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3459,9 +3365,8 @@ func rewriteValue386_Op386CMPL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3601,9 +3506,8 @@ func rewriteValue386_Op386CMPLconst_0(v *Value) bool {
                if l.Op != Op386ANDL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1) {
                        break
                }
@@ -3661,9 +3565,8 @@ func rewriteValue386_Op386CMPLconst_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -3686,14 +3589,13 @@ func rewriteValue386_Op386CMPLload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(int64(int32(c)), off)) {
                        break
                }
@@ -3728,13 +3630,12 @@ func rewriteValue386_Op386CMPW_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPWconst x [int64(int16(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386InvertFlags)
                v0 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
                v0.AuxInt = int64(int16(c))
@@ -3746,17 +3647,15 @@ func rewriteValue386_Op386CMPW_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPWload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVWload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3780,9 +3679,8 @@ func rewriteValue386_Op386CMPW_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -3907,9 +3805,8 @@ func rewriteValue386_Op386CMPWconst_0(v *Value) bool {
                if l.Op != Op386ANDL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1) {
                        break
                }
@@ -3963,9 +3860,8 @@ func rewriteValue386_Op386CMPWconst_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -3988,14 +3884,13 @@ func rewriteValue386_Op386CMPWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(int64(int16(c)), off)) {
                        break
                }
@@ -4023,9 +3918,8 @@ func rewriteValue386_Op386DIVSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -4048,7 +3942,7 @@ func rewriteValue386_Op386DIVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -4056,7 +3950,6 @@ func rewriteValue386_Op386DIVSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4074,7 +3967,7 @@ func rewriteValue386_Op386DIVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -4083,7 +3976,6 @@ func rewriteValue386_Op386DIVSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -4112,9 +4004,8 @@ func rewriteValue386_Op386DIVSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -4137,7 +4028,7 @@ func rewriteValue386_Op386DIVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -4145,7 +4036,6 @@ func rewriteValue386_Op386DIVSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4163,7 +4053,7 @@ func rewriteValue386_Op386DIVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -4172,7 +4062,6 @@ func rewriteValue386_Op386DIVSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -4218,9 +4107,8 @@ func rewriteValue386_Op386LEAL_0(v *Value) bool {
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -4265,9 +4153,8 @@ func rewriteValue386_Op386LEAL_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4290,9 +4177,8 @@ func rewriteValue386_Op386LEAL_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4315,9 +4201,8 @@ func rewriteValue386_Op386LEAL_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4340,9 +4225,8 @@ func rewriteValue386_Op386LEAL_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4362,14 +4246,13 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -4433,7 +4316,7 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -4442,7 +4325,6 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL2)
                v.AuxInt = c
                v.Aux = s
@@ -4479,7 +4361,7 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -4488,7 +4370,6 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL4)
                v.AuxInt = c
                v.Aux = s
@@ -4525,7 +4406,7 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -4534,7 +4415,6 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(Op386LEAL8)
                v.AuxInt = c
                v.Aux = s
@@ -4548,7 +4428,7 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -4556,7 +4436,6 @@ func rewriteValue386_Op386LEAL1_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -4601,14 +4480,13 @@ func rewriteValue386_Op386LEAL2_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -4695,7 +4573,7 @@ func rewriteValue386_Op386LEAL2_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -4703,7 +4581,6 @@ func rewriteValue386_Op386LEAL2_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -4723,14 +4600,13 @@ func rewriteValue386_Op386LEAL4_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -4794,7 +4670,7 @@ func rewriteValue386_Op386LEAL4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -4802,7 +4678,6 @@ func rewriteValue386_Op386LEAL4_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -4822,14 +4697,13 @@ func rewriteValue386_Op386LEAL8_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -4870,7 +4744,7 @@ func rewriteValue386_Op386LEAL8_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -4878,7 +4752,6 @@ func rewriteValue386_Op386LEAL8_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -4903,9 +4776,8 @@ func rewriteValue386_Op386MOVBLSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -4972,7 +4844,7 @@ func rewriteValue386_Op386MOVBLSXload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -4980,7 +4852,6 @@ func rewriteValue386_Op386MOVBLSXload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5005,9 +4876,8 @@ func rewriteValue386_Op386MOVBLZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5031,10 +4901,9 @@ func rewriteValue386_Op386MOVBLZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5099,14 +4968,13 @@ func rewriteValue386_Op386MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5123,7 +4991,7 @@ func rewriteValue386_Op386MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -5131,7 +4999,6 @@ func rewriteValue386_Op386MOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5148,17 +5015,15 @@ func rewriteValue386_Op386MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5176,15 +5041,13 @@ func rewriteValue386_Op386MOVBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -5223,7 +5086,7 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -5231,7 +5094,6 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -5246,7 +5108,7 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -5254,7 +5116,6 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVBloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -5269,7 +5130,7 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -5277,7 +5138,6 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVBloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -5292,7 +5152,7 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -5300,7 +5160,6 @@ func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -5320,14 +5179,13 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVBLSX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5342,14 +5200,13 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVBLZX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5364,7 +5221,7 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -5372,7 +5229,6 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5390,14 +5246,13 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -5414,7 +5269,7 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -5423,7 +5278,6 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5441,18 +5295,16 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5471,16 +5323,14 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -5519,14 +5369,13 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5564,14 +5413,13 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5602,7 +5450,7 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -5616,7 +5464,6 @@ func rewriteValue386_Op386MOVBstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5650,7 +5497,7 @@ func rewriteValue386_Op386MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -5664,7 +5511,6 @@ func rewriteValue386_Op386MOVBstore_10(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5700,7 +5546,7 @@ func rewriteValue386_Op386MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -5714,7 +5560,6 @@ func rewriteValue386_Op386MOVBstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -5737,14 +5582,13 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -5761,7 +5605,7 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -5769,7 +5613,6 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5786,17 +5629,15 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5814,15 +5655,13 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(Op386MOVBstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -5847,11 +5686,10 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -5878,11 +5716,10 @@ func rewriteValue386_Op386MOVBstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -5902,7 +5739,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -5910,7 +5747,6 @@ func rewriteValue386_Op386MOVBstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -5925,7 +5761,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -5933,7 +5769,6 @@ func rewriteValue386_Op386MOVBstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVBstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -5959,14 +5794,13 @@ func rewriteValue386_Op386MOVBstoreconstidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -5987,7 +5821,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -5996,7 +5830,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVBstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -6012,7 +5845,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -6021,7 +5854,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVBstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -6037,7 +5869,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -6046,7 +5878,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVBstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -6062,7 +5893,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -6071,7 +5902,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVBstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -6108,7 +5938,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6118,7 +5948,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6158,7 +5987,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6168,7 +5997,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6208,7 +6036,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6218,7 +6046,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6258,7 +6085,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6268,7 +6095,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6308,7 +6134,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6318,7 +6144,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6358,7 +6183,7 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6368,7 +6193,6 @@ func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6411,7 +6235,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6421,7 +6245,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6461,7 +6284,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6471,7 +6294,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6504,7 +6326,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6521,7 +6343,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6554,7 +6375,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6571,7 +6392,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6604,7 +6424,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6621,7 +6441,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6654,7 +6473,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6671,7 +6490,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6704,7 +6522,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6721,7 +6539,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6754,7 +6571,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6771,7 +6588,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6804,7 +6620,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6821,7 +6637,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6854,7 +6669,7 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6871,7 +6686,6 @@ func rewriteValue386_Op386MOVBstoreidx1_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6912,7 +6726,7 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -6929,7 +6743,6 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -6967,7 +6780,7 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -6984,7 +6797,6 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -7022,7 +6834,7 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -7039,7 +6851,6 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -7077,7 +6888,7 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -7094,7 +6905,6 @@ func rewriteValue386_Op386MOVBstoreidx1_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -7143,14 +6953,13 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -7167,7 +6976,7 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -7175,7 +6984,6 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -7192,17 +7000,15 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7220,17 +7026,15 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7248,15 +7052,13 @@ func rewriteValue386_Op386MOVLload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -7295,7 +7097,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -7305,7 +7107,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -7320,7 +7121,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -7330,7 +7131,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -7345,7 +7145,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -7353,7 +7153,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -7368,7 +7167,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -7376,7 +7175,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -7391,7 +7189,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -7399,7 +7197,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -7414,7 +7211,7 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -7422,7 +7219,6 @@ func rewriteValue386_Op386MOVLloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -7440,7 +7236,7 @@ func rewriteValue386_Op386MOVLloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -7448,7 +7244,6 @@ func rewriteValue386_Op386MOVLloadidx4_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx4)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -7463,7 +7258,7 @@ func rewriteValue386_Op386MOVLloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -7471,7 +7266,6 @@ func rewriteValue386_Op386MOVLloadidx4_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLloadidx4)
                v.AuxInt = int64(int32(c + 4*d))
                v.Aux = sym
@@ -7491,7 +7285,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -7499,7 +7293,6 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -7517,14 +7310,13 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -7541,7 +7333,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -7550,7 +7342,6 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -7568,18 +7359,16 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7598,18 +7387,16 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7628,16 +7415,14 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -7656,7 +7441,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ADDLload {
@@ -7673,8 +7458,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -7694,7 +7478,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ANDLload {
@@ -7711,8 +7495,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -7732,7 +7515,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ORLload {
@@ -7749,8 +7532,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -7770,7 +7552,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386XORLload {
@@ -7787,8 +7569,7 @@ func rewriteValue386_Op386MOVLstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -7811,13 +7592,13 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ADDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLload {
                        break
@@ -7832,9 +7613,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -7854,7 +7633,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ADDL {
@@ -7876,8 +7655,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -7897,13 +7675,13 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386SUBL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLload {
                        break
@@ -7918,9 +7696,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -7940,13 +7716,13 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ANDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLload {
                        break
@@ -7961,9 +7737,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -7983,7 +7757,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ANDL {
@@ -8005,8 +7779,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -8026,13 +7799,13 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLload {
                        break
@@ -8047,9 +7820,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -8069,7 +7840,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ORL {
@@ -8091,8 +7862,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -8112,13 +7882,13 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386XORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLload {
                        break
@@ -8133,9 +7903,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -8155,7 +7923,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386XORL {
@@ -8177,8 +7945,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -8198,7 +7965,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ADDLconst {
@@ -8219,8 +7986,7 @@ func rewriteValue386_Op386MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -8242,7 +8008,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ANDLconst {
@@ -8263,8 +8029,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -8283,7 +8048,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386ORLconst {
@@ -8304,8 +8069,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -8324,7 +8088,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != Op386XORLconst {
@@ -8345,8 +8109,7 @@ func rewriteValue386_Op386MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -8370,14 +8133,13 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -8394,7 +8156,7 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -8402,7 +8164,6 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -8419,17 +8180,15 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8447,17 +8206,15 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL4 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8475,15 +8232,13 @@ func rewriteValue386_Op386MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(Op386MOVLstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -8501,7 +8256,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -8511,7 +8266,6 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLstoreconstidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -8526,7 +8280,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -8534,7 +8288,6 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -8549,7 +8302,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -8557,7 +8310,6 @@ func rewriteValue386_Op386MOVLstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -8575,7 +8327,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -8583,7 +8335,6 @@ func rewriteValue386_Op386MOVLstoreconstidx4_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLstoreconstidx4)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -8598,7 +8349,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -8606,7 +8357,6 @@ func rewriteValue386_Op386MOVLstoreconstidx4_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVLstoreconstidx4)
                v.AuxInt = ValAndOff(x).add(4 * c)
                v.Aux = sym
@@ -8624,7 +8374,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -8635,7 +8385,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -8651,7 +8400,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -8662,7 +8411,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -8678,7 +8426,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -8687,7 +8435,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -8703,7 +8450,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -8712,7 +8459,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -8728,7 +8474,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -8737,7 +8483,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -8753,7 +8498,7 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -8762,7 +8507,6 @@ func rewriteValue386_Op386MOVLstoreidx1_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -8781,7 +8525,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -8790,7 +8534,6 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx4)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -8806,7 +8549,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -8815,7 +8558,6 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVLstoreidx4)
                v.AuxInt = int64(int32(c + 4*d))
                v.Aux = sym
@@ -8831,7 +8573,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -8852,8 +8594,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != y.Args[2] {
                        break
                }
-               mem := y.Args[3]
-               if mem != v.Args[3] {
+               if mem != y.Args[3] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -8874,7 +8615,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -8895,8 +8636,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != y.Args[2] {
                        break
                }
-               mem := y.Args[3]
-               if mem != v.Args[3] {
+               if mem != y.Args[3] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -8917,7 +8657,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -8938,8 +8678,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != y.Args[2] {
                        break
                }
-               mem := y.Args[3]
-               if mem != v.Args[3] {
+               if mem != y.Args[3] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -8960,7 +8699,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -8981,8 +8720,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != y.Args[2] {
                        break
                }
-               mem := y.Args[3]
-               if mem != v.Args[3] {
+               if mem != y.Args[3] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -9003,14 +8741,14 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
                if y.Op != Op386ADDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
@@ -9028,9 +8766,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               x := y.Args[1]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9051,7 +8787,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9077,8 +8813,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9099,14 +8834,14 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
                if y.Op != Op386SUBL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
@@ -9124,9 +8859,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               x := y.Args[1]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9147,14 +8880,14 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
                if y.Op != Op386ANDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
@@ -9172,9 +8905,7 @@ func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               x := y.Args[1]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9198,7 +8929,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9224,8 +8955,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9246,14 +8976,14 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
                if y.Op != Op386ORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
@@ -9271,9 +9001,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               x := y.Args[1]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9294,7 +9022,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9320,8 +9048,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9342,14 +9069,14 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
                if y.Op != Op386XORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
@@ -9367,9 +9094,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               x := y.Args[1]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9390,7 +9115,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9416,8 +9141,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -9438,7 +9162,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9463,8 +9187,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -9484,7 +9207,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9509,8 +9232,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -9530,7 +9252,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9555,8 +9277,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -9576,7 +9297,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                y := v.Args[2]
@@ -9601,8 +9322,7 @@ func rewriteValue386_Op386MOVLstoreidx4_10(v *Value) bool {
                if idx != l.Args[1] {
                        break
                }
-               mem := l.Args[2]
-               if mem != v.Args[3] {
+               if mem != l.Args[2] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l) && validValAndOff(c, off)) {
@@ -9647,14 +9367,13 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -9671,7 +9390,7 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -9679,7 +9398,6 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9696,17 +9414,15 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9724,17 +9440,15 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9752,15 +9466,13 @@ func rewriteValue386_Op386MOVSDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -9781,7 +9493,7 @@ func rewriteValue386_Op386MOVSDloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -9789,7 +9501,6 @@ func rewriteValue386_Op386MOVSDloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVSDloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -9804,7 +9515,7 @@ func rewriteValue386_Op386MOVSDloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -9812,7 +9523,6 @@ func rewriteValue386_Op386MOVSDloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVSDloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -9830,7 +9540,7 @@ func rewriteValue386_Op386MOVSDloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -9838,7 +9548,6 @@ func rewriteValue386_Op386MOVSDloadidx8_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVSDloadidx8)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -9853,7 +9562,7 @@ func rewriteValue386_Op386MOVSDloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -9861,7 +9570,6 @@ func rewriteValue386_Op386MOVSDloadidx8_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVSDloadidx8)
                v.AuxInt = int64(int32(c + 8*d))
                v.Aux = sym
@@ -9881,7 +9589,7 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -9889,7 +9597,6 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -9907,7 +9614,7 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -9916,7 +9623,6 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9934,18 +9640,16 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9964,18 +9668,16 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9994,16 +9696,14 @@ func rewriteValue386_Op386MOVSDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10025,7 +9725,7 @@ func rewriteValue386_Op386MOVSDstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10034,7 +9734,6 @@ func rewriteValue386_Op386MOVSDstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSDstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10050,7 +9749,7 @@ func rewriteValue386_Op386MOVSDstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10059,7 +9758,6 @@ func rewriteValue386_Op386MOVSDstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSDstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10078,7 +9776,7 @@ func rewriteValue386_Op386MOVSDstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10087,7 +9785,6 @@ func rewriteValue386_Op386MOVSDstoreidx8_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSDstoreidx8)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10103,7 +9800,7 @@ func rewriteValue386_Op386MOVSDstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10112,7 +9809,6 @@ func rewriteValue386_Op386MOVSDstoreidx8_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSDstoreidx8)
                v.AuxInt = int64(int32(c + 8*d))
                v.Aux = sym
@@ -10153,14 +9849,13 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10177,7 +9872,7 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -10185,7 +9880,6 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -10202,17 +9896,15 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10230,17 +9922,15 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10258,15 +9948,13 @@ func rewriteValue386_Op386MOVSSload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10287,7 +9975,7 @@ func rewriteValue386_Op386MOVSSloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10295,7 +9983,6 @@ func rewriteValue386_Op386MOVSSloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVSSloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10310,7 +9997,7 @@ func rewriteValue386_Op386MOVSSloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10318,7 +10005,6 @@ func rewriteValue386_Op386MOVSSloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVSSloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10336,7 +10022,7 @@ func rewriteValue386_Op386MOVSSloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10344,7 +10030,6 @@ func rewriteValue386_Op386MOVSSloadidx4_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVSSloadidx4)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10359,7 +10044,7 @@ func rewriteValue386_Op386MOVSSloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10367,7 +10052,6 @@ func rewriteValue386_Op386MOVSSloadidx4_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVSSloadidx4)
                v.AuxInt = int64(int32(c + 4*d))
                v.Aux = sym
@@ -10387,7 +10071,7 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10395,7 +10079,6 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10413,7 +10096,7 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -10422,7 +10105,6 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -10440,18 +10122,16 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10470,18 +10150,16 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10500,16 +10178,14 @@ func rewriteValue386_Op386MOVSSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10531,7 +10207,7 @@ func rewriteValue386_Op386MOVSSstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10540,7 +10216,6 @@ func rewriteValue386_Op386MOVSSstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSSstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10556,7 +10231,7 @@ func rewriteValue386_Op386MOVSSstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10565,7 +10240,6 @@ func rewriteValue386_Op386MOVSSstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSSstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10584,7 +10258,7 @@ func rewriteValue386_Op386MOVSSstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -10593,7 +10267,6 @@ func rewriteValue386_Op386MOVSSstoreidx4_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSSstoreidx4)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -10609,7 +10282,7 @@ func rewriteValue386_Op386MOVSSstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -10618,7 +10291,6 @@ func rewriteValue386_Op386MOVSSstoreidx4_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVSSstoreidx4)
                v.AuxInt = int64(int32(c + 4*d))
                v.Aux = sym
@@ -10642,9 +10314,8 @@ func rewriteValue386_Op386MOVWLSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -10711,7 +10382,7 @@ func rewriteValue386_Op386MOVWLSXload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -10719,7 +10390,6 @@ func rewriteValue386_Op386MOVWLSXload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -10744,9 +10414,8 @@ func rewriteValue386_Op386MOVWLZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -10770,10 +10439,9 @@ func rewriteValue386_Op386MOVWLZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -10798,10 +10466,9 @@ func rewriteValue386_Op386MOVWLZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -10866,14 +10533,13 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10890,7 +10556,7 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -10898,7 +10564,6 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -10915,17 +10580,15 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10943,17 +10606,15 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL2 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10971,15 +10632,13 @@ func rewriteValue386_Op386MOVWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -11018,7 +10677,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -11028,7 +10687,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -11043,7 +10701,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -11053,7 +10711,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -11068,7 +10725,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11076,7 +10733,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11091,7 +10747,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -11099,7 +10755,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11114,7 +10769,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -11122,7 +10777,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11137,7 +10791,7 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11145,7 +10799,6 @@ func rewriteValue386_Op386MOVWloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11163,7 +10816,7 @@ func rewriteValue386_Op386MOVWloadidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11171,7 +10824,6 @@ func rewriteValue386_Op386MOVWloadidx2_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx2)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11186,7 +10838,7 @@ func rewriteValue386_Op386MOVWloadidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -11194,7 +10846,6 @@ func rewriteValue386_Op386MOVWloadidx2_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWloadidx2)
                v.AuxInt = int64(int32(c + 2*d))
                v.Aux = sym
@@ -11214,14 +10865,13 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVWLSX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -11236,14 +10886,13 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVWLZX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -11258,7 +10907,7 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11266,7 +10915,6 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -11284,14 +10932,13 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -11308,7 +10955,7 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -11317,7 +10964,6 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -11335,18 +10981,16 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11365,18 +11009,16 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL2 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11395,16 +11037,14 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -11443,14 +11083,13 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11486,7 +11125,7 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -11500,7 +11139,6 @@ func rewriteValue386_Op386MOVWstore_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11523,14 +11161,13 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -11547,7 +11184,7 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -11555,7 +11192,6 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -11572,17 +11208,15 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11600,17 +11234,15 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL2 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11628,15 +11260,13 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(Op386MOVWstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -11661,11 +11291,10 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -11692,11 +11321,10 @@ func rewriteValue386_Op386MOVWstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -11716,7 +11344,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -11726,7 +11354,6 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWstoreconstidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -11741,7 +11368,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11749,7 +11376,6 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -11764,7 +11390,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -11772,7 +11398,6 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWstoreconstidx1)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -11798,14 +11423,13 @@ func rewriteValue386_Op386MOVWstoreconstidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -11827,7 +11451,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11835,7 +11459,6 @@ func rewriteValue386_Op386MOVWstoreconstidx2_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWstoreconstidx2)
                v.AuxInt = ValAndOff(x).add(c)
                v.Aux = sym
@@ -11850,7 +11473,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -11858,7 +11481,6 @@ func rewriteValue386_Op386MOVWstoreconstidx2_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(Op386MOVWstoreconstidx2)
                v.AuxInt = ValAndOff(x).add(2 * c)
                v.Aux = sym
@@ -11884,14 +11506,13 @@ func rewriteValue386_Op386MOVWstoreconstidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -11915,7 +11536,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386SHLLconst {
@@ -11926,7 +11547,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -11942,7 +11562,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386SHLLconst {
                        break
@@ -11953,7 +11573,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -11969,7 +11588,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -11978,7 +11597,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -11994,7 +11612,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -12003,7 +11621,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -12019,7 +11636,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -12028,7 +11645,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -12044,7 +11660,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -12053,7 +11669,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx1)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -12090,7 +11705,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12100,7 +11715,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12140,7 +11754,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12150,7 +11764,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12190,7 +11803,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12200,7 +11813,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12240,7 +11852,7 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12250,7 +11862,6 @@ func rewriteValue386_Op386MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12291,7 +11902,7 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12308,7 +11919,6 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12346,7 +11956,7 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12363,7 +11973,6 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12401,7 +12010,7 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12418,7 +12027,6 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12456,7 +12064,7 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12473,7 +12081,6 @@ func rewriteValue386_Op386MOVWstoreidx1_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12496,7 +12103,7 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -12505,7 +12112,6 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx2)
                v.AuxInt = int64(int32(c + d))
                v.Aux = sym
@@ -12521,7 +12127,7 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -12530,7 +12136,6 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(Op386MOVWstoreidx2)
                v.AuxInt = int64(int32(c + 2*d))
                v.Aux = sym
@@ -12567,7 +12172,7 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12577,7 +12182,6 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12618,7 +12222,7 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12635,7 +12239,6 @@ func rewriteValue386_Op386MOVWstoreidx2_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12674,13 +12277,12 @@ func rewriteValue386_Op386MULL_0(v *Value) bool {
        // cond:
        // result: (MULLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386MULLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -12698,9 +12300,8 @@ func rewriteValue386_Op386MULL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -12716,17 +12317,15 @@ func rewriteValue386_Op386MULL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (MULLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -12750,10 +12349,9 @@ func rewriteValue386_Op386MULL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -12770,18 +12368,16 @@ func rewriteValue386_Op386MULL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (MULLloadidx4 x [off] {sym} ptr idx mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
-               x := v.Args[1]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -13307,7 +12903,7 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -13315,7 +12911,6 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -13333,7 +12928,7 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -13342,7 +12937,6 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13360,7 +12954,7 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -13368,10 +12962,8 @@ func rewriteValue386_Op386MULLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -13395,7 +12987,7 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -13404,7 +12996,6 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -13423,7 +13014,7 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -13432,7 +13023,6 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -13451,7 +13041,7 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -13461,7 +13051,6 @@ func rewriteValue386_Op386MULLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13491,9 +13080,8 @@ func rewriteValue386_Op386MULSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -13509,17 +13097,15 @@ func rewriteValue386_Op386MULSD_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)
        // result: (MULSDload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVSDload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -13542,7 +13128,7 @@ func rewriteValue386_Op386MULSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -13550,7 +13136,6 @@ func rewriteValue386_Op386MULSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -13568,7 +13153,7 @@ func rewriteValue386_Op386MULSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -13577,7 +13162,6 @@ func rewriteValue386_Op386MULSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13606,9 +13190,8 @@ func rewriteValue386_Op386MULSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -13624,17 +13207,15 @@ func rewriteValue386_Op386MULSS_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)
        // result: (MULSSload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVSSload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -13657,7 +13238,7 @@ func rewriteValue386_Op386MULSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -13665,7 +13246,6 @@ func rewriteValue386_Op386MULSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -13683,7 +13263,7 @@ func rewriteValue386_Op386MULSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -13692,7 +13272,6 @@ func rewriteValue386_Op386MULSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13759,13 +13338,12 @@ func rewriteValue386_Op386ORL_0(v *Value) bool {
        // cond:
        // result: (ORLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386ORLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -13949,9 +13527,8 @@ func rewriteValue386_Op386ORL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -13967,17 +13544,15 @@ func rewriteValue386_Op386ORL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ORLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -14006,10 +13581,9 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -14026,18 +13600,16 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ORLloadidx4 x [off] {sym} ptr idx mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
-               x := v.Args[1]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -14054,9 +13626,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -14075,9 +13646,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s0 := v.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14131,9 +13701,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != Op386MOVBload {
                        break
@@ -14178,9 +13747,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14261,9 +13829,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWload {
                        break
@@ -14332,9 +13899,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -14408,9 +13974,8 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -14477,10 +14042,9 @@ func rewriteValue386_Op386ORL_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := v.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14535,10 +14099,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := v.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14589,10 +14152,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := v.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14643,10 +14205,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := v.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -14704,10 +14265,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != Op386MOVBloadidx1 {
                        break
@@ -14758,10 +14318,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != Op386MOVBloadidx1 {
                        break
@@ -14812,10 +14371,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != Op386MOVBloadidx1 {
                        break
@@ -14866,10 +14424,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != Op386MOVBloadidx1 {
                        break
@@ -14918,10 +14475,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15002,10 +14558,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15086,10 +14641,9 @@ func rewriteValue386_Op386ORL_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15174,10 +14728,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15265,10 +14818,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -15349,10 +14901,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -15433,10 +14984,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -15517,10 +15067,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -15594,10 +15143,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15678,10 +15226,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15762,10 +15309,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15846,10 +15392,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s0 := o0.Args[1]
                if s0.Op != Op386SHLLconst {
                        break
@@ -15937,10 +15482,9 @@ func rewriteValue386_Op386ORL_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -16025,10 +15569,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -16109,10 +15652,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -16193,10 +15735,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := o0.Args[1]
                if x0.Op != Op386MOVWloadidx1 {
                        break
@@ -16272,10 +15813,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16356,10 +15896,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16440,10 +15979,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16524,10 +16062,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16608,10 +16145,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16692,10 +16228,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16776,10 +16311,9 @@ func rewriteValue386_Op386ORL_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16864,10 +16398,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -16948,10 +16481,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17032,10 +16564,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17116,10 +16647,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17200,10 +16730,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17284,10 +16813,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17368,10 +16896,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17452,10 +16979,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                p := x2.Args[0]
                idx := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17536,10 +17062,9 @@ func rewriteValue386_Op386ORL_50(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               = x2.Args[2]
+               mem := x2.Args[2]
                idx := x2.Args[0]
                p := x2.Args[1]
-               mem := x2.Args[2]
                o0 := v.Args[1]
                if o0.Op != Op386ORL {
                        break
@@ -17656,14 +17181,13 @@ func rewriteValue386_Op386ORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -17680,7 +17204,7 @@ func rewriteValue386_Op386ORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -17688,7 +17212,6 @@ func rewriteValue386_Op386ORLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17710,7 +17233,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -17718,7 +17241,6 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -17736,7 +17258,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -17744,7 +17266,6 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2 * 4)) {
                        break
                }
@@ -17762,7 +17283,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -17771,7 +17292,6 @@ func rewriteValue386_Op386ORLconstmodifyidx4_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17794,7 +17314,7 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -17802,7 +17322,6 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -17820,7 +17339,7 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -17829,7 +17348,6 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17847,7 +17365,7 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -17855,10 +17373,8 @@ func rewriteValue386_Op386ORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -17882,7 +17398,7 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -17891,7 +17407,6 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -17910,7 +17425,7 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -17919,7 +17434,6 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -17938,7 +17452,7 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -17948,7 +17462,6 @@ func rewriteValue386_Op386ORLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17972,7 +17485,7 @@ func rewriteValue386_Op386ORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -17980,7 +17493,6 @@ func rewriteValue386_Op386ORLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -17998,7 +17510,7 @@ func rewriteValue386_Op386ORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -18007,7 +17519,6 @@ func rewriteValue386_Op386ORLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -18030,7 +17541,7 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -18039,7 +17550,6 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -18058,7 +17568,7 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -18067,7 +17577,6 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -18086,7 +17595,7 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -18096,7 +17605,6 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -18115,7 +17623,7 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -18123,7 +17631,6 @@ func rewriteValue386_Op386ORLmodifyidx4_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               mem := v.Args[3]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -18404,14 +17911,13 @@ func rewriteValue386_Op386SBBL_0(v *Value) bool {
        // cond:
        // result: (SBBLconst [c] x f)
        for {
-               = v.Args[2]
+               f := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               f := v.Args[2]
                v.reset(Op386SBBLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -19483,13 +18989,12 @@ func rewriteValue386_Op386SUBL_0(v *Value) bool {
        // cond:
        // result: (NEGL (SUBLconst <v.Type> x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386NEGL)
                v0 := b.NewValue0(v.Pos, Op386SUBLconst, v.Type)
                v0.AuxInt = c
@@ -19509,9 +19014,8 @@ func rewriteValue386_Op386SUBL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -19535,10 +19039,9 @@ func rewriteValue386_Op386SUBL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -19555,9 +19058,8 @@ func rewriteValue386_Op386SUBL_0(v *Value) bool {
        // cond:
        // result: (MOVLconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(Op386MOVLconst)
@@ -19621,7 +19123,7 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -19629,7 +19131,6 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19647,7 +19148,7 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -19656,7 +19157,6 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -19674,7 +19174,7 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -19682,10 +19182,8 @@ func rewriteValue386_Op386SUBLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -19709,7 +19207,7 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -19718,7 +19216,6 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19737,7 +19234,7 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -19746,7 +19243,6 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -19765,7 +19261,7 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -19775,7 +19271,6 @@ func rewriteValue386_Op386SUBLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -19799,7 +19294,7 @@ func rewriteValue386_Op386SUBLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -19807,7 +19302,6 @@ func rewriteValue386_Op386SUBLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19825,7 +19319,7 @@ func rewriteValue386_Op386SUBLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -19834,7 +19328,6 @@ func rewriteValue386_Op386SUBLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -19857,7 +19350,7 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -19866,7 +19359,6 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19885,7 +19377,7 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -19894,7 +19386,6 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -19913,7 +19404,7 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -19923,7 +19414,6 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -19942,7 +19432,7 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -19950,7 +19440,6 @@ func rewriteValue386_Op386SUBLmodifyidx4_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               mem := v.Args[3]
                if !(validValAndOff(-c, off)) {
                        break
                }
@@ -19979,9 +19468,8 @@ func rewriteValue386_Op386SUBSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -20004,7 +19492,7 @@ func rewriteValue386_Op386SUBSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20012,7 +19500,6 @@ func rewriteValue386_Op386SUBSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20030,7 +19517,7 @@ func rewriteValue386_Op386SUBSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -20039,7 +19526,6 @@ func rewriteValue386_Op386SUBSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20068,9 +19554,8 @@ func rewriteValue386_Op386SUBSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && !config.use387 && clobber(l)) {
                        break
                }
@@ -20093,7 +19578,7 @@ func rewriteValue386_Op386SUBSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20101,7 +19586,6 @@ func rewriteValue386_Op386SUBSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20119,7 +19603,7 @@ func rewriteValue386_Op386SUBSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -20128,7 +19612,6 @@ func rewriteValue386_Op386SUBSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20163,13 +19646,12 @@ func rewriteValue386_Op386XORL_0(v *Value) bool {
        // cond:
        // result: (XORLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(Op386XORLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -20353,9 +19835,8 @@ func rewriteValue386_Op386XORL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -20371,17 +19852,15 @@ func rewriteValue386_Op386XORL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (XORLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -20408,10 +19887,9 @@ func rewriteValue386_Op386XORL_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -20428,18 +19906,16 @@ func rewriteValue386_Op386XORL_10(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (XORLloadidx4 x [off] {sym} ptr idx mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != Op386MOVLloadidx4 {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               = l.Args[2]
+               mem := l.Args[2]
                ptr := l.Args[0]
                idx := l.Args[1]
-               mem := l.Args[2]
-               x := v.Args[1]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -20456,9 +19932,8 @@ func rewriteValue386_Op386XORL_10(v *Value) bool {
        // cond:
        // result: (MOVLconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(Op386MOVLconst)
@@ -20523,14 +19998,13 @@ func rewriteValue386_Op386XORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -20547,7 +20021,7 @@ func rewriteValue386_Op386XORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -20555,7 +20029,6 @@ func rewriteValue386_Op386XORLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20577,7 +20050,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -20585,7 +20058,6 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -20603,7 +20075,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20611,7 +20083,6 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2 * 4)) {
                        break
                }
@@ -20629,7 +20100,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -20638,7 +20109,6 @@ func rewriteValue386_Op386XORLconstmodifyidx4_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20661,7 +20131,7 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20669,7 +20139,6 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20687,7 +20156,7 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -20696,7 +20165,6 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20714,7 +20182,7 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL4 {
@@ -20722,10 +20190,8 @@ func rewriteValue386_Op386XORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                idx := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -20749,7 +20215,7 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20758,7 +20224,6 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20777,7 +20242,7 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                base := v.Args[1]
                v_2 := v.Args[2]
@@ -20786,7 +20251,6 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
                }
                off2 := v_2.AuxInt
                idx := v_2.Args[0]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -20805,7 +20269,7 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386LEAL {
@@ -20815,7 +20279,6 @@ func rewriteValue386_Op386XORLloadidx4_0(v *Value) bool {
                sym2 := v_1.Aux
                base := v_1.Args[0]
                idx := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20839,7 +20302,7 @@ func rewriteValue386_Op386XORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -20847,7 +20310,6 @@ func rewriteValue386_Op386XORLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20865,7 +20327,7 @@ func rewriteValue386_Op386XORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -20874,7 +20336,6 @@ func rewriteValue386_Op386XORLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20897,7 +20358,7 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386ADDLconst {
                        break
@@ -20906,7 +20367,6 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -20925,7 +20385,7 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                base := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != Op386ADDLconst {
@@ -20934,7 +20394,6 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
                off2 := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2*4)) {
                        break
                }
@@ -20953,7 +20412,7 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != Op386LEAL {
                        break
@@ -20963,7 +20422,6 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
                base := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -20982,7 +20440,7 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -20990,7 +20448,6 @@ func rewriteValue386_Op386XORLmodifyidx4_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               mem := v.Args[3]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -21009,9 +20466,8 @@ func rewriteValue386_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21023,9 +20479,8 @@ func rewriteValue386_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21037,9 +20492,8 @@ func rewriteValue386_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (ADDSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -21051,9 +20505,8 @@ func rewriteValue386_OpAdd32carry_0(v *Value) bool {
        // cond:
        // result: (ADDLcarry x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDLcarry)
                v.AddArg(x)
                v.AddArg(y)
@@ -21065,10 +20518,9 @@ func rewriteValue386_OpAdd32withcarry_0(v *Value) bool {
        // cond:
        // result: (ADCL x y c)
        for {
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(Op386ADCL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21081,9 +20533,8 @@ func rewriteValue386_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (ADDSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -21095,9 +20546,8 @@ func rewriteValue386_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21109,9 +20559,8 @@ func rewriteValue386_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21136,9 +20585,8 @@ func rewriteValue386_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21150,9 +20598,8 @@ func rewriteValue386_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21164,9 +20611,8 @@ func rewriteValue386_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21178,9 +20624,8 @@ func rewriteValue386_OpAndB_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21192,9 +20637,8 @@ func rewriteValue386_OpAvg32u_0(v *Value) bool {
        // cond:
        // result: (AVGLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386AVGLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -21218,10 +20662,9 @@ func rewriteValue386_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386CALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -21411,9 +20854,8 @@ func rewriteValue386_OpDiv16_0(v *Value) bool {
        // result: (DIVW [a] x y)
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVW)
                v.AuxInt = a
                v.AddArg(x)
@@ -21426,9 +20868,8 @@ func rewriteValue386_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (DIVWU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -21441,9 +20882,8 @@ func rewriteValue386_OpDiv32_0(v *Value) bool {
        // result: (DIVL [a] x y)
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVL)
                v.AuxInt = a
                v.AddArg(x)
@@ -21456,9 +20896,8 @@ func rewriteValue386_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (DIVSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -21470,9 +20909,8 @@ func rewriteValue386_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (DIVLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -21484,9 +20922,8 @@ func rewriteValue386_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (DIVSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -21500,9 +20937,8 @@ func rewriteValue386_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (DIVW (SignExt8to16 x) (SignExt8to16 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
                v0.AddArg(x)
@@ -21520,9 +20956,8 @@ func rewriteValue386_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386DIVWU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
                v0.AddArg(x)
@@ -21539,9 +20974,8 @@ func rewriteValue386_OpEq16_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQ)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -21556,9 +20990,8 @@ func rewriteValue386_OpEq32_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQ)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21573,9 +21006,8 @@ func rewriteValue386_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (SETEQF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -21590,9 +21022,8 @@ func rewriteValue386_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (SETEQF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -21607,9 +21038,8 @@ func rewriteValue386_OpEq8_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQ)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21624,9 +21054,8 @@ func rewriteValue386_OpEqB_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQ)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21641,9 +21070,8 @@ func rewriteValue386_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETEQ)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21658,9 +21086,8 @@ func rewriteValue386_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGE)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -21675,9 +21102,8 @@ func rewriteValue386_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETAE)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -21692,9 +21118,8 @@ func rewriteValue386_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21709,9 +21134,8 @@ func rewriteValue386_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -21726,9 +21150,8 @@ func rewriteValue386_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETAE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21743,9 +21166,8 @@ func rewriteValue386_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -21760,9 +21182,8 @@ func rewriteValue386_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21777,9 +21198,8 @@ func rewriteValue386_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETAE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21832,9 +21252,8 @@ func rewriteValue386_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETG)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -21849,9 +21268,8 @@ func rewriteValue386_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETA)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -21866,9 +21284,8 @@ func rewriteValue386_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETG)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21883,9 +21300,8 @@ func rewriteValue386_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -21900,9 +21316,8 @@ func rewriteValue386_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETA)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -21917,9 +21332,8 @@ func rewriteValue386_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -21934,9 +21348,8 @@ func rewriteValue386_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETG)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21951,9 +21364,8 @@ func rewriteValue386_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETA)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -21967,9 +21379,8 @@ func rewriteValue386_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (HMULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386HMULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -21981,9 +21392,8 @@ func rewriteValue386_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (HMULLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386HMULLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -21996,9 +21406,8 @@ func rewriteValue386_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(Op386CALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -22012,9 +21421,8 @@ func rewriteValue386_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPL idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(Op386SETB)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(idx)
@@ -22044,9 +21452,8 @@ func rewriteValue386_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPL idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(Op386SETBE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(idx)
@@ -22061,9 +21468,8 @@ func rewriteValue386_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETLE)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -22078,9 +21484,8 @@ func rewriteValue386_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETBE)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -22095,9 +21500,8 @@ func rewriteValue386_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETLE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -22112,9 +21516,8 @@ func rewriteValue386_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(y)
@@ -22129,9 +21532,8 @@ func rewriteValue386_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETBE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -22146,9 +21548,8 @@ func rewriteValue386_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(y)
@@ -22163,9 +21564,8 @@ func rewriteValue386_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETLE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -22180,9 +21580,8 @@ func rewriteValue386_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETBE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -22197,9 +21596,8 @@ func rewriteValue386_OpLess16_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETL)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -22214,9 +21612,8 @@ func rewriteValue386_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETB)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -22231,9 +21628,8 @@ func rewriteValue386_OpLess32_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETL)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -22248,9 +21644,8 @@ func rewriteValue386_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(y)
@@ -22265,9 +21660,8 @@ func rewriteValue386_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETB)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -22282,9 +21676,8 @@ func rewriteValue386_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETGF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(y)
@@ -22299,9 +21692,8 @@ func rewriteValue386_OpLess8_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETL)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -22316,9 +21708,8 @@ func rewriteValue386_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETB)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -22333,9 +21724,8 @@ func rewriteValue386_OpLoad_0(v *Value) bool {
        // result: (MOVLload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) || isPtr(t)) {
                        break
                }
@@ -22349,9 +21739,8 @@ func rewriteValue386_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t)) {
                        break
                }
@@ -22365,9 +21754,8 @@ func rewriteValue386_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean() || is8BitInt(t)) {
                        break
                }
@@ -22381,9 +21769,8 @@ func rewriteValue386_OpLoad_0(v *Value) bool {
        // result: (MOVSSload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -22397,9 +21784,8 @@ func rewriteValue386_OpLoad_0(v *Value) bool {
        // result: (MOVSDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -22431,9 +21817,8 @@ func rewriteValue386_OpLsh16x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22455,9 +21840,8 @@ func rewriteValue386_OpLsh16x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22518,9 +21902,8 @@ func rewriteValue386_OpLsh16x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22542,9 +21925,8 @@ func rewriteValue386_OpLsh32x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22566,9 +21948,8 @@ func rewriteValue386_OpLsh32x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22629,9 +22010,8 @@ func rewriteValue386_OpLsh32x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22653,9 +22033,8 @@ func rewriteValue386_OpLsh8x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22677,9 +22056,8 @@ func rewriteValue386_OpLsh8x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22740,9 +22118,8 @@ func rewriteValue386_OpLsh8x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
@@ -22762,10 +22139,9 @@ func rewriteValue386_OpMod16_0(v *Value) bool {
        // cond:
        // result: (MODW [a] x y)
        for {
-               a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
+               a := v.AuxInt
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODW)
                v.AuxInt = a
                v.AddArg(x)
@@ -22778,9 +22154,8 @@ func rewriteValue386_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (MODWU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -22793,9 +22168,8 @@ func rewriteValue386_OpMod32_0(v *Value) bool {
        // result: (MODL [a] x y)
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODL)
                v.AuxInt = a
                v.AddArg(x)
@@ -22808,9 +22182,8 @@ func rewriteValue386_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (MODLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -22824,9 +22197,8 @@ func rewriteValue386_OpMod8_0(v *Value) bool {
        // cond:
        // result: (MODW (SignExt8to16 x) (SignExt8to16 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
                v0.AddArg(x)
@@ -22844,9 +22216,8 @@ func rewriteValue386_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (MODWU (ZeroExt8to16 x) (ZeroExt8to16 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MODWU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
                v0.AddArg(x)
@@ -22867,7 +22238,6 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -22881,10 +22251,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
@@ -22901,10 +22270,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
@@ -22921,10 +22289,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
@@ -22941,10 +22308,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -22970,10 +22336,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -22999,10 +22364,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -23028,10 +22392,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLstore)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -23057,10 +22420,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386MOVLstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -23084,10 +22446,9 @@ func rewriteValue386_OpMove_0(v *Value) bool {
        // result: (Move [s-s%4] (ADDLconst <dst.Type> dst [s%4]) (ADDLconst <src.Type> src [s%4]) (MOVLstore dst (MOVLload src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 8 && s%4 != 0) {
                        break
                }
@@ -23122,10 +22483,9 @@ func rewriteValue386_OpMove_10(v *Value) bool {
        // result: (DUFFCOPY [10*(128-s/4)] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 8 && s <= 4*128 && s%4 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -23141,10 +22501,9 @@ func rewriteValue386_OpMove_10(v *Value) bool {
        // result: (REPMOVSL dst src (MOVLconst [s/4]) mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !((s > 4*128 || config.noDuffDevice) && s%4 == 0) {
                        break
                }
@@ -23164,9 +22523,8 @@ func rewriteValue386_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23178,9 +22536,8 @@ func rewriteValue386_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23192,9 +22549,8 @@ func rewriteValue386_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (MULSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -23206,9 +22562,8 @@ func rewriteValue386_OpMul32uhilo_0(v *Value) bool {
        // cond:
        // result: (MULLQU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULLQU)
                v.AddArg(x)
                v.AddArg(y)
@@ -23220,9 +22575,8 @@ func rewriteValue386_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (MULSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -23234,9 +22588,8 @@ func rewriteValue386_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23348,9 +22701,8 @@ func rewriteValue386_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNE)
                v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -23365,9 +22717,8 @@ func rewriteValue386_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -23382,9 +22733,8 @@ func rewriteValue386_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (SETNEF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -23399,9 +22749,8 @@ func rewriteValue386_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (SETNEF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNEF)
                v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -23416,9 +22765,8 @@ func rewriteValue386_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -23433,9 +22781,8 @@ func rewriteValue386_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNE)
                v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -23450,9 +22797,8 @@ func rewriteValue386_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SETNE)
                v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -23466,9 +22812,8 @@ func rewriteValue386_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(Op386LoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -23505,9 +22850,8 @@ func rewriteValue386_OpOr16_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23519,9 +22863,8 @@ func rewriteValue386_OpOr32_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23533,9 +22876,8 @@ func rewriteValue386_OpOr8_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23547,9 +22889,8 @@ func rewriteValue386_OpOrB_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -23587,9 +22928,8 @@ func rewriteValue386_OpRsh16Ux16_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPWconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
@@ -23611,9 +22951,8 @@ func rewriteValue386_OpRsh16Ux32_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPLconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
@@ -23674,9 +23013,8 @@ func rewriteValue386_OpRsh16Ux8_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPBconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
@@ -23698,9 +23036,8 @@ func rewriteValue386_OpRsh16x16_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
@@ -23725,9 +23062,8 @@ func rewriteValue386_OpRsh16x32_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
@@ -23793,9 +23129,8 @@ func rewriteValue386_OpRsh16x8_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
@@ -23820,9 +23155,8 @@ func rewriteValue386_OpRsh32Ux16_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
@@ -23844,9 +23178,8 @@ func rewriteValue386_OpRsh32Ux32_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
@@ -23907,9 +23240,8 @@ func rewriteValue386_OpRsh32Ux8_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
@@ -23931,9 +23263,8 @@ func rewriteValue386_OpRsh32x16_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
@@ -23958,9 +23289,8 @@ func rewriteValue386_OpRsh32x32_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
@@ -24026,9 +23356,8 @@ func rewriteValue386_OpRsh32x8_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
@@ -24053,9 +23382,8 @@ func rewriteValue386_OpRsh8Ux16_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPWconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
@@ -24077,9 +23405,8 @@ func rewriteValue386_OpRsh8Ux32_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPLconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
@@ -24140,9 +23467,8 @@ func rewriteValue386_OpRsh8Ux8_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPBconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386ANDL)
                v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
@@ -24164,9 +23490,8 @@ func rewriteValue386_OpRsh8x16_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
@@ -24191,9 +23516,8 @@ func rewriteValue386_OpRsh8x32_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
@@ -24259,9 +23583,8 @@ func rewriteValue386_OpRsh8x8_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
@@ -24290,9 +23613,8 @@ func rewriteValue386_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpMul32uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSelect0)
                v.Type = typ.UInt32
                v0 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
@@ -24314,9 +23636,8 @@ func rewriteValue386_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMul32uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(Op386SETO)
                v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
@@ -24421,10 +23742,9 @@ func rewriteValue386_OpStore_0(v *Value) bool {
        // result: (MOVSDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -24439,10 +23759,9 @@ func rewriteValue386_OpStore_0(v *Value) bool {
        // result: (MOVSSstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -24457,10 +23776,9 @@ func rewriteValue386_OpStore_0(v *Value) bool {
        // result: (MOVLstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4) {
                        break
                }
@@ -24475,10 +23793,9 @@ func rewriteValue386_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -24493,10 +23810,9 @@ func rewriteValue386_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -24513,9 +23829,8 @@ func rewriteValue386_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24527,9 +23842,8 @@ func rewriteValue386_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24541,9 +23855,8 @@ func rewriteValue386_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (SUBSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -24555,9 +23868,8 @@ func rewriteValue386_OpSub32carry_0(v *Value) bool {
        // cond:
        // result: (SUBLcarry x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBLcarry)
                v.AddArg(x)
                v.AddArg(y)
@@ -24569,10 +23881,9 @@ func rewriteValue386_OpSub32withcarry_0(v *Value) bool {
        // cond:
        // result: (SBBL x y c)
        for {
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(Op386SBBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24585,9 +23896,8 @@ func rewriteValue386_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (SUBSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -24599,9 +23909,8 @@ func rewriteValue386_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24613,9 +23922,8 @@ func rewriteValue386_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24664,10 +23972,9 @@ func rewriteValue386_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(Op386LoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -24681,9 +23988,8 @@ func rewriteValue386_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24695,9 +24001,8 @@ func rewriteValue386_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24709,9 +24014,8 @@ func rewriteValue386_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(Op386XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -24728,7 +24032,6 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -24742,9 +24045,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVBstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -24758,9 +24060,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVWstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -24774,9 +24075,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -24790,9 +24090,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
@@ -24810,9 +24109,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -24830,9 +24128,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -24850,9 +24147,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
@@ -24868,9 +24164,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
        // result: (Zero [s-s%4] (ADDLconst destptr [s%4]) (MOVLstoreconst [0] destptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%4 != 0 && s > 4) {
                        break
                }
@@ -24894,9 +24189,8 @@ func rewriteValue386_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -24920,9 +24214,8 @@ func rewriteValue386_OpZero_10(v *Value) bool {
                if v.AuxInt != 12 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 8)
                v.AddArg(destptr)
@@ -24944,9 +24237,8 @@ func rewriteValue386_OpZero_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 12)
                v.AddArg(destptr)
@@ -24970,9 +24262,8 @@ func rewriteValue386_OpZero_10(v *Value) bool {
        // result: (DUFFZERO [1*(128-s/4)] destptr (MOVLconst [0]) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s > 16 && s <= 4*128 && s%4 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -24990,9 +24281,8 @@ func rewriteValue386_OpZero_10(v *Value) bool {
        // result: (REPSTOSL destptr (MOVLconst [s/4]) (MOVLconst [0]) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !((s > 4*128 || (config.noDuffDevice && s > 16)) && s%4 == 0) {
                        break
                }
index 0b87c2f382f956d430c42cd558dbc585853cd6a9..926c4a599cbcc11341e572bb6619b6460ba7a96d 100644 (file)
@@ -1161,14 +1161,13 @@ func rewriteValueAMD64_OpAMD64ADCQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADCQconst x [c] carry)
        for {
-               = v.Args[2]
+               carry := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               carry := v.Args[2]
                if !(is32Bit(c)) {
                        break
                }
@@ -1182,14 +1181,13 @@ func rewriteValueAMD64_OpAMD64ADCQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADCQconst x [c] carry)
        for {
-               = v.Args[2]
+               carry := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               carry := v.Args[2]
                if !(is32Bit(c)) {
                        break
                }
@@ -1257,13 +1255,12 @@ func rewriteValueAMD64_OpAMD64ADDL_0(v *Value) bool {
        // cond:
        // result: (ADDLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64ADDLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -1458,7 +1455,7 @@ func rewriteValueAMD64_OpAMD64ADDL_0(v *Value) bool {
        // cond:
        // result: (LEAL8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -1467,7 +1464,6 @@ func rewriteValueAMD64_OpAMD64ADDL_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL8)
                v.AddArg(x)
                v.AddArg(y)
@@ -1499,7 +1495,7 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL4 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -1508,7 +1504,6 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL4)
                v.AddArg(x)
                v.AddArg(y)
@@ -1537,7 +1532,7 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -1546,7 +1541,6 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL2)
                v.AddArg(x)
                v.AddArg(y)
@@ -1562,9 +1556,8 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
                if v_1.Op != OpAMD64ADDL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
-               if y != v_1.Args[1] {
+               y := v_1.Args[1]
+               if y != v_1.Args[0] {
                        break
                }
                v.reset(OpAMD64LEAL2)
@@ -1576,17 +1569,15 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
-               if y != v_0.Args[1] {
+               y := v_0.Args[1]
+               if y != v_0.Args[0] {
                        break
                }
-               x := v.Args[1]
                v.reset(OpAMD64LEAL2)
                v.AddArg(x)
                v.AddArg(y)
@@ -1602,11 +1593,10 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
                if v_1.Op != OpAMD64ADDL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAMD64LEAL2)
                v.AddArg(y)
                v.AddArg(x)
@@ -1636,15 +1626,13 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAMD64LEAL2)
@@ -1656,15 +1644,14 @@ func rewriteValueAMD64_OpAMD64ADDL_10(v *Value) bool {
        // cond:
        // result: (LEAL2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDL {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAMD64LEAL2)
@@ -1679,14 +1666,13 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
        // cond:
        // result: (LEAL1 [c] x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                c := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpAMD64LEAL1)
                v.AuxInt = c
                v.AddArg(x)
@@ -1738,7 +1724,7 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
        // cond: x.Op != OpSB && y.Op != OpSB
        // result: (LEAL1 [c] {s} x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -1746,7 +1732,6 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
                c := v_0.AuxInt
                s := v_0.Aux
                y := v_0.Args[0]
-               x := v.Args[1]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -1777,13 +1762,12 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64NEGL {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -1801,9 +1785,8 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1819,17 +1802,15 @@ func rewriteValueAMD64_OpAMD64ADDL_20(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -1853,9 +1834,8 @@ func rewriteValueAMD64_OpAMD64ADDLconst_0(v *Value) bool {
                if v_0.Op != OpAMD64ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64LEAL1)
                v.AuxInt = c
                v.AddArg(x)
@@ -1913,9 +1893,8 @@ func rewriteValueAMD64_OpAMD64ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1937,9 +1916,8 @@ func rewriteValueAMD64_OpAMD64ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1961,9 +1939,8 @@ func rewriteValueAMD64_OpAMD64ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -1985,9 +1962,8 @@ func rewriteValueAMD64_OpAMD64ADDLconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -2068,14 +2044,13 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -2092,7 +2067,7 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -2100,7 +2075,6 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -2122,7 +2096,7 @@ func rewriteValueAMD64_OpAMD64ADDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -2130,7 +2104,6 @@ func rewriteValueAMD64_OpAMD64ADDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2148,7 +2121,7 @@ func rewriteValueAMD64_OpAMD64ADDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -2157,7 +2130,6 @@ func rewriteValueAMD64_OpAMD64ADDLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -2209,7 +2181,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -2217,7 +2189,6 @@ func rewriteValueAMD64_OpAMD64ADDLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -2235,7 +2206,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -2244,7 +2215,6 @@ func rewriteValueAMD64_OpAMD64ADDLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -2282,13 +2252,12 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADDQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -2374,7 +2343,7 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
        // cond:
        // result: (LEAQ8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -2383,7 +2352,6 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ8)
                v.AddArg(x)
                v.AddArg(y)
@@ -2412,7 +2380,7 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
        // cond:
        // result: (LEAQ4 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -2421,7 +2389,6 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ4)
                v.AddArg(x)
                v.AddArg(y)
@@ -2450,7 +2417,7 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
        // cond:
        // result: (LEAQ2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -2459,7 +2426,6 @@ func rewriteValueAMD64_OpAMD64ADDQ_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ2)
                v.AddArg(x)
                v.AddArg(y)
@@ -2478,9 +2444,8 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
                if v_1.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
-               if y != v_1.Args[1] {
+               y := v_1.Args[1]
+               if y != v_1.Args[0] {
                        break
                }
                v.reset(OpAMD64LEAQ2)
@@ -2492,17 +2457,15 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
        // cond:
        // result: (LEAQ2 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
-               if y != v_0.Args[1] {
+               y := v_0.Args[1]
+               if y != v_0.Args[0] {
                        break
                }
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ2)
                v.AddArg(x)
                v.AddArg(y)
@@ -2518,11 +2481,10 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
                if v_1.Op != OpAMD64ADDQ {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAMD64LEAQ2)
                v.AddArg(y)
                v.AddArg(x)
@@ -2552,15 +2514,13 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
        // cond:
        // result: (LEAQ2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAMD64LEAQ2)
@@ -2572,15 +2532,14 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
        // cond:
        // result: (LEAQ2 y x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAMD64LEAQ2)
@@ -2592,14 +2551,13 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
        // cond:
        // result: (LEAQ1 [c] x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                c := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpAMD64LEAQ1)
                v.AuxInt = c
                v.AddArg(x)
@@ -2651,7 +2609,7 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
        // cond: x.Op != OpSB && y.Op != OpSB
        // result: (LEAQ1 [c] {s} x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -2659,7 +2617,6 @@ func rewriteValueAMD64_OpAMD64ADDQ_10(v *Value) bool {
                c := v_0.AuxInt
                s := v_0.Aux
                y := v_0.Args[0]
-               x := v.Args[1]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -2693,13 +2650,12 @@ func rewriteValueAMD64_OpAMD64ADDQ_20(v *Value) bool {
        // cond:
        // result: (SUBQ x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64NEGQ {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64SUBQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -2717,9 +2673,8 @@ func rewriteValueAMD64_OpAMD64ADDQ_20(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2735,17 +2690,15 @@ func rewriteValueAMD64_OpAMD64ADDQ_20(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDQload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -2783,13 +2736,12 @@ func rewriteValueAMD64_OpAMD64ADDQcarry_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADDQconstcarry x [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -2810,9 +2762,8 @@ func rewriteValueAMD64_OpAMD64ADDQconst_0(v *Value) bool {
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64LEAQ1)
                v.AuxInt = c
                v.AddArg(x)
@@ -2870,9 +2821,8 @@ func rewriteValueAMD64_OpAMD64ADDQconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -2894,9 +2844,8 @@ func rewriteValueAMD64_OpAMD64ADDQconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -2918,9 +2867,8 @@ func rewriteValueAMD64_OpAMD64ADDQconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -2942,9 +2890,8 @@ func rewriteValueAMD64_OpAMD64ADDQconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -3027,14 +2974,13 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -3051,7 +2997,7 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -3059,7 +3005,6 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3081,7 +3026,7 @@ func rewriteValueAMD64_OpAMD64ADDQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -3089,7 +3034,6 @@ func rewriteValueAMD64_OpAMD64ADDQload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3107,7 +3051,7 @@ func rewriteValueAMD64_OpAMD64ADDQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -3116,7 +3060,6 @@ func rewriteValueAMD64_OpAMD64ADDQload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3168,7 +3111,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -3176,7 +3119,6 @@ func rewriteValueAMD64_OpAMD64ADDQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3194,7 +3136,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -3203,7 +3145,6 @@ func rewriteValueAMD64_OpAMD64ADDQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3230,9 +3171,8 @@ func rewriteValueAMD64_OpAMD64ADDSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3248,17 +3188,15 @@ func rewriteValueAMD64_OpAMD64ADDSD_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDSDload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVSDload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3281,7 +3219,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -3289,7 +3227,6 @@ func rewriteValueAMD64_OpAMD64ADDSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3307,7 +3244,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -3316,7 +3253,6 @@ func rewriteValueAMD64_OpAMD64ADDSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3374,9 +3310,8 @@ func rewriteValueAMD64_OpAMD64ADDSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3392,17 +3327,15 @@ func rewriteValueAMD64_OpAMD64ADDSS_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ADDSSload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVSSload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3425,7 +3358,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -3433,7 +3366,6 @@ func rewriteValueAMD64_OpAMD64ADDSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3451,7 +3383,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -3460,7 +3392,6 @@ func rewriteValueAMD64_OpAMD64ADDSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3512,7 +3443,7 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTRL x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64NOTL {
                        break
@@ -3521,7 +3452,7 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
                if v_0_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_0_0.Args[1]
+               y := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -3529,8 +3460,6 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -3553,7 +3482,7 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
                if v_1_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_1_0.Args[1]
+               y := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -3561,7 +3490,6 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               y := v_1_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -3574,13 +3502,12 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
        // cond: isUint32PowerOfTwo(^c) && uint64(^c) >= 128 && !config.nacl
        // result: (BTRLconst [log2uint32(^c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint32PowerOfTwo(^c) && uint64(^c) >= 128 && !config.nacl) {
                        break
                }
@@ -3628,13 +3555,12 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
        // cond:
        // result: (ANDLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64ANDLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -3644,9 +3570,8 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -3666,9 +3591,8 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3684,17 +3608,15 @@ func rewriteValueAMD64_OpAMD64ANDL_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ANDLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -3830,14 +3752,13 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -3854,7 +3775,7 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -3862,7 +3783,6 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3884,7 +3804,7 @@ func rewriteValueAMD64_OpAMD64ANDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -3892,7 +3812,6 @@ func rewriteValueAMD64_OpAMD64ANDLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3910,7 +3829,7 @@ func rewriteValueAMD64_OpAMD64ANDLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -3919,7 +3838,6 @@ func rewriteValueAMD64_OpAMD64ANDLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3971,7 +3889,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -3979,7 +3897,6 @@ func rewriteValueAMD64_OpAMD64ANDLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3997,7 +3914,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4006,7 +3923,6 @@ func rewriteValueAMD64_OpAMD64ANDLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4027,7 +3943,7 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTRQ x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64NOTQ {
                        break
@@ -4036,7 +3952,7 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
                if v_0_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0_0.Args[1]
+               y := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -4044,8 +3960,6 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -4068,7 +3982,7 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
                if v_1_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1_0.Args[1]
+               y := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -4076,7 +3990,6 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               y := v_1_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -4089,13 +4002,12 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
        // cond: isUint64PowerOfTwo(^c) && uint64(^c) >= 128 && !config.nacl
        // result: (BTRQconst [log2(^c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint64PowerOfTwo(^c) && uint64(^c) >= 128 && !config.nacl) {
                        break
                }
@@ -4146,13 +4058,12 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ANDQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -4165,9 +4076,8 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -4187,9 +4097,8 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -4205,17 +4114,15 @@ func rewriteValueAMD64_OpAMD64ANDQ_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ANDQload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -4361,14 +4268,13 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -4385,7 +4291,7 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4393,7 +4299,6 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4415,7 +4320,7 @@ func rewriteValueAMD64_OpAMD64ANDQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -4423,7 +4328,6 @@ func rewriteValueAMD64_OpAMD64ANDQload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4441,7 +4345,7 @@ func rewriteValueAMD64_OpAMD64ANDQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -4450,7 +4354,6 @@ func rewriteValueAMD64_OpAMD64ANDQload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4502,7 +4405,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -4510,7 +4413,6 @@ func rewriteValueAMD64_OpAMD64ANDQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4528,7 +4430,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4537,7 +4439,6 @@ func rewriteValueAMD64_OpAMD64ANDQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4659,14 +4560,13 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -4683,7 +4583,7 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4691,7 +4591,6 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4711,7 +4610,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -4719,7 +4618,6 @@ func rewriteValueAMD64_OpAMD64BTCLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4737,7 +4635,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4746,7 +4644,6 @@ func rewriteValueAMD64_OpAMD64BTCLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4816,14 +4713,13 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -4840,7 +4736,7 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4848,7 +4744,6 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4868,7 +4763,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -4876,7 +4771,6 @@ func rewriteValueAMD64_OpAMD64BTCQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4894,7 +4788,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -4903,7 +4797,6 @@ func rewriteValueAMD64_OpAMD64BTCQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4967,9 +4860,8 @@ func rewriteValueAMD64_OpAMD64BTLconst_0(v *Value) bool {
                if s.Op != OpAMD64SHRQ {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v.reset(OpAMD64BTQ)
                v.AddArg(y)
                v.AddArg(x)
@@ -5024,9 +4916,8 @@ func rewriteValueAMD64_OpAMD64BTLconst_0(v *Value) bool {
                if s.Op != OpAMD64SHRL {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v.reset(OpAMD64BTL)
                v.AddArg(y)
                v.AddArg(x)
@@ -5084,9 +4975,8 @@ func rewriteValueAMD64_OpAMD64BTQconst_0(v *Value) bool {
                if s.Op != OpAMD64SHRQ {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v.reset(OpAMD64BTQ)
                v.AddArg(y)
                v.AddArg(x)
@@ -5186,14 +5076,13 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -5210,7 +5099,7 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5218,7 +5107,6 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5238,7 +5126,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -5246,7 +5134,6 @@ func rewriteValueAMD64_OpAMD64BTRLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5264,7 +5151,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5273,7 +5160,6 @@ func rewriteValueAMD64_OpAMD64BTRLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5379,14 +5265,13 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -5403,7 +5288,7 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5411,7 +5296,6 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5431,7 +5315,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -5439,7 +5323,6 @@ func rewriteValueAMD64_OpAMD64BTRQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5457,7 +5340,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5466,7 +5349,6 @@ func rewriteValueAMD64_OpAMD64BTRQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5572,14 +5454,13 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -5596,7 +5477,7 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5604,7 +5485,6 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5624,7 +5504,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -5632,7 +5512,6 @@ func rewriteValueAMD64_OpAMD64BTSLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5650,7 +5529,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5659,7 +5538,6 @@ func rewriteValueAMD64_OpAMD64BTSLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5765,14 +5643,13 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -5789,7 +5666,7 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5797,7 +5674,6 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -5817,7 +5693,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -5825,7 +5701,6 @@ func rewriteValueAMD64_OpAMD64BTSQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5843,7 +5718,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -5852,7 +5727,6 @@ func rewriteValueAMD64_OpAMD64BTSQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8795,13 +8669,12 @@ func rewriteValueAMD64_OpAMD64CMPB_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPBconst x [int64(int8(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
                v0.AuxInt = int64(int8(c))
@@ -8813,17 +8686,15 @@ func rewriteValueAMD64_OpAMD64CMPB_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPBload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVBload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -8847,9 +8718,8 @@ func rewriteValueAMD64_OpAMD64CMPB_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -8974,9 +8844,8 @@ func rewriteValueAMD64_OpAMD64CMPBconst_0(v *Value) bool {
                if v_0.Op != OpAMD64ANDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64TESTB)
                v.AddArg(x)
                v.AddArg(y)
@@ -9024,9 +8893,8 @@ func rewriteValueAMD64_OpAMD64CMPBconst_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -9049,14 +8917,13 @@ func rewriteValueAMD64_OpAMD64CMPBconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -9073,7 +8940,7 @@ func rewriteValueAMD64_OpAMD64CMPBconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -9081,7 +8948,6 @@ func rewriteValueAMD64_OpAMD64CMPBconstload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9101,7 +8967,7 @@ func rewriteValueAMD64_OpAMD64CMPBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -9109,7 +8975,6 @@ func rewriteValueAMD64_OpAMD64CMPBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -9127,7 +8992,7 @@ func rewriteValueAMD64_OpAMD64CMPBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -9136,7 +9001,6 @@ func rewriteValueAMD64_OpAMD64CMPBload_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9154,14 +9018,13 @@ func rewriteValueAMD64_OpAMD64CMPBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(int64(int8(c)), off)) {
                        break
                }
@@ -9196,13 +9059,12 @@ func rewriteValueAMD64_OpAMD64CMPL_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPLconst x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
                v0.AuxInt = c
@@ -9214,17 +9076,15 @@ func rewriteValueAMD64_OpAMD64CMPL_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPLload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -9248,9 +9108,8 @@ func rewriteValueAMD64_OpAMD64CMPL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -9390,9 +9249,8 @@ func rewriteValueAMD64_OpAMD64CMPLconst_0(v *Value) bool {
                if v_0.Op != OpAMD64ANDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64TESTL)
                v.AddArg(x)
                v.AddArg(y)
@@ -9444,9 +9302,8 @@ func rewriteValueAMD64_OpAMD64CMPLconst_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -9469,14 +9326,13 @@ func rewriteValueAMD64_OpAMD64CMPLconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -9493,7 +9349,7 @@ func rewriteValueAMD64_OpAMD64CMPLconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -9501,7 +9357,6 @@ func rewriteValueAMD64_OpAMD64CMPLconstload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9521,7 +9376,7 @@ func rewriteValueAMD64_OpAMD64CMPLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -9529,7 +9384,6 @@ func rewriteValueAMD64_OpAMD64CMPLload_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -9547,7 +9401,7 @@ func rewriteValueAMD64_OpAMD64CMPLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -9556,7 +9410,6 @@ func rewriteValueAMD64_OpAMD64CMPLload_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9574,14 +9427,13 @@ func rewriteValueAMD64_OpAMD64CMPLload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -9619,13 +9471,12 @@ func rewriteValueAMD64_OpAMD64CMPQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (InvertFlags (CMPQconst x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -9640,17 +9491,15 @@ func rewriteValueAMD64_OpAMD64CMPQ_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPQload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -9674,9 +9523,8 @@ func rewriteValueAMD64_OpAMD64CMPQ_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -9937,9 +9785,8 @@ func rewriteValueAMD64_OpAMD64CMPQconst_10(v *Value) bool {
                if v_0.Op != OpAMD64ANDQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64TESTQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -9987,9 +9834,8 @@ func rewriteValueAMD64_OpAMD64CMPQconst_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -10012,14 +9858,13 @@ func rewriteValueAMD64_OpAMD64CMPQconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -10036,7 +9881,7 @@ func rewriteValueAMD64_OpAMD64CMPQconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -10044,7 +9889,6 @@ func rewriteValueAMD64_OpAMD64CMPQconstload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10064,7 +9908,7 @@ func rewriteValueAMD64_OpAMD64CMPQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -10072,7 +9916,6 @@ func rewriteValueAMD64_OpAMD64CMPQload_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10090,7 +9933,7 @@ func rewriteValueAMD64_OpAMD64CMPQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -10099,7 +9942,6 @@ func rewriteValueAMD64_OpAMD64CMPQload_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10117,14 +9959,13 @@ func rewriteValueAMD64_OpAMD64CMPQload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -10159,13 +10000,12 @@ func rewriteValueAMD64_OpAMD64CMPW_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPWconst x [int64(int16(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
                v0.AuxInt = int64(int16(c))
@@ -10177,17 +10017,15 @@ func rewriteValueAMD64_OpAMD64CMPW_0(v *Value) bool {
        // cond: canMergeLoad(v, l) && clobber(l)
        // result: (CMPWload {sym} [off] ptr x mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVWload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -10211,9 +10049,8 @@ func rewriteValueAMD64_OpAMD64CMPW_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoad(v, l) && clobber(l)) {
                        break
                }
@@ -10338,9 +10175,8 @@ func rewriteValueAMD64_OpAMD64CMPWconst_0(v *Value) bool {
                if v_0.Op != OpAMD64ANDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64TESTW)
                v.AddArg(x)
                v.AddArg(y)
@@ -10388,9 +10224,8 @@ func rewriteValueAMD64_OpAMD64CMPWconst_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l.Uses == 1 && validValAndOff(c, off) && clobber(l)) {
                        break
                }
@@ -10413,14 +10248,13 @@ func rewriteValueAMD64_OpAMD64CMPWconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -10437,7 +10271,7 @@ func rewriteValueAMD64_OpAMD64CMPWconstload_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -10445,7 +10279,6 @@ func rewriteValueAMD64_OpAMD64CMPWconstload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10465,7 +10298,7 @@ func rewriteValueAMD64_OpAMD64CMPWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -10473,7 +10306,6 @@ func rewriteValueAMD64_OpAMD64CMPWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10491,7 +10323,7 @@ func rewriteValueAMD64_OpAMD64CMPWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -10500,7 +10332,6 @@ func rewriteValueAMD64_OpAMD64CMPWload_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10518,14 +10349,13 @@ func rewriteValueAMD64_OpAMD64CMPWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(int64(int16(c)), off)) {
                        break
                }
@@ -10545,7 +10375,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGLlock_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -10554,7 +10384,6 @@ func rewriteValueAMD64_OpAMD64CMPXCHGLlock_0(v *Value) bool {
                ptr := v_0.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10576,7 +10405,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGQlock_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -10585,7 +10414,6 @@ func rewriteValueAMD64_OpAMD64CMPXCHGQlock_0(v *Value) bool {
                ptr := v_0.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10613,9 +10441,8 @@ func rewriteValueAMD64_OpAMD64DIVSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -10636,7 +10463,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -10644,7 +10471,6 @@ func rewriteValueAMD64_OpAMD64DIVSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10662,7 +10488,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -10671,7 +10497,6 @@ func rewriteValueAMD64_OpAMD64DIVSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10698,9 +10523,8 @@ func rewriteValueAMD64_OpAMD64DIVSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -10721,7 +10545,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -10729,7 +10553,6 @@ func rewriteValueAMD64_OpAMD64DIVSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -10747,7 +10570,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -10756,7 +10579,6 @@ func rewriteValueAMD64_OpAMD64DIVSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10775,9 +10597,8 @@ func rewriteValueAMD64_OpAMD64HMULL_0(v *Value) bool {
        // cond: !x.rematerializeable() && y.rematerializeable()
        // result: (HMULL y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!x.rematerializeable() && y.rematerializeable()) {
                        break
                }
@@ -10793,9 +10614,8 @@ func rewriteValueAMD64_OpAMD64HMULLU_0(v *Value) bool {
        // cond: !x.rematerializeable() && y.rematerializeable()
        // result: (HMULLU y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!x.rematerializeable() && y.rematerializeable()) {
                        break
                }
@@ -10811,9 +10631,8 @@ func rewriteValueAMD64_OpAMD64HMULQ_0(v *Value) bool {
        // cond: !x.rematerializeable() && y.rematerializeable()
        // result: (HMULQ y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!x.rematerializeable() && y.rematerializeable()) {
                        break
                }
@@ -10829,9 +10648,8 @@ func rewriteValueAMD64_OpAMD64HMULQU_0(v *Value) bool {
        // cond: !x.rematerializeable() && y.rematerializeable()
        // result: (HMULQU y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!x.rematerializeable() && y.rematerializeable()) {
                        break
                }
@@ -10874,9 +10692,8 @@ func rewriteValueAMD64_OpAMD64LEAL_0(v *Value) bool {
                if v_0.Op != OpAMD64ADDL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -10896,14 +10713,13 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -10967,7 +10783,7 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -10976,7 +10792,6 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL2)
                v.AuxInt = c
                v.Aux = s
@@ -11013,7 +10828,7 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -11022,7 +10837,6 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL4)
                v.AuxInt = c
                v.Aux = s
@@ -11059,7 +10873,7 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLLconst {
                        break
@@ -11068,7 +10882,6 @@ func rewriteValueAMD64_OpAMD64LEAL1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAL8)
                v.AuxInt = c
                v.Aux = s
@@ -11085,14 +10898,13 @@ func rewriteValueAMD64_OpAMD64LEAL2_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11182,14 +10994,13 @@ func rewriteValueAMD64_OpAMD64LEAL4_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11256,14 +11067,13 @@ func rewriteValueAMD64_OpAMD64LEAL8_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11332,9 +11142,8 @@ func rewriteValueAMD64_OpAMD64LEAQ_0(v *Value) bool {
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(x.Op != OpSB && y.Op != OpSB) {
                        break
                }
@@ -11379,9 +11188,8 @@ func rewriteValueAMD64_OpAMD64LEAQ_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11404,9 +11212,8 @@ func rewriteValueAMD64_OpAMD64LEAQ_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11429,9 +11236,8 @@ func rewriteValueAMD64_OpAMD64LEAQ_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11454,9 +11260,8 @@ func rewriteValueAMD64_OpAMD64LEAQ_0(v *Value) bool {
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11476,14 +11281,13 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11547,7 +11351,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -11556,7 +11360,6 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ2)
                v.AuxInt = c
                v.Aux = s
@@ -11593,7 +11396,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -11602,7 +11405,6 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ4)
                v.AuxInt = c
                v.Aux = s
@@ -11639,7 +11441,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -11648,7 +11450,6 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpAMD64LEAQ8)
                v.AuxInt = c
                v.Aux = s
@@ -11662,7 +11463,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -11670,7 +11471,6 @@ func rewriteValueAMD64_OpAMD64LEAQ1_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -11715,14 +11515,13 @@ func rewriteValueAMD64_OpAMD64LEAQ2_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11809,7 +11608,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -11817,7 +11616,6 @@ func rewriteValueAMD64_OpAMD64LEAQ2_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -11837,14 +11635,13 @@ func rewriteValueAMD64_OpAMD64LEAQ4_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11908,7 +11705,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -11916,7 +11713,6 @@ func rewriteValueAMD64_OpAMD64LEAQ4_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -11936,14 +11732,13 @@ func rewriteValueAMD64_OpAMD64LEAQ8_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -11984,7 +11779,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -11992,7 +11787,6 @@ func rewriteValueAMD64_OpAMD64LEAQ8_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -12017,9 +11811,8 @@ func rewriteValueAMD64_OpAMD64MOVBQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12043,9 +11836,8 @@ func rewriteValueAMD64_OpAMD64MOVBQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12069,9 +11861,8 @@ func rewriteValueAMD64_OpAMD64MOVBQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12095,9 +11886,8 @@ func rewriteValueAMD64_OpAMD64MOVBQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12175,7 +11965,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSXload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -12183,7 +11973,6 @@ func rewriteValueAMD64_OpAMD64MOVBQSXload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -12208,9 +11997,8 @@ func rewriteValueAMD64_OpAMD64MOVBQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12234,9 +12022,8 @@ func rewriteValueAMD64_OpAMD64MOVBQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12260,9 +12047,8 @@ func rewriteValueAMD64_OpAMD64MOVBQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12286,9 +12072,8 @@ func rewriteValueAMD64_OpAMD64MOVBQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12325,10 +12110,9 @@ func rewriteValueAMD64_OpAMD64MOVBQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12404,14 +12188,13 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -12428,7 +12211,7 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -12436,7 +12219,6 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -12453,17 +12235,15 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -12481,15 +12261,13 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -12507,7 +12285,7 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -12515,7 +12293,6 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -12532,14 +12309,13 @@ func rewriteValueAMD64_OpAMD64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -12577,7 +12353,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -12585,7 +12361,6 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -12603,7 +12378,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -12611,7 +12386,6 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -12629,7 +12403,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -12637,7 +12411,6 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -12655,7 +12428,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -12663,7 +12436,6 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -12681,14 +12453,13 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -12705,14 +12476,13 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
                p := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -12732,14 +12502,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETL {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12757,14 +12526,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETLE {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12782,14 +12550,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETG {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12807,14 +12574,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETGE {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12832,14 +12598,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETEQ {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12857,14 +12622,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETNE {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12882,14 +12646,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETB {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12907,14 +12670,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETBE {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12932,14 +12694,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETA {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12957,14 +12718,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SETAE {
                        break
                }
                x := y.Args[0]
-               mem := v.Args[2]
                if !(y.Uses == 1) {
                        break
                }
@@ -12986,14 +12746,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVBQSX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -13008,14 +12767,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVBQZX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -13030,7 +12788,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -13038,7 +12796,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -13056,14 +12813,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -13080,14 +12836,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -13104,7 +12859,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -13113,7 +12868,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -13131,18 +12885,16 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -13161,16 +12913,14 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -13202,7 +12952,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -13216,7 +12966,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(x0.Uses == 1 && clobber(x0)) {
                        break
                }
@@ -13298,7 +13047,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -13312,7 +13061,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_10(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -13494,7 +13242,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -13508,7 +13256,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && x4.Uses == 1 && x5.Uses == 1 && x6.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3) && clobber(x4) && clobber(x5) && clobber(x6)) {
                        break
                }
@@ -13548,14 +13295,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13593,14 +13339,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13638,14 +13383,13 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13676,7 +13420,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -13690,7 +13434,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13721,7 +13464,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -13735,7 +13478,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13766,7 +13508,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -13780,7 +13522,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13816,7 +13557,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -13830,7 +13571,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13866,7 +13606,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -13880,7 +13620,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13906,9 +13645,8 @@ func rewriteValueAMD64_OpAMD64MOVBstore_20(v *Value) bool {
                }
                j := x1.AuxInt
                s2 := x1.Aux
-               _ = x1.Args[1]
-               p2 := x1.Args[0]
                mem := x1.Args[1]
+               p2 := x1.Args[0]
                mem2 := v.Args[2]
                if mem2.Op != OpAMD64MOVBstore {
                        break
@@ -13968,7 +13706,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_30(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -13977,7 +13715,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_30(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -13995,7 +13732,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore_30(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
@@ -14003,7 +13740,6 @@ func rewriteValueAMD64_OpAMD64MOVBstore_30(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -14024,14 +13760,13 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -14048,7 +13783,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -14056,7 +13791,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -14073,17 +13807,15 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -14101,15 +13833,13 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(OpAMD64MOVBstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -14134,11 +13864,10 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -14165,11 +13894,10 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -14186,7 +13914,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -14194,7 +13922,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -14211,14 +13938,13 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -14238,7 +13964,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -14246,7 +13972,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -14264,7 +13989,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -14272,7 +13997,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -14301,14 +14025,13 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -14330,7 +14053,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -14339,7 +14062,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -14358,7 +14080,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -14367,7 +14089,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -14400,7 +14121,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[3]
+               mem := x0.Args[3]
                if p != x0.Args[0] {
                        break
                }
@@ -14417,7 +14138,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x0_2.Args[0] {
                        break
                }
-               mem := x0.Args[3]
                if !(x0.Uses == 1 && clobber(x0)) {
                        break
                }
@@ -14507,7 +14227,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[3]
+               mem := x0.Args[3]
                if p != x0.Args[0] {
                        break
                }
@@ -14524,7 +14244,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x0_2.Args[0] {
                        break
                }
-               mem := x0.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -14721,7 +14440,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[3]
+               mem := x0.Args[3]
                if p != x0.Args[0] {
                        break
                }
@@ -14738,7 +14457,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x0_2.Args[0] {
                        break
                }
-               mem := x0.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && x4.Uses == 1 && x5.Uses == 1 && x6.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3) && clobber(x4) && clobber(x5) && clobber(x6)) {
                        break
                }
@@ -14780,7 +14498,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14790,7 +14508,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14830,7 +14547,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14840,7 +14557,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14880,7 +14596,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14890,7 +14606,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14928,7 +14643,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14945,7 +14660,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14983,7 +14697,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -15000,7 +14714,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15022,7 +14735,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_10(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -15030,7 +14743,6 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1_10(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -15056,9 +14768,8 @@ func rewriteValueAMD64_OpAMD64MOVLQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15082,9 +14793,8 @@ func rewriteValueAMD64_OpAMD64MOVLQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15188,7 +14898,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSXload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -15196,7 +14906,6 @@ func rewriteValueAMD64_OpAMD64MOVLQSXload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15221,9 +14930,8 @@ func rewriteValueAMD64_OpAMD64MOVLQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15247,9 +14955,8 @@ func rewriteValueAMD64_OpAMD64MOVLQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15286,10 +14993,9 @@ func rewriteValueAMD64_OpAMD64MOVLQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15314,10 +15020,9 @@ func rewriteValueAMD64_OpAMD64MOVLQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15395,14 +15100,13 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -15419,7 +15123,7 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -15427,7 +15131,6 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15525,14 +15228,13 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -15549,7 +15251,7 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -15557,7 +15259,6 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15574,17 +15275,15 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15602,17 +15301,15 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15630,17 +15327,15 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -15658,15 +15353,13 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -15684,7 +15377,7 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -15692,7 +15385,6 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -15709,14 +15401,13 @@ func rewriteValueAMD64_OpAMD64MOVLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -15786,7 +15477,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -15796,7 +15487,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLloadidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -15811,7 +15501,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -15821,7 +15511,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLloadidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -15836,7 +15525,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -15846,7 +15535,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLloadidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -15861,7 +15549,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -15871,7 +15559,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLloadidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -15886,7 +15573,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -15894,7 +15581,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -15912,7 +15598,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -15920,7 +15606,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -15938,7 +15623,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -15946,7 +15631,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -15964,7 +15648,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -15972,7 +15656,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -15990,14 +15673,13 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -16014,14 +15696,13 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
                p := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -16041,7 +15722,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -16049,7 +15730,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -16067,7 +15747,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -16075,7 +15755,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 4*d)) {
                        break
                }
@@ -16093,14 +15772,13 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 4*c)) {
                        break
                }
@@ -16120,7 +15798,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -16128,7 +15806,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -16146,7 +15823,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -16154,7 +15831,6 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -16172,14 +15848,13 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -16199,14 +15874,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLQSX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = off
                v.Aux = sym
@@ -16221,14 +15895,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLQZX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = off
                v.Aux = sym
@@ -16243,7 +15916,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -16251,7 +15924,6 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -16269,14 +15941,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -16293,14 +15964,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -16317,7 +15987,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -16326,7 +15996,6 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -16344,18 +16013,16 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -16374,18 +16041,16 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -16404,18 +16069,16 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -16434,16 +16097,14 @@ func rewriteValueAMD64_OpAMD64MOVLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -16487,14 +16148,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16530,7 +16190,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -16544,7 +16204,6 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16570,9 +16229,8 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                }
                j := x1.AuxInt
                s2 := x1.Aux
-               _ = x1.Args[1]
-               p2 := x1.Args[0]
                mem := x1.Args[1]
+               p2 := x1.Args[0]
                mem2 := v.Args[2]
                if mem2.Op != OpAMD64MOVLstore {
                        break
@@ -16629,7 +16287,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -16638,7 +16296,6 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -16656,7 +16313,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
@@ -16664,7 +16321,6 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -16682,7 +16338,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDLload {
@@ -16699,8 +16355,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -16720,7 +16375,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDLload {
@@ -16737,8 +16392,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -16758,7 +16412,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORLload {
@@ -16775,8 +16429,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -16796,7 +16449,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORLload {
@@ -16813,8 +16466,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -16834,13 +16486,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -16855,9 +16507,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -16880,7 +16530,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDL {
@@ -16902,8 +16552,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -16923,13 +16572,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SUBL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -16944,9 +16593,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -16966,13 +16613,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -16987,9 +16634,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17009,7 +16654,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDL {
@@ -17031,8 +16676,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17052,13 +16696,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -17073,9 +16717,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17095,7 +16737,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORL {
@@ -17117,8 +16759,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17138,13 +16779,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -17159,9 +16800,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17181,7 +16820,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORL {
@@ -17203,8 +16842,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17224,13 +16862,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTCL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -17245,9 +16883,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17267,13 +16903,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTRL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -17288,9 +16924,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17313,13 +16947,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTSL {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
@@ -17334,9 +16968,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -17356,7 +16988,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ADDLconst {
@@ -17375,8 +17007,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17395,7 +17026,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ANDLconst {
@@ -17414,8 +17045,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17434,7 +17064,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ORLconst {
@@ -17453,8 +17083,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17473,7 +17102,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64XORLconst {
@@ -17492,8 +17121,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17512,7 +17140,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTCLconst {
@@ -17531,8 +17159,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17551,7 +17178,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTRLconst {
@@ -17570,8 +17197,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17590,7 +17216,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTSLconst {
@@ -17609,8 +17235,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -17629,14 +17254,13 @@ func rewriteValueAMD64_OpAMD64MOVLstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLf2i {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVSSstore)
                v.AuxInt = off
                v.Aux = sym
@@ -17656,14 +17280,13 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -17680,7 +17303,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -17688,7 +17311,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -17705,17 +17327,15 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -17733,17 +17353,15 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ4 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -17761,15 +17379,13 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(OpAMD64MOVLstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -17794,11 +17410,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+4 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -17828,11 +17443,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+4 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -17852,7 +17466,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -17860,7 +17474,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -17877,14 +17490,13 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -17906,7 +17518,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -17916,7 +17528,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstoreconstidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -17931,7 +17542,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -17939,7 +17550,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -17957,7 +17567,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -17965,7 +17575,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -17994,14 +17603,13 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+4 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -18027,7 +17635,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -18035,7 +17643,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -18053,7 +17660,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -18061,7 +17668,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(4 * c)) {
                        break
                }
@@ -18090,14 +17696,13 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+4 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -18124,7 +17729,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -18135,7 +17740,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVLstoreidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -18151,7 +17755,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -18162,7 +17766,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVLstoreidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -18178,7 +17781,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -18187,7 +17790,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -18206,7 +17808,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -18215,7 +17817,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -18255,7 +17856,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -18265,7 +17866,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18303,7 +17903,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -18320,7 +17920,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18339,7 +17938,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -18347,7 +17946,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -18369,7 +17967,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -18378,7 +17976,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -18397,7 +17994,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -18406,7 +18003,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 4*d)) {
                        break
                }
@@ -18446,7 +18042,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -18456,7 +18052,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18497,7 +18092,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -18514,7 +18109,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18536,7 +18130,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -18544,7 +18138,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 4*c)) {
                        break
                }
@@ -18565,7 +18158,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -18574,7 +18167,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -18593,7 +18185,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -18602,7 +18194,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -18621,7 +18212,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -18629,7 +18220,6 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -18650,14 +18240,13 @@ func rewriteValueAMD64_OpAMD64MOVOload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -18674,7 +18263,7 @@ func rewriteValueAMD64_OpAMD64MOVOload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -18682,7 +18271,6 @@ func rewriteValueAMD64_OpAMD64MOVOload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18702,7 +18290,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -18710,7 +18298,6 @@ func rewriteValueAMD64_OpAMD64MOVOstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -18728,7 +18315,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -18737,7 +18324,6 @@ func rewriteValueAMD64_OpAMD64MOVOstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18758,14 +18344,13 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -18782,7 +18367,7 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -18790,7 +18375,6 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18891,14 +18475,13 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -18915,7 +18498,7 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -18923,7 +18506,6 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18940,17 +18522,15 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18968,17 +18548,15 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18996,15 +18574,13 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -19022,7 +18598,7 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -19030,7 +18606,6 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -19047,14 +18622,13 @@ func rewriteValueAMD64_OpAMD64MOVQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19119,7 +18693,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -19129,7 +18703,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVQloadidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -19144,7 +18717,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -19154,7 +18727,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVQloadidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -19169,7 +18741,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -19177,7 +18749,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -19195,7 +18766,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -19203,7 +18774,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -19221,7 +18791,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -19229,7 +18799,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -19247,7 +18816,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -19255,7 +18824,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -19273,14 +18841,13 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -19297,14 +18864,13 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
                p := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -19324,7 +18890,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -19332,7 +18898,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -19350,7 +18915,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -19358,7 +18923,6 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -19376,14 +18940,13 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -19403,7 +18966,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -19411,7 +18974,6 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19429,14 +18991,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validValAndOff(c, off)) {
                        break
                }
@@ -19453,7 +19014,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -19462,7 +19023,6 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -19480,18 +19040,16 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -19510,18 +19068,16 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -19540,16 +19096,14 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -19568,7 +19122,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -19577,7 +19131,6 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -19595,7 +19148,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
@@ -19603,7 +19156,6 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -19621,7 +19173,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDQload {
@@ -19638,8 +19190,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -19659,7 +19210,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDQload {
@@ -19676,8 +19227,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_0(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -19700,7 +19250,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORQload {
@@ -19717,8 +19267,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -19738,7 +19287,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORQload {
@@ -19755,8 +19304,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != y.Args[1] {
                        break
                }
-               mem := y.Args[2]
-               if mem != v.Args[2] {
+               if mem != y.Args[2] {
                        break
                }
                if !(y.Uses == 1 && clobber(y)) {
@@ -19776,13 +19324,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -19797,9 +19345,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -19819,7 +19365,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ADDQ {
@@ -19841,8 +19387,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -19862,13 +19407,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64SUBQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -19883,9 +19428,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -19905,13 +19448,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -19926,9 +19469,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -19948,7 +19489,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ANDQ {
@@ -19970,8 +19511,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -19991,13 +19531,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -20012,9 +19552,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20034,7 +19572,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64ORQ {
@@ -20056,8 +19594,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20077,13 +19614,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -20098,9 +19635,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_10(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20123,7 +19658,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64XORQ {
@@ -20145,8 +19680,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20166,13 +19700,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTCQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -20187,9 +19721,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20209,13 +19741,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTRQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -20230,9 +19762,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20252,13 +19782,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                y := v.Args[1]
                if y.Op != OpAMD64BTSQ {
                        break
                }
-               = y.Args[1]
+               x := y.Args[1]
                l := y.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
@@ -20273,9 +19803,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                if ptr != l.Args[0] {
                        break
                }
-               mem := l.Args[1]
-               x := y.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(y.Uses == 1 && l.Uses == 1 && clobber(y) && clobber(l)) {
@@ -20295,7 +19823,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ADDQconst {
@@ -20314,8 +19842,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20334,7 +19861,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ANDQconst {
@@ -20353,8 +19880,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20373,7 +19899,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64ORQconst {
@@ -20392,8 +19918,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20412,7 +19937,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64XORQconst {
@@ -20431,8 +19956,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20451,7 +19975,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTCQconst {
@@ -20470,8 +19994,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20490,7 +20013,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTRQconst {
@@ -20509,8 +20032,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_20(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20532,7 +20054,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                a := v.Args[1]
                if a.Op != OpAMD64BTSQconst {
@@ -20551,8 +20073,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore_30(v *Value) bool {
                }
                _ = l.Args[1]
                ptr2 := l.Args[0]
-               mem := l.Args[1]
-               if mem != v.Args[2] {
+               if mem != l.Args[1] {
                        break
                }
                if !(isSamePtr(ptr, ptr2) && a.Uses == 1 && l.Uses == 1 && validValAndOff(c, off) && clobber(l) && clobber(a)) {
@@ -20571,14 +20092,13 @@ func rewriteValueAMD64_OpAMD64MOVQstore_30(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQf2i {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVSDstore)
                v.AuxInt = off
                v.Aux = sym
@@ -20598,14 +20118,13 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -20622,7 +20141,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -20630,7 +20149,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -20647,17 +20165,15 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -20675,17 +20191,15 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -20703,15 +20217,13 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(OpAMD64MOVQstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -20736,11 +20248,10 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(config.useSSE && x.Uses == 1 && ValAndOff(c2).Off()+8 == ValAndOff(c).Off() && ValAndOff(c).Val() == 0 && ValAndOff(c2).Val() == 0 && clobber(x)) {
                        break
                }
@@ -20760,7 +20271,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -20768,7 +20279,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -20785,14 +20295,13 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -20812,7 +20321,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -20822,7 +20331,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVQstoreconstidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -20837,7 +20345,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -20845,7 +20353,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -20863,7 +20370,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -20871,7 +20378,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -20892,7 +20398,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -20900,7 +20406,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -20918,7 +20423,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -20926,7 +20431,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(8 * c)) {
                        break
                }
@@ -20947,7 +20451,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -20958,7 +20462,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVQstoreidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -20974,7 +20477,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -20983,7 +20486,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21002,7 +20504,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21011,7 +20513,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21030,7 +20531,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -21038,7 +20539,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -21059,7 +20559,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21068,7 +20568,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21087,7 +20586,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21096,7 +20595,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -21115,7 +20613,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -21123,7 +20621,6 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -21144,14 +20641,13 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -21168,7 +20664,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -21176,7 +20672,6 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21193,17 +20688,15 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21221,17 +20714,15 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21249,15 +20740,13 @@ func rewriteValueAMD64_OpAMD64MOVSDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -21305,7 +20794,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -21315,7 +20804,6 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVSDloadidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -21330,7 +20818,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21338,7 +20826,6 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21356,7 +20843,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21364,7 +20851,6 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21382,14 +20868,13 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -21409,7 +20894,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21417,7 +20902,6 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21435,7 +20919,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21443,7 +20927,6 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -21461,14 +20944,13 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -21488,7 +20970,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21496,7 +20978,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -21514,7 +20995,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -21523,7 +21004,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21541,18 +21021,16 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21571,18 +21049,16 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ8 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21601,16 +21077,14 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -21629,14 +21103,13 @@ func rewriteValueAMD64_OpAMD64MOVSDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQi2f {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVQstore)
                v.AuxInt = off
                v.Aux = sym
@@ -21654,7 +21127,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -21665,7 +21138,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVSDstoreidx8)
                v.AuxInt = c
                v.Aux = sym
@@ -21681,7 +21153,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21690,7 +21162,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21709,7 +21180,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21718,7 +21189,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21737,7 +21207,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -21745,7 +21215,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -21766,7 +21235,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -21775,7 +21244,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -21794,7 +21262,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -21803,7 +21271,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 8*d)) {
                        break
                }
@@ -21822,7 +21289,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -21830,7 +21297,6 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 8*c)) {
                        break
                }
@@ -21851,14 +21317,13 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -21875,7 +21340,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -21883,7 +21348,6 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21900,17 +21364,15 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21928,17 +21390,15 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21956,15 +21416,13 @@ func rewriteValueAMD64_OpAMD64MOVSSload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -22012,7 +21470,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -22022,7 +21480,6 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVSSloadidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -22037,7 +21494,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -22045,7 +21502,6 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22063,7 +21519,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -22071,7 +21527,6 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22089,14 +21544,13 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -22116,7 +21570,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -22124,7 +21578,6 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22142,7 +21595,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -22150,7 +21603,6 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 4*d)) {
                        break
                }
@@ -22168,14 +21620,13 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 4*c)) {
                        break
                }
@@ -22195,7 +21646,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -22203,7 +21654,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -22221,7 +21671,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -22230,7 +21680,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -22248,18 +21697,16 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -22278,18 +21725,16 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ4 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -22308,16 +21753,14 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -22336,14 +21779,13 @@ func rewriteValueAMD64_OpAMD64MOVSSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLi2f {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = off
                v.Aux = sym
@@ -22361,7 +21803,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -22372,7 +21814,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVSSstoreidx4)
                v.AuxInt = c
                v.Aux = sym
@@ -22388,7 +21829,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -22397,7 +21838,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22416,7 +21856,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -22425,7 +21865,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22444,7 +21883,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -22452,7 +21891,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -22473,7 +21911,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -22482,7 +21920,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -22501,7 +21938,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -22510,7 +21947,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 4*d)) {
                        break
                }
@@ -22529,7 +21965,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -22537,7 +21973,6 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 4*c)) {
                        break
                }
@@ -22563,9 +21998,8 @@ func rewriteValueAMD64_OpAMD64MOVWQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22589,9 +22023,8 @@ func rewriteValueAMD64_OpAMD64MOVWQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22615,9 +22048,8 @@ func rewriteValueAMD64_OpAMD64MOVWQSX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22708,7 +22140,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSXload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -22716,7 +22148,6 @@ func rewriteValueAMD64_OpAMD64MOVWQSXload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -22741,9 +22172,8 @@ func rewriteValueAMD64_OpAMD64MOVWQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22767,9 +22197,8 @@ func rewriteValueAMD64_OpAMD64MOVWQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22793,9 +22222,8 @@ func rewriteValueAMD64_OpAMD64MOVWQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22832,10 +22260,9 @@ func rewriteValueAMD64_OpAMD64MOVWQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22860,10 +22287,9 @@ func rewriteValueAMD64_OpAMD64MOVWQZX_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22954,14 +22380,13 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -22978,7 +22403,7 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -22986,7 +22411,6 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23003,17 +22427,15 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23031,17 +22453,15 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ2 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23059,15 +22479,13 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -23085,7 +22503,7 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -23093,7 +22511,6 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -23110,14 +22527,13 @@ func rewriteValueAMD64_OpAMD64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -23155,7 +22571,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -23165,7 +22581,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWloadidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -23180,7 +22595,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQconst {
                        break
@@ -23190,7 +22605,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWloadidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -23205,7 +22619,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -23213,7 +22627,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -23231,7 +22644,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -23239,7 +22652,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -23257,7 +22669,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -23265,7 +22677,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -23283,7 +22694,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -23291,7 +22702,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -23309,14 +22719,13 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -23333,14 +22742,13 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
                p := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -23360,7 +22768,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -23368,7 +22776,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -23386,7 +22793,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -23394,7 +22801,6 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(c + 2*d)) {
                        break
                }
@@ -23412,14 +22818,13 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(i + 2*c)) {
                        break
                }
@@ -23439,14 +22844,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVWQSX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -23461,14 +22865,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVWQZX {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -23483,7 +22886,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -23491,7 +22894,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -23509,14 +22911,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -23533,14 +22934,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(validOff(off)) {
                        break
                }
@@ -23557,7 +22957,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -23566,7 +22966,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23584,18 +22983,16 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23614,18 +23011,16 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ2 {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -23644,16 +23039,14 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -23692,14 +23085,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -23742,14 +23134,13 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -23785,7 +23176,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -23799,7 +23190,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -23835,7 +23225,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -23849,7 +23239,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -23875,9 +23264,8 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                }
                j := x1.AuxInt
                s2 := x1.Aux
-               _ = x1.Args[1]
-               p2 := x1.Args[0]
                mem := x1.Args[1]
+               p2 := x1.Args[0]
                mem2 := v.Args[2]
                if mem2.Op != OpAMD64MOVWstore {
                        break
@@ -23934,7 +23322,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -23943,7 +23331,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -23961,7 +23348,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
@@ -23969,7 +23356,6 @@ func rewriteValueAMD64_OpAMD64MOVWstore_10(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -23990,14 +23376,13 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -24014,7 +23399,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -24022,7 +23407,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -24039,17 +23423,15 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ1 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -24067,17 +23449,15 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ2 {
                        break
                }
                off := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -24095,15 +23475,13 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQ {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                v.reset(OpAMD64MOVWstoreconstidx1)
                v.AuxInt = x
                v.Aux = sym
@@ -24128,11 +23506,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -24159,11 +23536,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -24180,7 +23556,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAL {
                        break
@@ -24188,7 +23564,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -24205,14 +23580,13 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDLconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -24232,7 +23606,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -24242,7 +23616,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstoreconstidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -24257,7 +23630,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -24265,7 +23638,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -24283,7 +23655,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -24291,7 +23663,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -24320,14 +23691,13 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -24349,7 +23719,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -24357,7 +23727,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(c)) {
                        break
                }
@@ -24375,7 +23744,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2_0(v *Value) bool {
        for {
                x := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -24383,7 +23752,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(ValAndOff(x).canAdd(2 * c)) {
                        break
                }
@@ -24412,14 +23780,13 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if i != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -24443,7 +23810,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64SHLQconst {
@@ -24454,7 +23821,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64MOVWstoreidx2)
                v.AuxInt = c
                v.Aux = sym
@@ -24470,7 +23836,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -24479,7 +23845,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -24498,7 +23863,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -24507,7 +23872,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -24547,7 +23911,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24557,7 +23921,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24597,7 +23960,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24607,7 +23970,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24645,7 +24007,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24662,7 +24024,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24700,7 +24061,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24717,7 +24078,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24736,7 +24096,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -24744,7 +24104,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + c)) {
                        break
                }
@@ -24766,7 +24125,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -24775,7 +24134,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + d)) {
                        break
                }
@@ -24794,7 +24152,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -24803,7 +24161,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(c + 2*d)) {
                        break
                }
@@ -24843,7 +24200,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24853,7 +24210,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24896,7 +24252,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24906,7 +24262,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24947,7 +24302,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -24964,7 +24319,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -24986,7 +24340,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
@@ -24994,7 +24348,6 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2_0(v *Value) bool {
                }
                c := v_1.AuxInt
                w := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(i + 2*c)) {
                        break
                }
@@ -25029,13 +24382,12 @@ func rewriteValueAMD64_OpAMD64MULL_0(v *Value) bool {
        // cond:
        // result: (MULLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64MULLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -25569,13 +24921,12 @@ func rewriteValueAMD64_OpAMD64MULQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (MULQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -26104,9 +25455,8 @@ func rewriteValueAMD64_OpAMD64MULSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -26122,17 +25472,15 @@ func rewriteValueAMD64_OpAMD64MULSD_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (MULSDload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVSDload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -26155,7 +25503,7 @@ func rewriteValueAMD64_OpAMD64MULSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -26163,7 +25511,6 @@ func rewriteValueAMD64_OpAMD64MULSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -26181,7 +25528,7 @@ func rewriteValueAMD64_OpAMD64MULSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -26190,7 +25537,6 @@ func rewriteValueAMD64_OpAMD64MULSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -26248,9 +25594,8 @@ func rewriteValueAMD64_OpAMD64MULSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -26266,17 +25611,15 @@ func rewriteValueAMD64_OpAMD64MULSS_0(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (MULSSload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVSSload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -26299,7 +25642,7 @@ func rewriteValueAMD64_OpAMD64MULSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -26307,7 +25650,6 @@ func rewriteValueAMD64_OpAMD64MULSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -26325,7 +25667,7 @@ func rewriteValueAMD64_OpAMD64MULSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -26334,7 +25676,6 @@ func rewriteValueAMD64_OpAMD64MULSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -26500,12 +25841,12 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTSL x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -26513,8 +25854,6 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -26533,7 +25872,7 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
                if v_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -26541,7 +25880,6 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
                if v_1_0.AuxInt != 1 {
                        break
                }
-               y := v_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -26554,13 +25892,12 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
        // cond: isUint32PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl
        // result: (BTSLconst [log2uint32(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint32PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl) {
                        break
                }
@@ -26608,13 +25945,12 @@ func rewriteValueAMD64_OpAMD64ORL_0(v *Value) bool {
        // cond:
        // result: (ORLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64ORLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -26798,9 +26134,8 @@ func rewriteValueAMD64_OpAMD64ORL_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -26867,9 +26202,8 @@ func rewriteValueAMD64_OpAMD64ORL_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27074,9 +26408,8 @@ func rewriteValueAMD64_OpAMD64ORL_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27143,9 +26476,8 @@ func rewriteValueAMD64_OpAMD64ORL_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27353,9 +26685,8 @@ func rewriteValueAMD64_OpAMD64ORL_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27422,9 +26753,8 @@ func rewriteValueAMD64_OpAMD64ORL_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27629,9 +26959,8 @@ func rewriteValueAMD64_OpAMD64ORL_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -27698,9 +27027,8 @@ func rewriteValueAMD64_OpAMD64ORL_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDL {
                        break
@@ -29847,9 +29175,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -29868,9 +29195,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -29924,9 +29250,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBload {
                        break
@@ -29966,9 +29291,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30022,9 +29346,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWload {
                        break
@@ -30069,14 +29392,13 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -30097,7 +29419,6 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -30133,9 +29454,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -30190,7 +29510,7 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -30202,10 +29522,8 @@ func rewriteValueAMD64_OpAMD64ORL_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -30272,9 +29590,8 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -30325,10 +29642,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30379,10 +29695,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30433,10 +29748,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30487,10 +29801,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30548,10 +29861,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -30602,10 +29914,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -30656,10 +29967,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -30710,10 +30020,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -30757,10 +30066,9 @@ func rewriteValueAMD64_OpAMD64ORL_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30816,10 +30124,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30870,10 +30177,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30924,10 +30230,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -30985,10 +30290,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -31039,10 +30343,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -31093,10 +30396,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -31147,10 +30449,9 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -31199,15 +30500,14 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31231,7 +30531,6 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31268,15 +30567,14 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31300,7 +30598,6 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31337,15 +30634,14 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31369,7 +30665,6 @@ func rewriteValueAMD64_OpAMD64ORL_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31411,15 +30706,14 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31443,7 +30737,6 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31480,10 +30773,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -31549,10 +30841,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -31618,10 +30909,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -31687,10 +30977,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -31749,7 +31038,7 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31761,11 +31050,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -31818,7 +31105,7 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -31830,11 +31117,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -31900,10 +31185,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -31969,10 +31253,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32025,7 +31308,7 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -32037,11 +31320,9 @@ func rewriteValueAMD64_OpAMD64ORL_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32099,7 +31380,7 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -32111,11 +31392,9 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32181,10 +31460,9 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32250,10 +31528,9 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32308,9 +31585,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -32367,9 +31643,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBload {
                        break
@@ -32419,9 +31694,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -32491,9 +31765,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -32547,14 +31820,13 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32575,7 +31847,6 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -32614,9 +31885,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -32674,7 +31944,7 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -32686,10 +31956,8 @@ func rewriteValueAMD64_OpAMD64ORL_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -32759,9 +32027,8 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -32815,10 +32082,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -32872,10 +32138,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -32929,10 +32194,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -32986,10 +32250,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -33050,10 +32313,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -33107,10 +32369,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -33164,10 +32425,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -33221,10 +32481,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -33278,10 +32537,9 @@ func rewriteValueAMD64_OpAMD64ORL_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -33353,10 +32611,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -33423,10 +32680,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -33493,10 +32749,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLLconst {
                        break
@@ -33570,10 +32825,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -33640,10 +32894,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -33710,10 +32963,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -33780,10 +33032,9 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -33841,15 +33092,14 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -33873,7 +33123,6 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -33913,15 +33162,14 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -33945,7 +33193,6 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -33985,15 +33232,14 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34017,7 +33263,6 @@ func rewriteValueAMD64_OpAMD64ORL_110(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34062,15 +33307,14 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34094,7 +33338,6 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34134,10 +33377,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -34206,10 +33448,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -34278,10 +33519,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -34350,10 +33590,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORL {
                        break
@@ -34415,7 +33654,7 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34427,11 +33666,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34487,7 +33724,7 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34499,11 +33736,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34572,10 +33807,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34644,10 +33878,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34703,7 +33936,7 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34715,11 +33948,9 @@ func rewriteValueAMD64_OpAMD64ORL_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34780,7 +34011,7 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
                if or.Op != OpAMD64ORL {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLLconst {
                        break
@@ -34792,11 +34023,9 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34865,10 +34094,9 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34937,10 +34165,9 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLLconst {
                        break
@@ -34999,9 +34226,8 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -35017,17 +34243,15 @@ func rewriteValueAMD64_OpAMD64ORL_130(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ORLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -35139,14 +34363,13 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -35163,7 +34386,7 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -35171,7 +34394,6 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -35193,7 +34415,7 @@ func rewriteValueAMD64_OpAMD64ORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -35201,7 +34423,6 @@ func rewriteValueAMD64_OpAMD64ORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -35219,7 +34440,7 @@ func rewriteValueAMD64_OpAMD64ORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -35228,7 +34449,6 @@ func rewriteValueAMD64_OpAMD64ORLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -35280,7 +34500,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -35288,7 +34508,6 @@ func rewriteValueAMD64_OpAMD64ORLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -35306,7 +34525,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -35315,7 +34534,6 @@ func rewriteValueAMD64_OpAMD64ORLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -35336,12 +34554,12 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTSQ x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -35349,8 +34567,6 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -35369,7 +34585,7 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
                if v_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -35377,7 +34593,6 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
                if v_1_0.AuxInt != 1 {
                        break
                }
-               y := v_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -35390,13 +34605,12 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
        // cond: isUint64PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl
        // result: (BTSQconst [log2(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint64PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl) {
                        break
                }
@@ -35447,13 +34661,12 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ORQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -35525,9 +34738,8 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -35594,9 +34806,8 @@ func rewriteValueAMD64_OpAMD64ORQ_0(v *Value) bool {
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -35804,9 +35015,8 @@ func rewriteValueAMD64_OpAMD64ORQ_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -35873,9 +35083,8 @@ func rewriteValueAMD64_OpAMD64ORQ_10(v *Value) bool {
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -36080,9 +35289,8 @@ func rewriteValueAMD64_OpAMD64ORQ_10(v *Value) bool {
                if v_0.Op != OpAMD64SHRQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -36149,9 +35357,8 @@ func rewriteValueAMD64_OpAMD64ORQ_10(v *Value) bool {
                if v_0.Op != OpAMD64SHRQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -36361,9 +35568,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -36430,9 +35636,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                if v_0.Op != OpAMD64SHRQ {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ANDQ {
                        break
@@ -36632,9 +35837,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -36653,9 +35857,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -36709,9 +35912,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBload {
                        break
@@ -36751,9 +35953,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -36807,9 +36008,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWload {
                        break
@@ -36849,9 +36049,8 @@ func rewriteValueAMD64_OpAMD64ORQ_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -36910,9 +36109,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVLload {
                        break
@@ -36957,14 +36155,13 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -36985,7 +36182,6 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37021,9 +36217,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -37078,7 +36273,7 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -37090,10 +36285,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -37155,9 +36348,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -37213,14 +36405,13 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -37241,7 +36432,6 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37277,9 +36467,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -37334,7 +36523,7 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -37346,10 +36535,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -37411,9 +36598,8 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -37464,10 +36650,9 @@ func rewriteValueAMD64_OpAMD64ORQ_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -37523,10 +36708,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -37577,10 +36761,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -37631,10 +36814,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -37692,10 +36874,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -37746,10 +36927,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -37800,10 +36980,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -37854,10 +37033,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -37901,10 +37079,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -37955,10 +37132,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38009,10 +37185,9 @@ func rewriteValueAMD64_OpAMD64ORQ_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38068,10 +37243,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38129,10 +37303,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -38183,10 +37356,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -38237,10 +37409,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -38291,10 +37462,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVWloadidx1 {
                        break
@@ -38338,10 +37508,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38392,10 +37561,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38446,10 +37614,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38500,10 +37667,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -38561,10 +37727,9 @@ func rewriteValueAMD64_OpAMD64ORQ_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVLloadidx1 {
                        break
@@ -38620,10 +37785,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVLloadidx1 {
                        break
@@ -38674,10 +37838,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVLloadidx1 {
                        break
@@ -38728,10 +37891,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpAMD64MOVLloadidx1 {
                        break
@@ -38780,15 +37942,14 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -38812,7 +37973,6 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -38849,15 +38009,14 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -38881,7 +38040,6 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -38918,15 +38076,14 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -38950,7 +38107,6 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -38987,15 +38143,14 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39019,7 +38174,6 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -39056,10 +38210,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -39125,10 +38278,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -39194,10 +38346,9 @@ func rewriteValueAMD64_OpAMD64ORQ_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -39268,10 +38419,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -39330,7 +38480,7 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39342,11 +38492,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39399,7 +38547,7 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39411,11 +38559,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39481,10 +38627,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39550,10 +38695,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39606,7 +38750,7 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39618,11 +38762,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39675,7 +38817,7 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39687,11 +38829,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39757,10 +38897,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39826,10 +38965,9 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -39889,15 +39027,14 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39921,7 +39058,6 @@ func rewriteValueAMD64_OpAMD64ORQ_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -39963,15 +39099,14 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -39995,7 +39130,6 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -40032,15 +39166,14 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40064,7 +39197,6 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -40101,15 +39233,14 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40133,7 +39264,6 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -40170,10 +39300,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -40239,10 +39368,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -40308,10 +39436,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -40377,10 +39504,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -40439,7 +39565,7 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40451,11 +39577,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40508,7 +39632,7 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40520,11 +39644,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40590,10 +39712,9 @@ func rewriteValueAMD64_OpAMD64ORQ_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40664,10 +39785,9 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40720,7 +39840,7 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40732,11 +39852,9 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40789,7 +39907,7 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -40801,11 +39919,9 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40871,10 +39987,9 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40940,10 +40055,9 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -40998,9 +40112,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -41057,9 +40170,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBload {
                        break
@@ -41109,9 +40221,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -41181,9 +40292,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -41236,9 +40346,8 @@ func rewriteValueAMD64_OpAMD64ORQ_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -41307,9 +40416,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                r1 := v.Args[1]
                if r1.Op != OpAMD64BSWAPL {
                        break
@@ -41360,14 +40468,13 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -41388,7 +40495,6 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -41427,9 +40533,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -41487,7 +40592,7 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -41499,10 +40604,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -41567,9 +40670,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -41635,14 +40737,13 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -41670,7 +40771,6 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -41715,9 +40815,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -41781,7 +40880,7 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -41800,10 +40899,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -41881,9 +40978,8 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -41943,10 +41039,9 @@ func rewriteValueAMD64_OpAMD64ORQ_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42005,10 +41100,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42062,10 +41156,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42119,10 +41212,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42183,10 +41275,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -42240,10 +41331,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -42297,10 +41387,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -42354,10 +41443,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpAMD64MOVBloadidx1 {
                        break
@@ -42411,10 +41499,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42481,10 +41568,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42551,10 +41637,9 @@ func rewriteValueAMD64_OpAMD64ORQ_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42626,10 +41711,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -42703,10 +41787,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -42773,10 +41856,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -42843,10 +41925,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -42913,10 +41994,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64ROLWconst {
                        break
@@ -42973,10 +42053,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -43037,10 +42116,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -43101,10 +42179,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -43165,10 +42242,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpAMD64SHLQconst {
                        break
@@ -43236,10 +42312,9 @@ func rewriteValueAMD64_OpAMD64ORQ_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64BSWAPL {
                        break
@@ -43305,10 +42380,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64BSWAPL {
                        break
@@ -43369,10 +42443,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64BSWAPL {
                        break
@@ -43433,10 +42506,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                r1 := v.Args[1]
                if r1.Op != OpAMD64BSWAPL {
                        break
@@ -43491,15 +42563,14 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -43523,7 +42594,6 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -43563,15 +42633,14 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -43595,7 +42664,6 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -43635,15 +42703,14 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -43667,7 +42734,6 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -43707,15 +42773,14 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -43739,7 +42804,6 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -43779,10 +42843,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -43851,10 +42914,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -43923,10 +42985,9 @@ func rewriteValueAMD64_OpAMD64ORQ_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -44000,10 +43061,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -44065,7 +43125,7 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44077,11 +43137,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44137,7 +43195,7 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44149,11 +43207,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44222,10 +43278,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44294,10 +43349,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44353,7 +43407,7 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44365,11 +43419,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44425,7 +43477,7 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44437,11 +43489,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44510,10 +43560,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44582,10 +43631,9 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -44655,15 +43703,14 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44694,7 +43741,6 @@ func rewriteValueAMD64_OpAMD64ORQ_140(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -44745,15 +43791,14 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44784,7 +43829,6 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -44830,15 +43874,14 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44869,7 +43912,6 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -44915,15 +43957,14 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -44954,7 +43995,6 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -45000,10 +44040,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -45085,10 +44124,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -45170,10 +44208,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -45255,10 +44292,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpAMD64ORQ {
                        break
@@ -45326,7 +44362,7 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -45345,11 +44381,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45411,7 +44445,7 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -45430,11 +44464,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45516,10 +44548,9 @@ func rewriteValueAMD64_OpAMD64ORQ_150(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45606,10 +44637,9 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45671,7 +44701,7 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -45690,11 +44720,9 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45756,7 +44784,7 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                if or.Op != OpAMD64ORQ {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpAMD64SHLQconst {
                        break
@@ -45775,11 +44803,9 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45861,10 +44887,9 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -45946,10 +44971,9 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpAMD64SHLQconst {
                        break
@@ -46014,9 +45038,8 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -46032,17 +45055,15 @@ func rewriteValueAMD64_OpAMD64ORQ_160(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (ORQload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -46152,14 +45173,13 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -46176,7 +45196,7 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -46184,7 +45204,6 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -46206,7 +45225,7 @@ func rewriteValueAMD64_OpAMD64ORQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -46214,7 +45233,6 @@ func rewriteValueAMD64_OpAMD64ORQload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -46232,7 +45250,7 @@ func rewriteValueAMD64_OpAMD64ORQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -46241,7 +45259,6 @@ func rewriteValueAMD64_OpAMD64ORQload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -46293,7 +45310,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -46301,7 +45318,6 @@ func rewriteValueAMD64_OpAMD64ORQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -46319,7 +45335,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -46328,7 +45344,6 @@ func rewriteValueAMD64_OpAMD64ORQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -47712,14 +46727,13 @@ func rewriteValueAMD64_OpAMD64SBBQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (SBBQconst x [c] borrow)
        for {
-               = v.Args[2]
+               borrow := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1.AuxInt
-               borrow := v.Args[2]
                if !(is32Bit(c)) {
                        break
                }
@@ -47989,14 +47003,13 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETBEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48011,7 +47024,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -48019,7 +47032,6 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -48037,7 +47049,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -48046,7 +47058,6 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -48064,13 +47075,12 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48087,13 +47097,12 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48110,13 +47119,12 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48133,13 +47141,12 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48156,13 +47163,12 @@ func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48183,14 +47189,13 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48205,7 +47210,7 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -48213,7 +47218,6 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -48231,7 +47235,7 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -48240,7 +47244,6 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -48258,13 +47261,12 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48281,13 +47283,12 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48304,13 +47305,12 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48327,13 +47327,12 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48350,13 +47349,12 @@ func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48529,14 +47527,13 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETAEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48551,7 +47548,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -48559,7 +47556,6 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -48577,7 +47573,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -48586,7 +47582,6 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -48604,13 +47599,12 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48627,13 +47621,12 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48650,13 +47643,12 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48673,13 +47665,12 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48696,13 +47687,12 @@ func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48723,14 +47713,13 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETAstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48745,7 +47734,7 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -48753,7 +47742,6 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -48771,7 +47759,7 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -48780,7 +47768,6 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -48798,13 +47785,12 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48821,13 +47807,12 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48844,13 +47829,12 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48867,13 +47851,12 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48890,13 +47873,12 @@ func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -48920,12 +47902,12 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_0_0.Args[1]
+               x := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -48933,8 +47915,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0_0.Args[1]
-               y := v_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -48959,7 +47939,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_0_1.Args[1]
+               x := v_0_1.Args[1]
                v_0_1_0 := v_0_1.Args[0]
                if v_0_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -48967,7 +47947,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_1_0.AuxInt != 1 {
                        break
                }
-               x := v_0_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -48986,12 +47965,12 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0_0.Args[1]
+               x := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -48999,8 +47978,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0_0.Args[1]
-               y := v_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -49025,7 +48002,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0_1.Args[1]
+               x := v_0_1.Args[1]
                v_0_1_0 := v_0_1.Args[0]
                if v_0_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -49033,7 +48010,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0_1_0.AuxInt != 1 {
                        break
                }
-               x := v_0_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -49092,13 +48068,12 @@ func rewriteValueAMD64_OpAMD64SETEQ_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -49197,7 +48172,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHLQconst {
                        break
@@ -49213,7 +48188,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49267,7 +48241,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHLLconst {
                        break
@@ -49283,7 +48257,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49337,7 +48310,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -49353,7 +48326,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49407,7 +48379,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -49423,7 +48395,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49477,7 +48448,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -49486,7 +48457,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49538,7 +48508,7 @@ func rewriteValueAMD64_OpAMD64SETEQ_20(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -49547,7 +48517,6 @@ func rewriteValueAMD64_OpAMD64SETEQ_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -49670,18 +48639,18 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_1_0.Args[1]
+               x := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -49689,9 +48658,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               x := v_1_0.Args[1]
-               y := v_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -49712,7 +48678,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -49724,7 +48690,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_1_1.Args[1]
+               x := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -49732,8 +48698,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_1_0.AuxInt != 1 {
                        break
                }
-               x := v_1_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -49754,18 +48718,18 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1_0.Args[1]
+               x := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -49773,9 +48737,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               x := v_1_0.Args[1]
-               y := v_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -49796,7 +48757,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -49808,7 +48769,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1_1.Args[1]
+               x := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -49816,8 +48777,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if v_1_1_0.AuxInt != 1 {
                        break
                }
-               x := v_1_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -49838,7 +48797,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTLconst {
@@ -49846,7 +48805,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                }
                c := v_1.AuxInt
                x := v_1.Args[0]
-               mem := v.Args[2]
                if !(isUint32PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -49867,7 +48825,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQconst {
@@ -49875,7 +48833,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                }
                c := v_1.AuxInt
                x := v_1.Args[0]
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -49896,20 +48853,18 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1_0.AuxInt
-               x := v_1.Args[1]
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -49930,7 +48885,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -49943,7 +48898,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                        break
                }
                c := v_1_1.AuxInt
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -49964,7 +48918,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64CMPLconst {
@@ -49980,7 +48934,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if s.AuxInt != 1 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64SETNEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -49998,7 +48951,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64CMPQconst {
@@ -50014,7 +48967,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_0(v *Value) bool {
                if s.AuxInt != 1 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64SETNEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50037,13 +48989,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHLQconst {
                        break
@@ -50059,8 +49011,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50081,7 +49031,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -50104,7 +49054,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50125,13 +49074,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHLLconst {
                        break
@@ -50147,8 +49096,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50169,7 +49116,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -50192,7 +49139,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50213,13 +49159,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -50235,8 +49181,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50257,7 +49201,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -50280,7 +49224,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50301,13 +49244,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -50323,8 +49266,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50345,7 +49286,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -50368,7 +49309,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50389,13 +49329,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -50404,8 +49344,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50426,7 +49364,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -50442,7 +49380,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50468,13 +49405,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -50483,8 +49420,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50505,7 +49440,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -50521,7 +49456,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -50542,14 +49476,13 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETEQstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50564,7 +49497,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -50572,7 +49505,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -50590,7 +49522,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -50599,7 +49531,6 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -50617,13 +49548,12 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50640,13 +49570,12 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50663,13 +49592,12 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50686,13 +49614,12 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50709,13 +49636,12 @@ func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50888,14 +49814,13 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETLEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50910,7 +49835,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -50918,7 +49843,6 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -50936,7 +49860,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -50945,7 +49869,6 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -50963,13 +49886,12 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -50986,13 +49908,12 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51009,13 +49930,12 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51032,13 +49952,12 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51055,13 +49974,12 @@ func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51082,14 +50000,13 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETLstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51104,7 +50021,7 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -51112,7 +50029,6 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -51130,7 +50046,7 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -51139,7 +50055,6 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -51157,13 +50072,12 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51180,13 +50094,12 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51203,13 +50116,12 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51226,13 +50138,12 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51249,13 +50160,12 @@ func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51428,14 +50338,13 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETGEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51450,7 +50359,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -51458,7 +50367,6 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -51476,7 +50384,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -51485,7 +50393,6 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -51503,13 +50410,12 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51526,13 +50432,12 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51549,13 +50454,12 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51572,13 +50476,12 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51595,13 +50498,12 @@ func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51622,14 +50524,13 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETGstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51644,7 +50545,7 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -51652,7 +50553,6 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -51670,7 +50570,7 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -51679,7 +50579,6 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -51697,13 +50596,12 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51720,13 +50618,12 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51743,13 +50640,12 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51766,13 +50662,12 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51789,13 +50684,12 @@ func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -51819,12 +50713,12 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_0_0.Args[1]
+               x := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -51832,8 +50726,6 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0_0.Args[1]
-               y := v_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -51858,7 +50750,7 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_0_1.Args[1]
+               x := v_0_1.Args[1]
                v_0_1_0 := v_0_1.Args[0]
                if v_0_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -51866,7 +50758,6 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_1_0.AuxInt != 1 {
                        break
                }
-               x := v_0_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -51885,12 +50776,12 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0_0.Args[1]
+               x := v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                if v_0_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -51898,8 +50789,6 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0_0.Args[1]
-               y := v_0.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -51924,7 +50813,7 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0_1.Args[1]
+               x := v_0_1.Args[1]
                v_0_1_0 := v_0_1.Args[0]
                if v_0_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -51932,7 +50821,6 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0_1_0.AuxInt != 1 {
                        break
                }
-               x := v_0_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -51991,13 +50879,12 @@ func rewriteValueAMD64_OpAMD64SETNE_0(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -52096,7 +50983,7 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHLQconst {
                        break
@@ -52112,7 +50999,6 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52166,7 +51052,7 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHLLconst {
                        break
@@ -52182,7 +51068,6 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52236,7 +51121,7 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -52252,7 +51137,6 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52306,7 +51190,7 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -52322,7 +51206,6 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52376,7 +51259,7 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                if v_0.Op != OpAMD64TESTQ {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -52385,7 +51268,6 @@ func rewriteValueAMD64_OpAMD64SETNE_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52437,7 +51319,7 @@ func rewriteValueAMD64_OpAMD64SETNE_20(v *Value) bool {
                if v_0.Op != OpAMD64TESTL {
                        break
                }
-               = v_0.Args[1]
+               z2 := v_0.Args[1]
                z1 := v_0.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -52446,7 +51328,6 @@ func rewriteValueAMD64_OpAMD64SETNE_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_0.Args[1]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52569,18 +51450,18 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_1_0.Args[1]
+               x := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -52588,9 +51469,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               x := v_1_0.Args[1]
-               y := v_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -52611,7 +51489,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -52623,7 +51501,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_1_1.Args[1]
+               x := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -52631,8 +51509,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_1_0.AuxInt != 1 {
                        break
                }
-               x := v_1_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -52653,18 +51529,18 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1_0.Args[1]
+               x := v_1_0.Args[1]
                v_1_0_0 := v_1_0.Args[0]
                if v_1_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -52672,9 +51548,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_0_0.AuxInt != 1 {
                        break
                }
-               x := v_1_0.Args[1]
-               y := v_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -52695,7 +51568,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -52707,7 +51580,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1_1.Args[1]
+               x := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -52715,8 +51588,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if v_1_1_0.AuxInt != 1 {
                        break
                }
-               x := v_1_1.Args[1]
-               mem := v.Args[2]
                if !(!config.nacl) {
                        break
                }
@@ -52737,7 +51608,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTLconst {
@@ -52745,7 +51616,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                }
                c := v_1.AuxInt
                x := v_1.Args[0]
-               mem := v.Args[2]
                if !(isUint32PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -52766,7 +51636,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQconst {
@@ -52774,7 +51644,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                }
                c := v_1.AuxInt
                x := v_1.Args[0]
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -52795,20 +51664,18 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_1_0.AuxInt
-               x := v_1.Args[1]
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -52829,7 +51696,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -52842,7 +51709,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                        break
                }
                c := v_1_1.AuxInt
-               mem := v.Args[2]
                if !(isUint64PowerOfTwo(c) && !config.nacl) {
                        break
                }
@@ -52863,7 +51729,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64CMPLconst {
@@ -52879,7 +51745,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if s.AuxInt != 1 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64SETEQstore)
                v.AuxInt = off
                v.Aux = sym
@@ -52897,7 +51762,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64CMPQconst {
@@ -52913,7 +51778,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_0(v *Value) bool {
                if s.AuxInt != 1 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64SETEQstore)
                v.AuxInt = off
                v.Aux = sym
@@ -52936,13 +51800,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHLQconst {
                        break
@@ -52958,8 +51822,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -52980,7 +51842,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -53003,7 +51865,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53024,13 +51885,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHLLconst {
                        break
@@ -53046,8 +51907,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53068,7 +51927,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -53091,7 +51950,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53112,13 +51970,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -53134,8 +51992,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53156,7 +52012,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -53179,7 +52035,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53200,13 +52055,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -53222,8 +52077,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53244,7 +52097,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -53267,7 +52120,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1_0.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53288,13 +52140,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRQconst {
                        break
@@ -53303,8 +52155,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53325,7 +52175,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTQ {
@@ -53341,7 +52191,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_10(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53367,13 +52216,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
                        break
                }
-               = v_1.Args[1]
+               z2 := v_1.Args[1]
                z1 := v_1.Args[0]
                if z1.Op != OpAMD64SHRLconst {
                        break
@@ -53382,8 +52231,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               z2 := v_1.Args[1]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53404,7 +52251,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64TESTL {
@@ -53420,7 +52267,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
                        break
                }
                x := z1.Args[0]
-               mem := v.Args[2]
                if !(z1 == z2 && !config.nacl) {
                        break
                }
@@ -53441,14 +52287,13 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64InvertFlags {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpAMD64SETNEstore)
                v.AuxInt = off
                v.Aux = sym
@@ -53463,7 +52308,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -53471,7 +52316,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -53489,7 +52333,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -53498,7 +52342,6 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -53516,13 +52359,12 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagEQ {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -53539,13 +52381,12 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -53562,13 +52403,12 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagLT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -53585,13 +52425,12 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_ULT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -53608,13 +52447,12 @@ func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                x := v.Args[1]
                if x.Op != OpAMD64FlagGT_UGT {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -54891,13 +53729,12 @@ func rewriteValueAMD64_OpAMD64SUBL_0(v *Value) bool {
        // cond:
        // result: (NEGL (SUBLconst <v.Type> x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64NEGL)
                v0 := b.NewValue0(v.Pos, OpAMD64SUBLconst, v.Type)
                v0.AuxInt = c
@@ -54909,9 +53746,8 @@ func rewriteValueAMD64_OpAMD64SUBL_0(v *Value) bool {
        // cond:
        // result: (MOVLconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpAMD64MOVLconst)
@@ -54930,9 +53766,8 @@ func rewriteValueAMD64_OpAMD64SUBL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -54982,7 +53817,7 @@ func rewriteValueAMD64_OpAMD64SUBLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -54990,7 +53825,6 @@ func rewriteValueAMD64_OpAMD64SUBLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55008,7 +53842,7 @@ func rewriteValueAMD64_OpAMD64SUBLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -55017,7 +53851,6 @@ func rewriteValueAMD64_OpAMD64SUBLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55069,7 +53902,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -55077,7 +53910,6 @@ func rewriteValueAMD64_OpAMD64SUBLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55095,7 +53927,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -55104,7 +53936,6 @@ func rewriteValueAMD64_OpAMD64SUBLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55143,13 +53974,12 @@ func rewriteValueAMD64_OpAMD64SUBQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (NEGQ (SUBQconst <v.Type> x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -55164,9 +53994,8 @@ func rewriteValueAMD64_OpAMD64SUBQ_0(v *Value) bool {
        // cond:
        // result: (MOVQconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpAMD64MOVQconst)
@@ -55185,9 +54014,8 @@ func rewriteValueAMD64_OpAMD64SUBQ_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -55295,7 +54123,7 @@ func rewriteValueAMD64_OpAMD64SUBQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -55303,7 +54131,6 @@ func rewriteValueAMD64_OpAMD64SUBQload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55321,7 +54148,7 @@ func rewriteValueAMD64_OpAMD64SUBQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -55330,7 +54157,6 @@ func rewriteValueAMD64_OpAMD64SUBQload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55382,7 +54208,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -55390,7 +54216,6 @@ func rewriteValueAMD64_OpAMD64SUBQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55408,7 +54233,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -55417,7 +54242,6 @@ func rewriteValueAMD64_OpAMD64SUBQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55444,9 +54268,8 @@ func rewriteValueAMD64_OpAMD64SUBSD_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -55469,7 +54292,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -55477,7 +54300,6 @@ func rewriteValueAMD64_OpAMD64SUBSDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55495,7 +54317,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -55504,7 +54326,6 @@ func rewriteValueAMD64_OpAMD64SUBSDload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55562,9 +54383,8 @@ func rewriteValueAMD64_OpAMD64SUBSS_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -55587,7 +54407,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -55595,7 +54415,6 @@ func rewriteValueAMD64_OpAMD64SUBSSload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -55613,7 +54432,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -55622,7 +54441,6 @@ func rewriteValueAMD64_OpAMD64SUBSSload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -55673,13 +54491,12 @@ func rewriteValueAMD64_OpAMD64TESTB_0(v *Value) bool {
        // cond:
        // result: (TESTBconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64TESTBconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -55705,17 +54522,15 @@ func rewriteValueAMD64_OpAMD64TESTB_0(v *Value) bool {
        // cond: l == l2 && l.Uses == 2 && validValAndOff(0,off) && clobber(l)
        // result: @l.Block (CMPBconstload {sym} [makeValAndOff(0,off)] ptr mem)
        for {
-               = v.Args[1]
+               l2 := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVBload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               l2 := v.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -55741,9 +54556,8 @@ func rewriteValueAMD64_OpAMD64TESTB_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -55784,13 +54598,12 @@ func rewriteValueAMD64_OpAMD64TESTL_0(v *Value) bool {
        // cond:
        // result: (TESTLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64TESTLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -55816,17 +54629,15 @@ func rewriteValueAMD64_OpAMD64TESTL_0(v *Value) bool {
        // cond: l == l2 && l.Uses == 2 && validValAndOff(0,off) && clobber(l)
        // result: @l.Block (CMPLconstload {sym} [makeValAndOff(0,off)] ptr mem)
        for {
-               = v.Args[1]
+               l2 := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               l2 := v.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -55852,9 +54663,8 @@ func rewriteValueAMD64_OpAMD64TESTL_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -55895,13 +54705,12 @@ func rewriteValueAMD64_OpAMD64TESTQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (TESTQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -55933,17 +54742,15 @@ func rewriteValueAMD64_OpAMD64TESTQ_0(v *Value) bool {
        // cond: l == l2 && l.Uses == 2 && validValAndOff(0,off) && clobber(l)
        // result: @l.Block (CMPQconstload {sym} [makeValAndOff(0,off)] ptr mem)
        for {
-               = v.Args[1]
+               l2 := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               l2 := v.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -55969,9 +54776,8 @@ func rewriteValueAMD64_OpAMD64TESTQ_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -56012,13 +54818,12 @@ func rewriteValueAMD64_OpAMD64TESTW_0(v *Value) bool {
        // cond:
        // result: (TESTWconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64TESTWconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -56044,17 +54849,15 @@ func rewriteValueAMD64_OpAMD64TESTW_0(v *Value) bool {
        // cond: l == l2 && l.Uses == 2 && validValAndOff(0,off) && clobber(l)
        // result: @l.Block (CMPWconstload {sym} [makeValAndOff(0,off)] ptr mem)
        for {
-               = v.Args[1]
+               l2 := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVWload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               l2 := v.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -56080,9 +54883,8 @@ func rewriteValueAMD64_OpAMD64TESTW_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(l == l2 && l.Uses == 2 && validValAndOff(0, off) && clobber(l)) {
                        break
                }
@@ -56124,7 +54926,7 @@ func rewriteValueAMD64_OpAMD64XADDLlock_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -56132,7 +54934,6 @@ func rewriteValueAMD64_OpAMD64XADDLlock_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -56153,7 +54954,7 @@ func rewriteValueAMD64_OpAMD64XADDQlock_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -56161,7 +54962,6 @@ func rewriteValueAMD64_OpAMD64XADDQlock_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -56182,7 +54982,7 @@ func rewriteValueAMD64_OpAMD64XCHGL_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -56190,7 +54990,6 @@ func rewriteValueAMD64_OpAMD64XCHGL_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -56208,7 +55007,7 @@ func rewriteValueAMD64_OpAMD64XCHGL_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -56217,7 +55016,6 @@ func rewriteValueAMD64_OpAMD64XCHGL_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && ptr.Op != OpSB) {
                        break
                }
@@ -56238,7 +55036,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -56246,7 +55044,6 @@ func rewriteValueAMD64_OpAMD64XCHGQ_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -56264,7 +55061,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -56273,7 +55070,6 @@ func rewriteValueAMD64_OpAMD64XCHGQ_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && ptr.Op != OpSB) {
                        break
                }
@@ -56294,12 +55090,12 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTCL x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLL {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVLconst {
                        break
@@ -56307,8 +55103,6 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -56327,7 +55121,7 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
                if v_1.Op != OpAMD64SHLL {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVLconst {
                        break
@@ -56335,7 +55129,6 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
                if v_1_0.AuxInt != 1 {
                        break
                }
-               y := v_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -56348,13 +55141,12 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
        // cond: isUint32PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl
        // result: (BTCLconst [log2uint32(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint32PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl) {
                        break
                }
@@ -56402,13 +55194,12 @@ func rewriteValueAMD64_OpAMD64XORL_0(v *Value) bool {
        // cond:
        // result: (XORLconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVLconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpAMD64XORLconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -56587,9 +55378,8 @@ func rewriteValueAMD64_OpAMD64XORL_10(v *Value) bool {
        // cond:
        // result: (MOVLconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpAMD64MOVLconst)
@@ -56608,9 +55398,8 @@ func rewriteValueAMD64_OpAMD64XORL_10(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -56626,17 +55415,15 @@ func rewriteValueAMD64_OpAMD64XORL_10(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (XORLload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVLload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -56899,14 +55686,13 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -56923,7 +55709,7 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -56931,7 +55717,6 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -56953,7 +55738,7 @@ func rewriteValueAMD64_OpAMD64XORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -56961,7 +55746,6 @@ func rewriteValueAMD64_OpAMD64XORLload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -56979,7 +55763,7 @@ func rewriteValueAMD64_OpAMD64XORLload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -56988,7 +55772,6 @@ func rewriteValueAMD64_OpAMD64XORLload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -57040,7 +55823,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -57048,7 +55831,6 @@ func rewriteValueAMD64_OpAMD64XORLmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -57066,7 +55848,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -57075,7 +55857,6 @@ func rewriteValueAMD64_OpAMD64XORLmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -57096,12 +55877,12 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
        // cond: !config.nacl
        // result: (BTCQ x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64SHLQ {
                        break
                }
-               = v_0.Args[1]
+               y := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAMD64MOVQconst {
                        break
@@ -57109,8 +55890,6 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               y := v_0.Args[1]
-               x := v.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -57129,7 +55908,7 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
                if v_1.Op != OpAMD64SHLQ {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpAMD64MOVQconst {
                        break
@@ -57137,7 +55916,6 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
                if v_1_0.AuxInt != 1 {
                        break
                }
-               y := v_1.Args[1]
                if !(!config.nacl) {
                        break
                }
@@ -57150,13 +55928,12 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
        // cond: isUint64PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl
        // result: (BTCQconst [log2(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isUint64PowerOfTwo(c) && uint64(c) >= 128 && !config.nacl) {
                        break
                }
@@ -57207,13 +55984,12 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (XORQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64MOVQconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -57280,9 +56056,8 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
        // cond:
        // result: (MOVQconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpAMD64MOVQconst)
@@ -57301,9 +56076,8 @@ func rewriteValueAMD64_OpAMD64XORQ_0(v *Value) bool {
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -57322,17 +56096,15 @@ func rewriteValueAMD64_OpAMD64XORQ_10(v *Value) bool {
        // cond: canMergeLoadClobber(v, l, x) && clobber(l)
        // result: (XORQload x [off] {sym} ptr mem)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                l := v.Args[0]
                if l.Op != OpAMD64MOVQload {
                        break
                }
                off := l.AuxInt
                sym := l.Aux
-               _ = l.Args[1]
-               ptr := l.Args[0]
                mem := l.Args[1]
-               x := v.Args[1]
+               ptr := l.Args[0]
                if !(canMergeLoadClobber(v, l, x) && clobber(l)) {
                        break
                }
@@ -57431,14 +56203,13 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
                }
                off2 := v_0.AuxInt
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2)) {
                        break
                }
@@ -57455,7 +56226,7 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify_0(v *Value) bool {
        for {
                valoff1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -57463,7 +56234,6 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(ValAndOff(valoff1).canAdd(off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -57485,7 +56255,7 @@ func rewriteValueAMD64_OpAMD64XORQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64ADDQconst {
@@ -57493,7 +56263,6 @@ func rewriteValueAMD64_OpAMD64XORQload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -57511,7 +56280,7 @@ func rewriteValueAMD64_OpAMD64XORQload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                val := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpAMD64LEAQ {
@@ -57520,7 +56289,6 @@ func rewriteValueAMD64_OpAMD64XORQload_0(v *Value) bool {
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
                base := v_1.Args[0]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -57572,7 +56340,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64ADDQconst {
                        break
@@ -57580,7 +56348,6 @@ func rewriteValueAMD64_OpAMD64XORQmodify_0(v *Value) bool {
                off2 := v_0.AuxInt
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -57598,7 +56365,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpAMD64LEAQ {
                        break
@@ -57607,7 +56374,6 @@ func rewriteValueAMD64_OpAMD64XORQmodify_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -57626,9 +56392,8 @@ func rewriteValueAMD64_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57640,9 +56405,8 @@ func rewriteValueAMD64_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57654,9 +56418,8 @@ func rewriteValueAMD64_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (ADDSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -57668,9 +56431,8 @@ func rewriteValueAMD64_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (ADDQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -57682,9 +56444,8 @@ func rewriteValueAMD64_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (ADDSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -57696,9 +56457,8 @@ func rewriteValueAMD64_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ADDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57712,9 +56472,8 @@ func rewriteValueAMD64_OpAddPtr_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (ADDQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -57727,9 +56486,8 @@ func rewriteValueAMD64_OpAddPtr_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (ADDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -57778,9 +56536,8 @@ func rewriteValueAMD64_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57792,9 +56549,8 @@ func rewriteValueAMD64_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57806,9 +56562,8 @@ func rewriteValueAMD64_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (ANDQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ANDQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -57820,9 +56575,8 @@ func rewriteValueAMD64_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57834,9 +56588,8 @@ func rewriteValueAMD64_OpAndB_0(v *Value) bool {
        // cond:
        // result: (ANDL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ANDL)
                v.AddArg(x)
                v.AddArg(y)
@@ -57850,10 +56603,9 @@ func rewriteValueAMD64_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (AddTupleFirst32 val (XADDLlock val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64AddTupleFirst32)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpAMD64XADDLlock, types.NewTuple(typ.UInt32, types.TypeMem))
@@ -57871,10 +56623,9 @@ func rewriteValueAMD64_OpAtomicAdd64_0(v *Value) bool {
        // cond:
        // result: (AddTupleFirst64 val (XADDQlock val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64AddTupleFirst64)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpAMD64XADDQlock, types.NewTuple(typ.UInt64, types.TypeMem))
@@ -57890,10 +56641,9 @@ func rewriteValueAMD64_OpAtomicAnd8_0(v *Value) bool {
        // cond:
        // result: (ANDBlock ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64ANDBlock)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -57906,11 +56656,10 @@ func rewriteValueAMD64_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (CMPXCHGLlock ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64CMPXCHGLlock)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -57924,11 +56673,10 @@ func rewriteValueAMD64_OpAtomicCompareAndSwap64_0(v *Value) bool {
        // cond:
        // result: (CMPXCHGQlock ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpAMD64CMPXCHGQlock)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -57942,10 +56690,9 @@ func rewriteValueAMD64_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (XCHGL val ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64XCHGL)
                v.AddArg(val)
                v.AddArg(ptr)
@@ -57958,10 +56705,9 @@ func rewriteValueAMD64_OpAtomicExchange64_0(v *Value) bool {
        // cond:
        // result: (XCHGQ val ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64XCHGQ)
                v.AddArg(val)
                v.AddArg(ptr)
@@ -57974,9 +56720,8 @@ func rewriteValueAMD64_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (MOVLatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpAMD64MOVLatomicload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -57988,9 +56733,8 @@ func rewriteValueAMD64_OpAtomicLoad64_0(v *Value) bool {
        // cond:
        // result: (MOVQatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpAMD64MOVQatomicload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -58004,9 +56748,8 @@ func rewriteValueAMD64_OpAtomicLoadPtr_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (MOVQatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -58019,9 +56762,8 @@ func rewriteValueAMD64_OpAtomicLoadPtr_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (MOVLatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -58037,10 +56779,9 @@ func rewriteValueAMD64_OpAtomicOr8_0(v *Value) bool {
        // cond:
        // result: (ORBlock ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64ORBlock)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -58055,10 +56796,9 @@ func rewriteValueAMD64_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (Select1 (XCHGL <types.NewTuple(typ.UInt32,types.TypeMem)> val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64XCHGL, types.NewTuple(typ.UInt32, types.TypeMem))
                v0.AddArg(val)
@@ -58075,10 +56815,9 @@ func rewriteValueAMD64_OpAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (Select1 (XCHGQ <types.NewTuple(typ.UInt64,types.TypeMem)> val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, types.NewTuple(typ.UInt64, types.TypeMem))
                v0.AddArg(val)
@@ -58096,10 +56835,9 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (Select1 (XCHGQ <types.NewTuple(typ.BytePtr,types.TypeMem)> val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -58115,10 +56853,9 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (Select1 (XCHGL <types.NewTuple(typ.BytePtr,types.TypeMem)> val ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -58137,9 +56874,8 @@ func rewriteValueAMD64_OpAvg64u_0(v *Value) bool {
        // cond:
        // result: (AVGQU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64AVGQU)
                v.AddArg(x)
                v.AddArg(y)
@@ -58280,10 +57016,9 @@ func rewriteValueAMD64_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64CALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -59280,10 +58015,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CondSelect <t> x y (MOVBQZX <typ.UInt64> check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 1) {
                        break
                }
@@ -59301,10 +58035,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CondSelect <t> x y (MOVWQZX <typ.UInt64> check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 2) {
                        break
                }
@@ -59322,10 +58055,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CondSelect <t> x y (MOVLQZX <typ.UInt64> check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 4) {
                        break
                }
@@ -59343,10 +58075,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CMOVQNE y x (CMPQconst [0] check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 8 && (is64BitInt(t) || isPtr(t))) {
                        break
                }
@@ -59364,10 +58095,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CMOVLNE y x (CMPQconst [0] check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 8 && is32BitInt(t)) {
                        break
                }
@@ -59385,10 +58115,9 @@ func rewriteValueAMD64_OpCondSelect_40(v *Value) bool {
        // result: (CMOVWNE y x (CMPQconst [0] check))
        for {
                t := v.Type
-               = v.Args[2]
+               check := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               check := v.Args[2]
                if !(!check.Type.IsFlags() && check.Type.Size() == 8 && is16BitInt(t)) {
                        break
                }
@@ -59746,10 +58475,9 @@ func rewriteValueAMD64_OpDiv128u_0(v *Value) bool {
        // cond:
        // result: (DIVQU2 xhi xlo y)
        for {
-               = v.Args[2]
+               y := v.Args[2]
                xhi := v.Args[0]
                xlo := v.Args[1]
-               y := v.Args[2]
                v.reset(OpAMD64DIVQU2)
                v.AddArg(xhi)
                v.AddArg(xlo)
@@ -59765,9 +58493,8 @@ func rewriteValueAMD64_OpDiv16_0(v *Value) bool {
        // result: (Select0 (DIVW [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
                v0.AuxInt = a
@@ -59784,9 +58511,8 @@ func rewriteValueAMD64_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
                v0.AddArg(x)
@@ -59803,9 +58529,8 @@ func rewriteValueAMD64_OpDiv32_0(v *Value) bool {
        // result: (Select0 (DIVL [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
                v0.AuxInt = a
@@ -59820,9 +58545,8 @@ func rewriteValueAMD64_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (DIVSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64DIVSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -59836,9 +58560,8 @@ func rewriteValueAMD64_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVLU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32))
                v0.AddArg(x)
@@ -59855,9 +58578,8 @@ func rewriteValueAMD64_OpDiv64_0(v *Value) bool {
        // result: (Select0 (DIVQ [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
                v0.AuxInt = a
@@ -59872,9 +58594,8 @@ func rewriteValueAMD64_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (DIVSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64DIVSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -59888,9 +58609,8 @@ func rewriteValueAMD64_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVQU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -59906,9 +58626,8 @@ func rewriteValueAMD64_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
                v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
@@ -59928,9 +58647,8 @@ func rewriteValueAMD64_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
@@ -59949,9 +58667,8 @@ func rewriteValueAMD64_OpEq16_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQ)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -59966,9 +58683,8 @@ func rewriteValueAMD64_OpEq32_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQ)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -59983,9 +58699,8 @@ func rewriteValueAMD64_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (SETEQF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -60000,9 +58715,8 @@ func rewriteValueAMD64_OpEq64_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQ)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60017,9 +58731,8 @@ func rewriteValueAMD64_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (SETEQF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -60034,9 +58747,8 @@ func rewriteValueAMD64_OpEq8_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQ)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60051,9 +58763,8 @@ func rewriteValueAMD64_OpEqB_0(v *Value) bool {
        // cond:
        // result: (SETEQ (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETEQ)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60069,9 +58780,8 @@ func rewriteValueAMD64_OpEqPtr_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (SETEQ (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -60086,9 +58796,8 @@ func rewriteValueAMD64_OpEqPtr_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (SETEQ (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -60119,9 +58828,8 @@ func rewriteValueAMD64_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60136,9 +58844,8 @@ func rewriteValueAMD64_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETAE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60153,9 +58860,8 @@ func rewriteValueAMD64_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60170,9 +58876,8 @@ func rewriteValueAMD64_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -60187,9 +58892,8 @@ func rewriteValueAMD64_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETAE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60204,9 +58908,8 @@ func rewriteValueAMD64_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60221,9 +58924,8 @@ func rewriteValueAMD64_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -60238,9 +58940,8 @@ func rewriteValueAMD64_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETAE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60255,9 +58956,8 @@ func rewriteValueAMD64_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (SETGE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60272,9 +58972,8 @@ func rewriteValueAMD64_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (SETAE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETAE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60327,9 +59026,8 @@ func rewriteValueAMD64_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETG)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60344,9 +59042,8 @@ func rewriteValueAMD64_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETA)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60361,9 +59058,8 @@ func rewriteValueAMD64_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETG)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60378,9 +59074,8 @@ func rewriteValueAMD64_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -60395,9 +59090,8 @@ func rewriteValueAMD64_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETA)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60412,9 +59106,8 @@ func rewriteValueAMD64_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETG)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60429,9 +59122,8 @@ func rewriteValueAMD64_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -60446,9 +59138,8 @@ func rewriteValueAMD64_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETA)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60463,9 +59154,8 @@ func rewriteValueAMD64_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (SETG (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETG)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60480,9 +59170,8 @@ func rewriteValueAMD64_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (SETA (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETA)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60496,9 +59185,8 @@ func rewriteValueAMD64_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (HMULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64HMULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -60510,9 +59198,8 @@ func rewriteValueAMD64_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (HMULLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64HMULLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -60524,9 +59211,8 @@ func rewriteValueAMD64_OpHmul64_0(v *Value) bool {
        // cond:
        // result: (HMULQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64HMULQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -60538,9 +59224,8 @@ func rewriteValueAMD64_OpHmul64u_0(v *Value) bool {
        // cond:
        // result: (HMULQU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64HMULQU)
                v.AddArg(x)
                v.AddArg(y)
@@ -60565,9 +59250,8 @@ func rewriteValueAMD64_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpAMD64CALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -60582,9 +59266,8 @@ func rewriteValueAMD64_OpIsInBounds_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (SETB (CMPQ idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -60599,9 +59282,8 @@ func rewriteValueAMD64_OpIsInBounds_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (SETB (CMPL idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -60656,9 +59338,8 @@ func rewriteValueAMD64_OpIsSliceInBounds_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (SETBE (CMPQ idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -60673,9 +59354,8 @@ func rewriteValueAMD64_OpIsSliceInBounds_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (SETBE (CMPL idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -60694,9 +59374,8 @@ func rewriteValueAMD64_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETLE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60711,9 +59390,8 @@ func rewriteValueAMD64_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETBE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60728,9 +59406,8 @@ func rewriteValueAMD64_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETLE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60745,9 +59422,8 @@ func rewriteValueAMD64_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(y)
@@ -60762,9 +59438,8 @@ func rewriteValueAMD64_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETBE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60779,9 +59454,8 @@ func rewriteValueAMD64_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETLE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60796,9 +59470,8 @@ func rewriteValueAMD64_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (SETGEF (UCOMISD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(y)
@@ -60813,9 +59486,8 @@ func rewriteValueAMD64_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETBE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60830,9 +59502,8 @@ func rewriteValueAMD64_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (SETLE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETLE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60847,9 +59518,8 @@ func rewriteValueAMD64_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (SETBE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETBE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -60864,9 +59534,8 @@ func rewriteValueAMD64_OpLess16_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETL)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60881,9 +59550,8 @@ func rewriteValueAMD64_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETB)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -60898,9 +59566,8 @@ func rewriteValueAMD64_OpLess32_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETL)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60915,9 +59582,8 @@ func rewriteValueAMD64_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(y)
@@ -60932,9 +59598,8 @@ func rewriteValueAMD64_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETB)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -60949,9 +59614,8 @@ func rewriteValueAMD64_OpLess64_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETL)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -60966,9 +59630,8 @@ func rewriteValueAMD64_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (SETGF (UCOMISD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETGF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(y)
@@ -60983,9 +59646,8 @@ func rewriteValueAMD64_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETB)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -61000,9 +59662,8 @@ func rewriteValueAMD64_OpLess8_0(v *Value) bool {
        // cond:
        // result: (SETL (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETL)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -61017,9 +59678,8 @@ func rewriteValueAMD64_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (SETB (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETB)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -61036,9 +59696,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVQload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) || isPtr(t) && config.PtrSize == 8) {
                        break
                }
@@ -61052,9 +59711,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVLload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) || isPtr(t) && config.PtrSize == 4) {
                        break
                }
@@ -61068,9 +59726,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t)) {
                        break
                }
@@ -61084,9 +59741,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean() || is8BitInt(t)) {
                        break
                }
@@ -61100,9 +59756,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVSSload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -61116,9 +59771,8 @@ func rewriteValueAMD64_OpLoad_0(v *Value) bool {
        // result: (MOVSDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -61171,9 +59825,8 @@ func rewriteValueAMD64_OpLsh16x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61194,9 +59847,8 @@ func rewriteValueAMD64_OpLsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61214,9 +59866,8 @@ func rewriteValueAMD64_OpLsh16x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61237,9 +59888,8 @@ func rewriteValueAMD64_OpLsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61257,9 +59907,8 @@ func rewriteValueAMD64_OpLsh16x64_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPQconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61280,9 +59929,8 @@ func rewriteValueAMD64_OpLsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61300,9 +59948,8 @@ func rewriteValueAMD64_OpLsh16x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61323,9 +59970,8 @@ func rewriteValueAMD64_OpLsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61343,9 +59989,8 @@ func rewriteValueAMD64_OpLsh32x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61366,9 +60011,8 @@ func rewriteValueAMD64_OpLsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61386,9 +60030,8 @@ func rewriteValueAMD64_OpLsh32x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61409,9 +60052,8 @@ func rewriteValueAMD64_OpLsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61429,9 +60071,8 @@ func rewriteValueAMD64_OpLsh32x64_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPQconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61452,9 +60093,8 @@ func rewriteValueAMD64_OpLsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61472,9 +60112,8 @@ func rewriteValueAMD64_OpLsh32x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61495,9 +60134,8 @@ func rewriteValueAMD64_OpLsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61515,9 +60153,8 @@ func rewriteValueAMD64_OpLsh64x16_0(v *Value) bool {
        // result: (ANDQ (SHLQ <t> x y) (SBBQcarrymask <t> (CMPWconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61538,9 +60175,8 @@ func rewriteValueAMD64_OpLsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61558,9 +60194,8 @@ func rewriteValueAMD64_OpLsh64x32_0(v *Value) bool {
        // result: (ANDQ (SHLQ <t> x y) (SBBQcarrymask <t> (CMPLconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61581,9 +60216,8 @@ func rewriteValueAMD64_OpLsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61601,9 +60235,8 @@ func rewriteValueAMD64_OpLsh64x64_0(v *Value) bool {
        // result: (ANDQ (SHLQ <t> x y) (SBBQcarrymask <t> (CMPQconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61624,9 +60257,8 @@ func rewriteValueAMD64_OpLsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61644,9 +60276,8 @@ func rewriteValueAMD64_OpLsh64x8_0(v *Value) bool {
        // result: (ANDQ (SHLQ <t> x y) (SBBQcarrymask <t> (CMPBconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61667,9 +60298,8 @@ func rewriteValueAMD64_OpLsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61687,9 +60317,8 @@ func rewriteValueAMD64_OpLsh8x16_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61710,9 +60339,8 @@ func rewriteValueAMD64_OpLsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61730,9 +60358,8 @@ func rewriteValueAMD64_OpLsh8x32_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61753,9 +60380,8 @@ func rewriteValueAMD64_OpLsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61773,9 +60399,8 @@ func rewriteValueAMD64_OpLsh8x64_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPQconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61796,9 +60421,8 @@ func rewriteValueAMD64_OpLsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61816,9 +60440,8 @@ func rewriteValueAMD64_OpLsh8x8_0(v *Value) bool {
        // result: (ANDL (SHLL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -61839,9 +60462,8 @@ func rewriteValueAMD64_OpLsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -61860,9 +60482,8 @@ func rewriteValueAMD64_OpMod16_0(v *Value) bool {
        // result: (Select1 (DIVW [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
                v0.AuxInt = a
@@ -61879,9 +60500,8 @@ func rewriteValueAMD64_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
                v0.AddArg(x)
@@ -61898,9 +60518,8 @@ func rewriteValueAMD64_OpMod32_0(v *Value) bool {
        // result: (Select1 (DIVL [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
                v0.AuxInt = a
@@ -61917,9 +60536,8 @@ func rewriteValueAMD64_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVLU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32))
                v0.AddArg(x)
@@ -61936,9 +60554,8 @@ func rewriteValueAMD64_OpMod64_0(v *Value) bool {
        // result: (Select1 (DIVQ [a] x y))
        for {
                a := v.AuxInt
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
                v0.AuxInt = a
@@ -61955,9 +60572,8 @@ func rewriteValueAMD64_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVQU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -61973,9 +60589,8 @@ func rewriteValueAMD64_OpMod8_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
                v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
@@ -61995,9 +60610,8 @@ func rewriteValueAMD64_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
@@ -62021,7 +60635,6 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -62035,10 +60648,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
@@ -62055,10 +60667,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
@@ -62075,10 +60686,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
@@ -62095,10 +60705,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVQstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
@@ -62115,10 +60724,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(config.useSSE) {
                        break
                }
@@ -62138,10 +60746,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(!config.useSSE) {
                        break
                }
@@ -62170,10 +60777,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 32 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMove)
                v.AuxInt = 16
                v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
@@ -62199,10 +60805,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 48 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(config.useSSE) {
                        break
                }
@@ -62231,10 +60836,9 @@ func rewriteValueAMD64_OpMove_0(v *Value) bool {
                if v.AuxInt != 64 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(config.useSSE) {
                        break
                }
@@ -62269,10 +60873,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -62298,10 +60901,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -62327,10 +60929,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -62356,10 +60957,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -62385,10 +60985,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 9 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -62414,10 +61013,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 10 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVWstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -62443,10 +61041,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
                if v.AuxInt != 12 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -62470,10 +61067,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
        // result: (MOVQstore [s-8] dst (MOVQload [s-8] src mem) (MOVQstore dst (MOVQload src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s == 11 || s >= 13 && s <= 15) {
                        break
                }
@@ -62500,10 +61096,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
        // result: (Move [s-s%16] (OffPtr <dst.Type> dst [s%16]) (OffPtr <src.Type> src [s%16]) (MOVQstore dst (MOVQload src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 && s%16 != 0 && s%16 <= 8) {
                        break
                }
@@ -62532,10 +61127,9 @@ func rewriteValueAMD64_OpMove_10(v *Value) bool {
        // result: (Move [s-s%16] (OffPtr <dst.Type> dst [s%16]) (OffPtr <src.Type> src [s%16]) (MOVOstore dst (MOVOload src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 && s%16 != 0 && s%16 > 8 && config.useSSE) {
                        break
                }
@@ -62570,10 +61164,9 @@ func rewriteValueAMD64_OpMove_20(v *Value) bool {
        // result: (Move [s-s%16] (OffPtr <dst.Type> dst [s%16]) (OffPtr <src.Type> src [s%16]) (MOVQstore [8] dst (MOVQload [8] src mem) (MOVQstore dst (MOVQload src mem) mem)))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 && s%16 != 0 && s%16 > 8 && !config.useSSE) {
                        break
                }
@@ -62611,10 +61204,9 @@ func rewriteValueAMD64_OpMove_20(v *Value) bool {
        // result: (DUFFCOPY [14*(64-s/16)] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 64 && s <= 16*64 && s%16 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -62630,10 +61222,9 @@ func rewriteValueAMD64_OpMove_20(v *Value) bool {
        // result: (REPMOVSQ dst src (MOVQconst [s/8]) mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !((s > 16*64 || config.noDuffDevice) && s%8 == 0) {
                        break
                }
@@ -62653,9 +61244,8 @@ func rewriteValueAMD64_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -62667,9 +61257,8 @@ func rewriteValueAMD64_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -62681,9 +61270,8 @@ func rewriteValueAMD64_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (MULSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -62695,9 +61283,8 @@ func rewriteValueAMD64_OpMul64_0(v *Value) bool {
        // cond:
        // result: (MULQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -62709,9 +61296,8 @@ func rewriteValueAMD64_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (MULSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -62723,9 +61309,8 @@ func rewriteValueAMD64_OpMul64uhilo_0(v *Value) bool {
        // cond:
        // result: (MULQU2 x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULQU2)
                v.AddArg(x)
                v.AddArg(y)
@@ -62737,9 +61322,8 @@ func rewriteValueAMD64_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MULL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64MULL)
                v.AddArg(x)
                v.AddArg(y)
@@ -62828,9 +61412,8 @@ func rewriteValueAMD64_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -62845,9 +61428,8 @@ func rewriteValueAMD64_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
                v0.AddArg(x)
@@ -62862,9 +61444,8 @@ func rewriteValueAMD64_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (SETNEF (UCOMISS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
                v0.AddArg(x)
@@ -62879,9 +61460,8 @@ func rewriteValueAMD64_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
                v0.AddArg(x)
@@ -62896,9 +61476,8 @@ func rewriteValueAMD64_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (SETNEF (UCOMISD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNEF)
                v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
                v0.AddArg(x)
@@ -62913,9 +61492,8 @@ func rewriteValueAMD64_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -62930,9 +61508,8 @@ func rewriteValueAMD64_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (SETNE (CMPB x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SETNE)
                v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
                v0.AddArg(x)
@@ -62948,9 +61525,8 @@ func rewriteValueAMD64_OpNeqPtr_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (SETNE (CMPQ x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -62965,9 +61541,8 @@ func rewriteValueAMD64_OpNeqPtr_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (SETNE (CMPL x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -62985,9 +61560,8 @@ func rewriteValueAMD64_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpAMD64LoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -63061,9 +61635,8 @@ func rewriteValueAMD64_OpOr16_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -63075,9 +61648,8 @@ func rewriteValueAMD64_OpOr32_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -63089,9 +61661,8 @@ func rewriteValueAMD64_OpOr64_0(v *Value) bool {
        // cond:
        // result: (ORQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ORQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -63103,9 +61674,8 @@ func rewriteValueAMD64_OpOr8_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -63117,9 +61687,8 @@ func rewriteValueAMD64_OpOrB_0(v *Value) bool {
        // cond:
        // result: (ORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64ORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -63183,9 +61752,8 @@ func rewriteValueAMD64_OpRotateLeft16_0(v *Value) bool {
        // cond:
        // result: (ROLW a b)
        for {
-               _ = v.Args[1]
-               a := v.Args[0]
                b := v.Args[1]
+               a := v.Args[0]
                v.reset(OpAMD64ROLW)
                v.AddArg(a)
                v.AddArg(b)
@@ -63197,9 +61765,8 @@ func rewriteValueAMD64_OpRotateLeft32_0(v *Value) bool {
        // cond:
        // result: (ROLL a b)
        for {
-               _ = v.Args[1]
-               a := v.Args[0]
                b := v.Args[1]
+               a := v.Args[0]
                v.reset(OpAMD64ROLL)
                v.AddArg(a)
                v.AddArg(b)
@@ -63211,9 +61778,8 @@ func rewriteValueAMD64_OpRotateLeft64_0(v *Value) bool {
        // cond:
        // result: (ROLQ a b)
        for {
-               _ = v.Args[1]
-               a := v.Args[0]
                b := v.Args[1]
+               a := v.Args[0]
                v.reset(OpAMD64ROLQ)
                v.AddArg(a)
                v.AddArg(b)
@@ -63225,9 +61791,8 @@ func rewriteValueAMD64_OpRotateLeft8_0(v *Value) bool {
        // cond:
        // result: (ROLB a b)
        for {
-               _ = v.Args[1]
-               a := v.Args[0]
                b := v.Args[1]
+               a := v.Args[0]
                v.reset(OpAMD64ROLB)
                v.AddArg(a)
                v.AddArg(b)
@@ -63277,9 +61842,8 @@ func rewriteValueAMD64_OpRsh16Ux16_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPWconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63300,9 +61864,8 @@ func rewriteValueAMD64_OpRsh16Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63320,9 +61883,8 @@ func rewriteValueAMD64_OpRsh16Ux32_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPLconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63343,9 +61905,8 @@ func rewriteValueAMD64_OpRsh16Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63363,9 +61924,8 @@ func rewriteValueAMD64_OpRsh16Ux64_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPQconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63386,9 +61946,8 @@ func rewriteValueAMD64_OpRsh16Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63406,9 +61965,8 @@ func rewriteValueAMD64_OpRsh16Ux8_0(v *Value) bool {
        // result: (ANDL (SHRW <t> x y) (SBBLcarrymask <t> (CMPBconst y [16])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63429,9 +61987,8 @@ func rewriteValueAMD64_OpRsh16Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63449,9 +62006,8 @@ func rewriteValueAMD64_OpRsh16x16_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63475,9 +62031,8 @@ func rewriteValueAMD64_OpRsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63495,9 +62050,8 @@ func rewriteValueAMD64_OpRsh16x32_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63521,9 +62075,8 @@ func rewriteValueAMD64_OpRsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63541,9 +62094,8 @@ func rewriteValueAMD64_OpRsh16x64_0(v *Value) bool {
        // result: (SARW <t> x (ORQ <y.Type> y (NOTQ <y.Type> (SBBQcarrymask <y.Type> (CMPQconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63567,9 +62119,8 @@ func rewriteValueAMD64_OpRsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63587,9 +62138,8 @@ func rewriteValueAMD64_OpRsh16x8_0(v *Value) bool {
        // result: (SARW <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [16])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63613,9 +62163,8 @@ func rewriteValueAMD64_OpRsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63633,9 +62182,8 @@ func rewriteValueAMD64_OpRsh32Ux16_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPWconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63656,9 +62204,8 @@ func rewriteValueAMD64_OpRsh32Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63676,9 +62223,8 @@ func rewriteValueAMD64_OpRsh32Ux32_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPLconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63699,9 +62245,8 @@ func rewriteValueAMD64_OpRsh32Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63719,9 +62264,8 @@ func rewriteValueAMD64_OpRsh32Ux64_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPQconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63742,9 +62286,8 @@ func rewriteValueAMD64_OpRsh32Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63762,9 +62305,8 @@ func rewriteValueAMD64_OpRsh32Ux8_0(v *Value) bool {
        // result: (ANDL (SHRL <t> x y) (SBBLcarrymask <t> (CMPBconst y [32])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63785,9 +62327,8 @@ func rewriteValueAMD64_OpRsh32Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63805,9 +62346,8 @@ func rewriteValueAMD64_OpRsh32x16_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63831,9 +62371,8 @@ func rewriteValueAMD64_OpRsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63851,9 +62390,8 @@ func rewriteValueAMD64_OpRsh32x32_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63877,9 +62415,8 @@ func rewriteValueAMD64_OpRsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63897,9 +62434,8 @@ func rewriteValueAMD64_OpRsh32x64_0(v *Value) bool {
        // result: (SARL <t> x (ORQ <y.Type> y (NOTQ <y.Type> (SBBQcarrymask <y.Type> (CMPQconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63923,9 +62459,8 @@ func rewriteValueAMD64_OpRsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63943,9 +62478,8 @@ func rewriteValueAMD64_OpRsh32x8_0(v *Value) bool {
        // result: (SARL <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [32])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -63969,9 +62503,8 @@ func rewriteValueAMD64_OpRsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -63989,9 +62522,8 @@ func rewriteValueAMD64_OpRsh64Ux16_0(v *Value) bool {
        // result: (ANDQ (SHRQ <t> x y) (SBBQcarrymask <t> (CMPWconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64012,9 +62544,8 @@ func rewriteValueAMD64_OpRsh64Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64032,9 +62563,8 @@ func rewriteValueAMD64_OpRsh64Ux32_0(v *Value) bool {
        // result: (ANDQ (SHRQ <t> x y) (SBBQcarrymask <t> (CMPLconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64055,9 +62585,8 @@ func rewriteValueAMD64_OpRsh64Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64075,9 +62604,8 @@ func rewriteValueAMD64_OpRsh64Ux64_0(v *Value) bool {
        // result: (ANDQ (SHRQ <t> x y) (SBBQcarrymask <t> (CMPQconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64098,9 +62626,8 @@ func rewriteValueAMD64_OpRsh64Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64118,9 +62645,8 @@ func rewriteValueAMD64_OpRsh64Ux8_0(v *Value) bool {
        // result: (ANDQ (SHRQ <t> x y) (SBBQcarrymask <t> (CMPBconst y [64])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64141,9 +62667,8 @@ func rewriteValueAMD64_OpRsh64Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64161,9 +62686,8 @@ func rewriteValueAMD64_OpRsh64x16_0(v *Value) bool {
        // result: (SARQ <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [64])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64187,9 +62711,8 @@ func rewriteValueAMD64_OpRsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64207,9 +62730,8 @@ func rewriteValueAMD64_OpRsh64x32_0(v *Value) bool {
        // result: (SARQ <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [64])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64233,9 +62755,8 @@ func rewriteValueAMD64_OpRsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64253,9 +62774,8 @@ func rewriteValueAMD64_OpRsh64x64_0(v *Value) bool {
        // result: (SARQ <t> x (ORQ <y.Type> y (NOTQ <y.Type> (SBBQcarrymask <y.Type> (CMPQconst y [64])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64279,9 +62799,8 @@ func rewriteValueAMD64_OpRsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64299,9 +62818,8 @@ func rewriteValueAMD64_OpRsh64x8_0(v *Value) bool {
        // result: (SARQ <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [64])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64325,9 +62843,8 @@ func rewriteValueAMD64_OpRsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64345,9 +62862,8 @@ func rewriteValueAMD64_OpRsh8Ux16_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPWconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64368,9 +62884,8 @@ func rewriteValueAMD64_OpRsh8Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64388,9 +62903,8 @@ func rewriteValueAMD64_OpRsh8Ux32_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPLconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64411,9 +62925,8 @@ func rewriteValueAMD64_OpRsh8Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64431,9 +62944,8 @@ func rewriteValueAMD64_OpRsh8Ux64_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPQconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64454,9 +62966,8 @@ func rewriteValueAMD64_OpRsh8Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64474,9 +62985,8 @@ func rewriteValueAMD64_OpRsh8Ux8_0(v *Value) bool {
        // result: (ANDL (SHRB <t> x y) (SBBLcarrymask <t> (CMPBconst y [8])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64497,9 +63007,8 @@ func rewriteValueAMD64_OpRsh8Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SHRB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64517,9 +63026,8 @@ func rewriteValueAMD64_OpRsh8x16_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPWconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64543,9 +63051,8 @@ func rewriteValueAMD64_OpRsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64563,9 +63070,8 @@ func rewriteValueAMD64_OpRsh8x32_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPLconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64589,9 +63095,8 @@ func rewriteValueAMD64_OpRsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64609,9 +63114,8 @@ func rewriteValueAMD64_OpRsh8x64_0(v *Value) bool {
        // result: (SARB <t> x (ORQ <y.Type> y (NOTQ <y.Type> (SBBQcarrymask <y.Type> (CMPQconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64635,9 +63139,8 @@ func rewriteValueAMD64_OpRsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64655,9 +63158,8 @@ func rewriteValueAMD64_OpRsh8x8_0(v *Value) bool {
        // result: (SARB <t> x (ORL <y.Type> y (NOTL <y.Type> (SBBLcarrymask <y.Type> (CMPBconst y [8])))))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(!shiftIsBounded(v)) {
                        break
                }
@@ -64681,9 +63183,8 @@ func rewriteValueAMD64_OpRsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SARB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -64705,9 +63206,8 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpMul64uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSelect0)
                v.Type = typ.UInt64
                v0 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags))
@@ -64724,9 +63224,8 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpMul32uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSelect0)
                v.Type = typ.UInt32
                v0 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
@@ -64743,10 +63242,9 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpAdd64carry {
                        break
                }
-               = v_0.Args[2]
+               c := v_0.Args[2]
                x := v_0.Args[0]
                y := v_0.Args[1]
-               c := v_0.Args[2]
                v.reset(OpSelect0)
                v.Type = typ.UInt64
                v0 := b.NewValue0(v.Pos, OpAMD64ADCQ, types.NewTuple(typ.UInt64, types.TypeFlags))
@@ -64768,10 +63266,9 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpSub64borrow {
                        break
                }
-               = v_0.Args[2]
+               c := v_0.Args[2]
                x := v_0.Args[0]
                y := v_0.Args[1]
-               c := v_0.Args[2]
                v.reset(OpSelect0)
                v.Type = typ.UInt64
                v0 := b.NewValue0(v.Pos, OpAMD64SBBQ, types.NewTuple(typ.UInt64, types.TypeFlags))
@@ -64794,9 +63291,8 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpAMD64AddTupleFirst32 {
                        break
                }
-               _ = v_0.Args[1]
-               val := v_0.Args[0]
                tuple := v_0.Args[1]
+               val := v_0.Args[0]
                v.reset(OpAMD64ADDL)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpSelect0, t)
@@ -64813,9 +63309,8 @@ func rewriteValueAMD64_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpAMD64AddTupleFirst64 {
                        break
                }
-               _ = v_0.Args[1]
-               val := v_0.Args[0]
                tuple := v_0.Args[1]
+               val := v_0.Args[0]
                v.reset(OpAMD64ADDQ)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpSelect0, t)
@@ -64836,9 +63331,8 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMul64uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64SETO)
                v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags))
@@ -64856,9 +63350,8 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMul32uover {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpAMD64SETO)
                v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
@@ -64876,10 +63369,9 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpAdd64carry {
                        break
                }
-               = v_0.Args[2]
+               c := v_0.Args[2]
                x := v_0.Args[0]
                y := v_0.Args[1]
-               c := v_0.Args[2]
                v.reset(OpAMD64NEGQ)
                v.Type = typ.UInt64
                v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64)
@@ -64905,10 +63397,9 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpSub64borrow {
                        break
                }
-               = v_0.Args[2]
+               c := v_0.Args[2]
                x := v_0.Args[0]
                y := v_0.Args[1]
-               c := v_0.Args[2]
                v.reset(OpAMD64NEGQ)
                v.Type = typ.UInt64
                v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64)
@@ -64974,7 +63465,6 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpAMD64AddTupleFirst32 {
                        break
                }
-               _ = v_0.Args[1]
                tuple := v_0.Args[1]
                v.reset(OpSelect1)
                v.AddArg(tuple)
@@ -64988,7 +63478,6 @@ func rewriteValueAMD64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpAMD64AddTupleFirst64 {
                        break
                }
-               _ = v_0.Args[1]
                tuple := v_0.Args[1]
                v.reset(OpSelect1)
                v.AddArg(tuple)
@@ -65110,10 +63599,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVSDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -65128,10 +63616,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVSSstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -65146,10 +63633,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVQstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8) {
                        break
                }
@@ -65164,10 +63650,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVLstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4) {
                        break
                }
@@ -65182,10 +63667,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -65200,10 +63684,9 @@ func rewriteValueAMD64_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -65220,9 +63703,8 @@ func rewriteValueAMD64_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65234,9 +63716,8 @@ func rewriteValueAMD64_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65248,9 +63729,8 @@ func rewriteValueAMD64_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (SUBSS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBSS)
                v.AddArg(x)
                v.AddArg(y)
@@ -65262,9 +63742,8 @@ func rewriteValueAMD64_OpSub64_0(v *Value) bool {
        // cond:
        // result: (SUBQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -65276,9 +63755,8 @@ func rewriteValueAMD64_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (SUBSD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBSD)
                v.AddArg(x)
                v.AddArg(y)
@@ -65290,9 +63768,8 @@ func rewriteValueAMD64_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64SUBL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65306,9 +63783,8 @@ func rewriteValueAMD64_OpSubPtr_0(v *Value) bool {
        // cond: config.PtrSize == 8
        // result: (SUBQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -65321,9 +63797,8 @@ func rewriteValueAMD64_OpSubPtr_0(v *Value) bool {
        // cond: config.PtrSize == 4
        // result: (SUBL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -65424,10 +63899,9 @@ func rewriteValueAMD64_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpAMD64LoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -65441,9 +63915,8 @@ func rewriteValueAMD64_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65455,9 +63928,8 @@ func rewriteValueAMD64_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65469,9 +63941,8 @@ func rewriteValueAMD64_OpXor64_0(v *Value) bool {
        // cond:
        // result: (XORQ x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64XORQ)
                v.AddArg(x)
                v.AddArg(y)
@@ -65483,9 +63954,8 @@ func rewriteValueAMD64_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XORL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAMD64XORL)
                v.AddArg(x)
                v.AddArg(y)
@@ -65502,7 +63972,6 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -65516,9 +63985,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVBstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -65532,9 +64000,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVWstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -65548,9 +64015,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVLstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -65564,9 +64030,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVQstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -65580,9 +64045,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
@@ -65600,9 +64064,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -65620,9 +64083,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -65640,9 +64102,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpAMD64MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
@@ -65658,9 +64119,8 @@ func rewriteValueAMD64_OpZero_0(v *Value) bool {
        // result: (Zero [s-s%8] (OffPtr <destptr.Type> destptr [s%8]) (MOVQstoreconst [0] destptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%8 != 0 && s > 8 && !config.useSSE) {
                        break
                }
@@ -65689,9 +64149,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(!config.useSSE) {
                        break
                }
@@ -65712,9 +64171,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 24 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(!config.useSSE) {
                        break
                }
@@ -65739,9 +64197,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 32 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(!config.useSSE) {
                        break
                }
@@ -65768,9 +64225,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
        // result: (MOVQstoreconst [makeValAndOff(0,s-8)] destptr (MOVQstoreconst [0] destptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s > 8 && s < 16 && config.useSSE) {
                        break
                }
@@ -65789,9 +64245,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
        // result: (Zero [s-s%16] (OffPtr <destptr.Type> destptr [s%16]) (MOVOstore destptr (MOVOconst [0]) mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%16 != 0 && s > 16 && s%16 > 8 && config.useSSE) {
                        break
                }
@@ -65815,9 +64270,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
        // result: (Zero [s-s%16] (OffPtr <destptr.Type> destptr [s%16]) (MOVQstoreconst [0] destptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%16 != 0 && s > 16 && s%16 <= 8 && config.useSSE) {
                        break
                }
@@ -65841,9 +64295,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(config.useSSE) {
                        break
                }
@@ -65862,9 +64315,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 32 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(config.useSSE) {
                        break
                }
@@ -65892,9 +64344,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 48 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(config.useSSE) {
                        break
                }
@@ -65931,9 +64382,8 @@ func rewriteValueAMD64_OpZero_10(v *Value) bool {
                if v.AuxInt != 64 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(config.useSSE) {
                        break
                }
@@ -65983,9 +64433,8 @@ func rewriteValueAMD64_OpZero_20(v *Value) bool {
        // result: (DUFFZERO [s] destptr (MOVOconst [0]) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s > 64 && s <= 1024 && s%16 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -66003,9 +64452,8 @@ func rewriteValueAMD64_OpZero_20(v *Value) bool {
        // result: (REPSTOSQ destptr (MOVQconst [s/8]) (MOVQconst [0]) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !((s > 1024 || (config.noDuffDevice && s > 64 || !config.useSSE && s > 32)) && s%8 == 0) {
                        break
                }
@@ -66105,12 +64553,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       y := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64SHLL {
                                break
                        }
-                       = v_0.Args[1]
+                       x := v_0.Args[1]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpAMD64MOVLconst {
                                break
@@ -66118,8 +64566,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_0_0.AuxInt != 1 {
                                break
                        }
-                       x := v_0.Args[1]
-                       y := v.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -66145,7 +64591,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1.Op != OpAMD64SHLL {
                                break
                        }
-                       = v_1.Args[1]
+                       x := v_1.Args[1]
                        v_1_0 := v_1.Args[0]
                        if v_1_0.Op != OpAMD64MOVLconst {
                                break
@@ -66153,7 +64599,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1_0.AuxInt != 1 {
                                break
                        }
-                       x := v_1.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -66173,12 +64618,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       y := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64SHLQ {
                                break
                        }
-                       = v_0.Args[1]
+                       x := v_0.Args[1]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpAMD64MOVQconst {
                                break
@@ -66186,8 +64631,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_0_0.AuxInt != 1 {
                                break
                        }
-                       x := v_0.Args[1]
-                       y := v.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -66213,7 +64656,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1.Op != OpAMD64SHLQ {
                                break
                        }
-                       = v_1.Args[1]
+                       x := v_1.Args[1]
                        v_1_0 := v_1.Args[0]
                        if v_1_0.Op != OpAMD64MOVQconst {
                                break
@@ -66221,7 +64664,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1_0.AuxInt != 1 {
                                break
                        }
-                       x := v_1.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -66283,13 +64725,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       x := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64MOVQconst {
                                break
                        }
                        c := v_0.AuxInt
-                       x := v.Args[1]
                        if !(isUint64PowerOfTwo(c) && !config.nacl) {
                                break
                        }
@@ -66335,7 +64776,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHLQconst {
                                break
@@ -66351,7 +64792,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -66407,7 +64847,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHLLconst {
                                break
@@ -66423,7 +64863,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -66479,7 +64918,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRQconst {
                                break
@@ -66495,7 +64934,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -66551,7 +64989,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRLconst {
                                break
@@ -66567,7 +65005,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -66623,7 +65060,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRQconst {
                                break
@@ -66632,7 +65069,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -66681,7 +65117,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRLconst {
                                break
@@ -66690,7 +65126,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -67951,12 +66386,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       y := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64SHLL {
                                break
                        }
-                       = v_0.Args[1]
+                       x := v_0.Args[1]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpAMD64MOVLconst {
                                break
@@ -67964,8 +66399,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_0_0.AuxInt != 1 {
                                break
                        }
-                       x := v_0.Args[1]
-                       y := v.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -67991,7 +66424,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1.Op != OpAMD64SHLL {
                                break
                        }
-                       = v_1.Args[1]
+                       x := v_1.Args[1]
                        v_1_0 := v_1.Args[0]
                        if v_1_0.Op != OpAMD64MOVLconst {
                                break
@@ -67999,7 +66432,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1_0.AuxInt != 1 {
                                break
                        }
-                       x := v_1.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -68019,12 +66451,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       y := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64SHLQ {
                                break
                        }
-                       = v_0.Args[1]
+                       x := v_0.Args[1]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpAMD64MOVQconst {
                                break
@@ -68032,8 +66464,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_0_0.AuxInt != 1 {
                                break
                        }
-                       x := v_0.Args[1]
-                       y := v.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -68059,7 +66489,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1.Op != OpAMD64SHLQ {
                                break
                        }
-                       = v_1.Args[1]
+                       x := v_1.Args[1]
                        v_1_0 := v_1.Args[0]
                        if v_1_0.Op != OpAMD64MOVQconst {
                                break
@@ -68067,7 +66497,6 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v_1_0.AuxInt != 1 {
                                break
                        }
-                       x := v_1.Args[1]
                        if !(!config.nacl) {
                                break
                        }
@@ -68129,13 +66558,12 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       x := v.Args[1]
                        v_0 := v.Args[0]
                        if v_0.Op != OpAMD64MOVQconst {
                                break
                        }
                        c := v_0.AuxInt
-                       x := v.Args[1]
                        if !(isUint64PowerOfTwo(c) && !config.nacl) {
                                break
                        }
@@ -68181,7 +66609,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHLQconst {
                                break
@@ -68197,7 +66625,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -68253,7 +66680,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHLLconst {
                                break
@@ -68269,7 +66696,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -68325,7 +66751,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRQconst {
                                break
@@ -68341,7 +66767,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -68397,7 +66822,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRLconst {
                                break
@@ -68413,7 +66838,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1_0.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -68469,7 +66893,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTQ {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRQconst {
                                break
@@ -68478,7 +66902,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
@@ -68527,7 +66950,7 @@ func rewriteBlockAMD64(b *Block) bool {
                        if v.Op != OpAMD64TESTL {
                                break
                        }
-                       = v.Args[1]
+                       z2 := v.Args[1]
                        z1 := v.Args[0]
                        if z1.Op != OpAMD64SHRLconst {
                                break
@@ -68536,7 +66959,6 @@ func rewriteBlockAMD64(b *Block) bool {
                                break
                        }
                        x := z1.Args[0]
-                       z2 := v.Args[1]
                        if !(z1 == z2 && !config.nacl) {
                                break
                        }
index 496e3168f64be5a46597498cdadd6ce539c88df7..e6635ad6b5a29cced8f558b783442218d1ac9fdf 100644 (file)
@@ -831,14 +831,13 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -849,14 +848,13 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -867,14 +865,13 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -885,14 +882,13 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -903,7 +899,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLLconst {
@@ -911,7 +907,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -923,7 +918,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -931,7 +926,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -943,7 +937,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -951,7 +945,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -963,7 +956,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLLconst {
@@ -971,7 +964,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -983,7 +975,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRLconst {
@@ -991,7 +983,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1003,7 +994,7 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
        // cond:
        // result: (ADCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -1011,7 +1002,6 @@ func rewriteValueARM_OpARMADC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1026,7 +1016,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -1034,7 +1024,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1046,7 +1035,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRLconst {
@@ -1054,7 +1043,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1066,7 +1054,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRAconst {
@@ -1074,7 +1062,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1086,7 +1073,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
@@ -1094,7 +1081,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1106,7 +1092,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
@@ -1114,7 +1100,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1126,7 +1111,7 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRAconst {
@@ -1134,7 +1119,6 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1146,16 +1130,14 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1167,16 +1149,14 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1188,16 +1168,14 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1209,16 +1187,14 @@ func rewriteValueARM_OpARMADC_10(v *Value) bool {
        // cond:
        // result: (ADCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1233,16 +1209,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1254,16 +1228,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1275,16 +1247,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1296,16 +1266,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1317,16 +1285,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1338,16 +1304,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1359,16 +1323,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1380,16 +1342,14 @@ func rewriteValueARM_OpARMADC_20(v *Value) bool {
        // cond:
        // result: (ADCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMADCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1405,14 +1365,13 @@ func rewriteValueARM_OpARMADCconst_0(v *Value) bool {
        // result: (ADCconst [int64(int32(c+d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMADCconst)
                v.AuxInt = int64(int32(c + d))
                v.AddArg(x)
@@ -1424,14 +1383,13 @@ func rewriteValueARM_OpARMADCconst_0(v *Value) bool {
        // result: (ADCconst [int64(int32(c-d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMADCconst)
                v.AuxInt = int64(int32(c - d))
                v.AddArg(x)
@@ -1447,14 +1405,13 @@ func rewriteValueARM_OpARMADCshiftLL_0(v *Value) bool {
        // result: (ADCconst [c] (SLLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -1469,14 +1426,13 @@ func rewriteValueARM_OpARMADCshiftLL_0(v *Value) bool {
        // result: (ADCconst x [int64(int32(uint32(c)<<uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = int64(int32(uint32(c) << uint64(d)))
                v.AddArg(x)
@@ -1491,7 +1447,7 @@ func rewriteValueARM_OpARMADCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] (SLL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -1499,7 +1455,6 @@ func rewriteValueARM_OpARMADCshiftLLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -1513,7 +1468,7 @@ func rewriteValueARM_OpARMADCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ADCshiftLL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -1521,7 +1476,6 @@ func rewriteValueARM_OpARMADCshiftLLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMADCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1538,14 +1492,13 @@ func rewriteValueARM_OpARMADCshiftRA_0(v *Value) bool {
        // result: (ADCconst [c] (SRAconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -1560,14 +1513,13 @@ func rewriteValueARM_OpARMADCshiftRA_0(v *Value) bool {
        // result: (ADCconst x [int64(int32(c)>>uint64(d))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = int64(int32(c) >> uint64(d))
                v.AddArg(x)
@@ -1582,7 +1534,7 @@ func rewriteValueARM_OpARMADCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] (SRA <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -1590,7 +1542,6 @@ func rewriteValueARM_OpARMADCshiftRAreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -1604,7 +1555,7 @@ func rewriteValueARM_OpARMADCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ADCshiftRA x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -1612,7 +1563,6 @@ func rewriteValueARM_OpARMADCshiftRAreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMADCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1629,14 +1579,13 @@ func rewriteValueARM_OpARMADCshiftRL_0(v *Value) bool {
        // result: (ADCconst [c] (SRLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -1651,14 +1600,13 @@ func rewriteValueARM_OpARMADCshiftRL_0(v *Value) bool {
        // result: (ADCconst x [int64(int32(uint32(c)>>uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
                v.AddArg(x)
@@ -1673,7 +1621,7 @@ func rewriteValueARM_OpARMADCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ADCconst [c] (SRL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -1681,7 +1629,6 @@ func rewriteValueARM_OpARMADCshiftRLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -1695,7 +1642,7 @@ func rewriteValueARM_OpARMADCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ADCshiftRL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -1703,7 +1650,6 @@ func rewriteValueARM_OpARMADCshiftRLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMADCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1734,13 +1680,12 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -1768,14 +1713,13 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
        // cond:
        // result: (ADDshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1804,14 +1748,13 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
        // cond:
        // result: (ADDshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -1840,14 +1783,13 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
        // cond:
        // result: (ADDshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -1864,9 +1806,8 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1877,15 +1818,13 @@ func rewriteValueARM_OpARMADD_0(v *Value) bool {
        // cond:
        // result: (ADDshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1906,9 +1845,8 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1919,15 +1857,13 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
        // cond:
        // result: (ADDshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1944,9 +1880,8 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1957,15 +1892,13 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
        // cond:
        // result: (ADDshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -1995,7 +1928,7 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMRSBconst {
                        break
@@ -2004,7 +1937,6 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -2066,15 +1998,13 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
        // cond:
        // result: (MULA x y a)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMUL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARMMULA)
                v.AddArg(x)
                v.AddArg(y)
@@ -2091,9 +2021,8 @@ func rewriteValueARM_OpARMADD_10(v *Value) bool {
                if v_1.Op != OpARMMUL {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARMMULA)
                v.AddArg(x)
                v.AddArg(y)
@@ -2113,9 +2042,8 @@ func rewriteValueARM_OpARMADDD_0(v *Value) bool {
                if v_1.Op != OpARMMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2129,15 +2057,13 @@ func rewriteValueARM_OpARMADDD_0(v *Value) bool {
        // cond: a.Uses == 1 && objabi.GOARM >= 6
        // result: (MULAD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2157,9 +2083,8 @@ func rewriteValueARM_OpARMADDD_0(v *Value) bool {
                if v_1.Op != OpARMNMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2173,15 +2098,13 @@ func rewriteValueARM_OpARMADDD_0(v *Value) bool {
        // cond: a.Uses == 1 && objabi.GOARM >= 6
        // result: (MULSD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2204,9 +2127,8 @@ func rewriteValueARM_OpARMADDF_0(v *Value) bool {
                if v_1.Op != OpARMMULF {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2220,15 +2142,13 @@ func rewriteValueARM_OpARMADDF_0(v *Value) bool {
        // cond: a.Uses == 1 && objabi.GOARM >= 6
        // result: (MULAF a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMULF {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2248,9 +2168,8 @@ func rewriteValueARM_OpARMADDF_0(v *Value) bool {
                if v_1.Op != OpARMNMULF {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2264,15 +2183,13 @@ func rewriteValueARM_OpARMADDF_0(v *Value) bool {
        // cond: a.Uses == 1 && objabi.GOARM >= 6
        // result: (MULSF a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNMULF {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -2305,13 +2222,12 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
        // cond:
        // result: (ADDSconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -2339,14 +2255,13 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
        // cond:
        // result: (ADDSshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDSshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -2375,14 +2290,13 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
        // cond:
        // result: (ADDSshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDSshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -2411,14 +2325,13 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
        // cond:
        // result: (ADDSshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMADDSshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -2435,9 +2348,8 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDSshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2448,15 +2360,13 @@ func rewriteValueARM_OpARMADDS_0(v *Value) bool {
        // cond:
        // result: (ADDSshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDSshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2476,9 +2386,8 @@ func rewriteValueARM_OpARMADDS_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDSshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2489,15 +2398,13 @@ func rewriteValueARM_OpARMADDS_10(v *Value) bool {
        // cond:
        // result: (ADDSshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDSshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2514,9 +2421,8 @@ func rewriteValueARM_OpARMADDS_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMADDSshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2527,15 +2433,13 @@ func rewriteValueARM_OpARMADDS_10(v *Value) bool {
        // cond:
        // result: (ADDSshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMADDSshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -2551,13 +2455,12 @@ func rewriteValueARM_OpARMADDSshiftLL_0(v *Value) bool {
        // result: (ADDSconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -2591,14 +2494,13 @@ func rewriteValueARM_OpARMADDSshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ADDSconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -2634,13 +2536,12 @@ func rewriteValueARM_OpARMADDSshiftRA_0(v *Value) bool {
        // result: (ADDSconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -2674,14 +2575,13 @@ func rewriteValueARM_OpARMADDSshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ADDSconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -2717,13 +2617,12 @@ func rewriteValueARM_OpARMADDSshiftRL_0(v *Value) bool {
        // result: (ADDSconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -2757,14 +2656,13 @@ func rewriteValueARM_OpARMADDSshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ADDSconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -2925,13 +2823,12 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
        // result: (ADDconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -2962,7 +2859,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
        // result: (SRRconst [32-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -2970,8 +2867,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -2989,7 +2885,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMBFXU {
                        break
@@ -3000,8 +2896,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMREV16)
@@ -3018,7 +2913,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -3036,8 +2931,7 @@ func rewriteValueARM_OpARMADDshiftLL_0(v *Value) bool {
                if v_0_0.AuxInt != 16 {
                        break
                }
-               x := v_0_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0_0.Args[0] {
                        break
                }
                if !(objabi.GOARM >= 6) {
@@ -3055,14 +2949,13 @@ func rewriteValueARM_OpARMADDshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -3098,13 +2991,12 @@ func rewriteValueARM_OpARMADDshiftRA_0(v *Value) bool {
        // result: (ADDconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -3138,14 +3030,13 @@ func rewriteValueARM_OpARMADDshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -3181,13 +3072,12 @@ func rewriteValueARM_OpARMADDshiftRL_0(v *Value) bool {
        // result: (ADDconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -3218,7 +3108,7 @@ func rewriteValueARM_OpARMADDshiftRL_0(v *Value) bool {
        // result: (SRRconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -3226,8 +3116,7 @@ func rewriteValueARM_OpARMADDshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -3243,14 +3132,13 @@ func rewriteValueARM_OpARMADDshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -3300,13 +3188,12 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -3334,14 +3221,13 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
        // cond:
        // result: (ANDshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMANDshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -3370,14 +3256,13 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
        // cond:
        // result: (ANDshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMANDshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -3406,14 +3291,13 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
        // cond:
        // result: (ANDshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMANDshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -3430,9 +3314,8 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMANDshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3443,15 +3326,13 @@ func rewriteValueARM_OpARMAND_0(v *Value) bool {
        // cond:
        // result: (ANDshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMANDshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3471,9 +3352,8 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMANDshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3484,15 +3364,13 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
        // cond:
        // result: (ANDshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMANDshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3509,9 +3387,8 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMANDshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3522,15 +3399,13 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
        // cond:
        // result: (ANDshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMANDshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -3541,9 +3416,8 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -3571,13 +3445,12 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
        // cond:
        // result: (BIC x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMVN {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMBIC)
                v.AddArg(x)
                v.AddArg(y)
@@ -3605,14 +3478,13 @@ func rewriteValueARM_OpARMAND_10(v *Value) bool {
        // cond:
        // result: (BICshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMVNshiftLL {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMBICshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -3644,14 +3516,13 @@ func rewriteValueARM_OpARMAND_20(v *Value) bool {
        // cond:
        // result: (BICshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMVNshiftRL {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMBICshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -3680,14 +3551,13 @@ func rewriteValueARM_OpARMAND_20(v *Value) bool {
        // cond:
        // result: (BICshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMVNshiftRA {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMBICshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -3789,13 +3659,12 @@ func rewriteValueARM_OpARMANDshiftLL_0(v *Value) bool {
        // result: (ANDconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -3852,14 +3721,13 @@ func rewriteValueARM_OpARMANDshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -3895,13 +3763,12 @@ func rewriteValueARM_OpARMANDshiftRA_0(v *Value) bool {
        // result: (ANDconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -3958,14 +3825,13 @@ func rewriteValueARM_OpARMANDshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -4001,13 +3867,12 @@ func rewriteValueARM_OpARMANDshiftRL_0(v *Value) bool {
        // result: (ANDconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -4064,14 +3929,13 @@ func rewriteValueARM_OpARMANDshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -4215,9 +4079,8 @@ func rewriteValueARM_OpARMBIC_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMBICshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4234,9 +4097,8 @@ func rewriteValueARM_OpARMBIC_0(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMBICshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4253,9 +4115,8 @@ func rewriteValueARM_OpARMBIC_0(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMBICshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4266,9 +4127,8 @@ func rewriteValueARM_OpARMBIC_0(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARMMOVWconst)
@@ -4573,13 +4433,12 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
        // cond:
        // result: (CMNconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -4607,14 +4466,13 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
        // cond:
        // result: (CMNshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMCMNshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -4643,14 +4501,13 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
        // cond:
        // result: (CMNshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMCMNshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -4679,14 +4536,13 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
        // cond:
        // result: (CMNshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMCMNshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -4703,9 +4559,8 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMNshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4716,15 +4571,13 @@ func rewriteValueARM_OpARMCMN_0(v *Value) bool {
        // cond:
        // result: (CMNshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMCMNshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4744,9 +4597,8 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMNshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4757,15 +4609,13 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
        // cond:
        // result: (CMNshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMCMNshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4782,9 +4632,8 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMNshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4795,15 +4644,13 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
        // cond:
        // result: (CMNshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMCMNshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -4833,7 +4680,7 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
        // cond:
        // result: (CMP x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMRSBconst {
                        break
@@ -4842,7 +4689,6 @@ func rewriteValueARM_OpARMCMN_10(v *Value) bool {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMCMP)
                v.AddArg(x)
                v.AddArg(y)
@@ -4940,13 +4786,12 @@ func rewriteValueARM_OpARMCMNshiftLL_0(v *Value) bool {
        // result: (CMNconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -4980,14 +4825,13 @@ func rewriteValueARM_OpARMCMNshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (CMNconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -5023,13 +4867,12 @@ func rewriteValueARM_OpARMCMNshiftRA_0(v *Value) bool {
        // result: (CMNconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -5063,14 +4906,13 @@ func rewriteValueARM_OpARMCMNshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (CMNconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -5106,13 +4948,12 @@ func rewriteValueARM_OpARMCMNshiftRL_0(v *Value) bool {
        // result: (CMNconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -5146,14 +4987,13 @@ func rewriteValueARM_OpARMCMNshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (CMNconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMCMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -5390,13 +5230,12 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPconst [c] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -5426,14 +5265,13 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftLL x y [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftLL, types.TypeFlags)
                v0.AuxInt = c
@@ -5464,14 +5302,13 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftRL x y [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftRL, types.TypeFlags)
                v0.AuxInt = c
@@ -5502,14 +5339,13 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftRA x y [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftRA, types.TypeFlags)
                v0.AuxInt = c
@@ -5528,9 +5364,8 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMPshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -5541,15 +5376,13 @@ func rewriteValueARM_OpARMCMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftLLreg x y z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
                v0.AddArg(x)
@@ -5572,9 +5405,8 @@ func rewriteValueARM_OpARMCMP_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMPshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -5585,15 +5417,13 @@ func rewriteValueARM_OpARMCMP_10(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftRLreg x y z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
                v0.AddArg(x)
@@ -5612,9 +5442,8 @@ func rewriteValueARM_OpARMCMP_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMCMPshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -5625,15 +5454,13 @@ func rewriteValueARM_OpARMCMP_10(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPshiftRAreg x y z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
                v0.AddArg(x)
@@ -5855,13 +5682,12 @@ func rewriteValueARM_OpARMCMPshiftLL_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SLLconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -5897,14 +5723,13 @@ func rewriteValueARM_OpARMCMPshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPconst [c] (SLL <x.Type> x y)))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -5942,13 +5767,12 @@ func rewriteValueARM_OpARMCMPshiftRA_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SRAconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -5984,14 +5808,13 @@ func rewriteValueARM_OpARMCMPshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPconst [c] (SRA <x.Type> x y)))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -6029,13 +5852,12 @@ func rewriteValueARM_OpARMCMPshiftRL_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SRLconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -6071,14 +5893,13 @@ func rewriteValueARM_OpARMCMPshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPconst [c] (SRL <x.Type> x y)))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMInvertFlags)
                v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -6802,14 +6623,13 @@ func rewriteValueARM_OpARMMOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVBUload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -6823,14 +6643,13 @@ func rewriteValueARM_OpARMMOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVBUload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -6844,7 +6663,7 @@ func rewriteValueARM_OpARMMOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -6852,7 +6671,6 @@ func rewriteValueARM_OpARMMOVBUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -6895,15 +6713,13 @@ func rewriteValueARM_OpARMMOVBUload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -6962,14 +6778,13 @@ func rewriteValueARM_OpARMMOVBUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVBUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -6980,14 +6795,13 @@ func rewriteValueARM_OpARMMOVBUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -7061,14 +6875,13 @@ func rewriteValueARM_OpARMMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVBload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7082,14 +6895,13 @@ func rewriteValueARM_OpARMMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVBload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7103,7 +6915,7 @@ func rewriteValueARM_OpARMMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7111,7 +6923,6 @@ func rewriteValueARM_OpARMMOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7154,15 +6965,13 @@ func rewriteValueARM_OpARMMOVBload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -7203,14 +7012,13 @@ func rewriteValueARM_OpARMMOVBloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVBload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -7221,14 +7029,13 @@ func rewriteValueARM_OpARMMOVBloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -7305,7 +7112,7 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
@@ -7313,7 +7120,6 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7328,7 +7134,7 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
@@ -7336,7 +7142,6 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7351,7 +7156,7 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7360,7 +7165,6 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7378,14 +7182,13 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -7400,14 +7203,13 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVBUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -7422,14 +7224,13 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -7444,14 +7245,13 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -7468,16 +7268,14 @@ func rewriteValueARM_OpARMMOVBstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -7495,7 +7293,7 @@ func rewriteValueARM_OpARMMOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -7503,7 +7301,6 @@ func rewriteValueARM_OpARMMOVBstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVBstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -7515,7 +7312,7 @@ func rewriteValueARM_OpARMMOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -7523,7 +7320,6 @@ func rewriteValueARM_OpARMMOVBstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVBstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -7540,14 +7336,13 @@ func rewriteValueARM_OpARMMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVDload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7561,14 +7356,13 @@ func rewriteValueARM_OpARMMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVDload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7582,7 +7376,7 @@ func rewriteValueARM_OpARMMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7590,7 +7384,6 @@ func rewriteValueARM_OpARMMOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7635,7 +7428,7 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
@@ -7643,7 +7436,6 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVDstore)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7658,7 +7450,7 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
@@ -7666,7 +7458,6 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVDstore)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7681,7 +7472,7 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7690,7 +7481,6 @@ func rewriteValueARM_OpARMMOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7711,14 +7501,13 @@ func rewriteValueARM_OpARMMOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVFload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7732,14 +7521,13 @@ func rewriteValueARM_OpARMMOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVFload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7753,7 +7541,7 @@ func rewriteValueARM_OpARMMOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7761,7 +7549,6 @@ func rewriteValueARM_OpARMMOVFload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7806,7 +7593,7 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
@@ -7814,7 +7601,6 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVFstore)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7829,7 +7615,7 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
@@ -7837,7 +7623,6 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVFstore)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7852,7 +7637,7 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7861,7 +7646,6 @@ func rewriteValueARM_OpARMMOVFstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7884,14 +7668,13 @@ func rewriteValueARM_OpARMMOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVHUload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -7905,14 +7688,13 @@ func rewriteValueARM_OpARMMOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVHUload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -7926,7 +7708,7 @@ func rewriteValueARM_OpARMMOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -7934,7 +7716,6 @@ func rewriteValueARM_OpARMMOVHUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -7977,15 +7758,13 @@ func rewriteValueARM_OpARMMOVHUload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8044,14 +7823,13 @@ func rewriteValueARM_OpARMMOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVHUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8062,14 +7840,13 @@ func rewriteValueARM_OpARMMOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVHUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8168,14 +7945,13 @@ func rewriteValueARM_OpARMMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVHload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -8189,14 +7965,13 @@ func rewriteValueARM_OpARMMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVHload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -8210,7 +7985,7 @@ func rewriteValueARM_OpARMMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -8218,7 +7993,6 @@ func rewriteValueARM_OpARMMOVHload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8261,15 +8035,13 @@ func rewriteValueARM_OpARMMOVHload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8310,14 +8082,13 @@ func rewriteValueARM_OpARMMOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVHload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8328,14 +8099,13 @@ func rewriteValueARM_OpARMMOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVHload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8462,7 +8232,7 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
@@ -8470,7 +8240,6 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVHstore)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -8485,7 +8254,7 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
@@ -8493,7 +8262,6 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVHstore)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -8508,7 +8276,7 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -8517,7 +8285,6 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8535,14 +8302,13 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8557,14 +8323,13 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8581,16 +8346,14 @@ func rewriteValueARM_OpARMMOVHstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8608,7 +8371,7 @@ func rewriteValueARM_OpARMMOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -8616,7 +8379,6 @@ func rewriteValueARM_OpARMMOVHstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVHstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8628,7 +8390,7 @@ func rewriteValueARM_OpARMMOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -8636,7 +8398,6 @@ func rewriteValueARM_OpARMMOVHstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVHstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8655,14 +8416,13 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVWload)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -8676,14 +8436,13 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                v.reset(OpARMMOVWload)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -8697,7 +8456,7 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -8705,7 +8464,6 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -8749,15 +8507,13 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8775,16 +8531,14 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftLL {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8803,16 +8557,14 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftRL {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8831,16 +8583,14 @@ func rewriteValueARM_OpARMMOVWload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftRA {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -8901,14 +8651,13 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVWload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8919,14 +8668,13 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8937,7 +8685,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftLL ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLLconst {
@@ -8945,7 +8693,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftLL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8957,7 +8704,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftLL ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -8965,7 +8712,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftLL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8977,7 +8723,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftRL ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRLconst {
@@ -8985,7 +8731,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftRL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -8997,7 +8742,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftRL ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -9005,7 +8750,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftRL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9017,7 +8761,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftRA ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRAconst {
@@ -9025,7 +8769,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftRA)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9037,7 +8780,7 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadshiftRA ptr idx [c] mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
@@ -9045,7 +8788,6 @@ func rewriteValueARM_OpARMMOVWloadidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWloadshiftRA)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9088,14 +8830,13 @@ func rewriteValueARM_OpARMMOVWloadshiftLL_0(v *Value) bool {
        // result: (MOVWload [int64(uint32(c)<<uint64(d))] ptr mem)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVWload)
                v.AuxInt = int64(uint32(c) << uint64(d))
                v.AddArg(ptr)
@@ -9137,14 +8878,13 @@ func rewriteValueARM_OpARMMOVWloadshiftRA_0(v *Value) bool {
        // result: (MOVWload [int64(int32(c)>>uint64(d))] ptr mem)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVWload)
                v.AuxInt = int64(int32(c) >> uint64(d))
                v.AddArg(ptr)
@@ -9186,14 +8926,13 @@ func rewriteValueARM_OpARMMOVWloadshiftRL_0(v *Value) bool {
        // result: (MOVWload [int64(uint32(c)>>uint64(d))] ptr mem)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARMMOVWload)
                v.AuxInt = int64(uint32(c) >> uint64(d))
                v.AddArg(ptr)
@@ -9239,7 +8978,7 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
@@ -9247,7 +8986,6 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWstore)
                v.AuxInt = off1 + off2
                v.Aux = sym
@@ -9262,7 +9000,7 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
@@ -9270,7 +9008,6 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVWstore)
                v.AuxInt = off1 - off2
                v.Aux = sym
@@ -9285,7 +9022,7 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWaddr {
                        break
@@ -9294,7 +9031,6 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9314,16 +9050,14 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -9342,17 +9076,15 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftLL {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -9372,17 +9104,15 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftRL {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -9402,17 +9132,15 @@ func rewriteValueARM_OpARMMOVWstore_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDshiftRA {
                        break
                }
                c := v_0.AuxInt
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(sym == nil && !config.nacl) {
                        break
                }
@@ -9431,7 +9159,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -9439,7 +9167,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9451,7 +9178,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -9459,7 +9186,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9471,7 +9197,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftLL ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLLconst {
@@ -9480,7 +9206,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                c := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftLL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9493,7 +9218,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftLL ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -9502,7 +9227,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftLL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9515,7 +9239,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftRL ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRLconst {
@@ -9524,7 +9248,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                c := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftRL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9537,7 +9260,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftRL ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -9546,7 +9269,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftRL)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9559,7 +9281,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftRA ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRAconst {
@@ -9568,7 +9290,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                c := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftRA)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9581,7 +9302,7 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreshiftRA ptr idx [c] val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
@@ -9590,7 +9311,6 @@ func rewriteValueARM_OpARMMOVWstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstoreshiftRA)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9607,7 +9327,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftLL_0(v *Value) bool {
        // result: (MOVWstore [int64(uint32(c)<<uint64(d))] ptr val mem)
        for {
                d := v.AuxInt
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -9615,7 +9335,6 @@ func rewriteValueARM_OpARMMOVWstoreshiftLL_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstore)
                v.AuxInt = int64(uint32(c) << uint64(d))
                v.AddArg(ptr)
@@ -9631,7 +9350,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRA_0(v *Value) bool {
        // result: (MOVWstore [int64(int32(c)>>uint64(d))] ptr val mem)
        for {
                d := v.AuxInt
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -9639,7 +9358,6 @@ func rewriteValueARM_OpARMMOVWstoreshiftRA_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstore)
                v.AuxInt = int64(int32(c) >> uint64(d))
                v.AddArg(ptr)
@@ -9655,7 +9373,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRL_0(v *Value) bool {
        // result: (MOVWstore [int64(uint32(c)>>uint64(d))] ptr val mem)
        for {
                d := v.AuxInt
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -9663,7 +9381,6 @@ func rewriteValueARM_OpARMMOVWstoreshiftRL_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARMMOVWstore)
                v.AuxInt = int64(uint32(c) >> uint64(d))
                v.AddArg(ptr)
@@ -9697,13 +9414,12 @@ func rewriteValueARM_OpARMMUL_0(v *Value) bool {
        // cond: int32(c) == -1
        // result: (RSBconst [0] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(int32(c) == -1) {
                        break
                }
@@ -9766,7 +9482,7 @@ func rewriteValueARM_OpARMMUL_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -9774,7 +9490,6 @@ func rewriteValueARM_OpARMMUL_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -9803,13 +9518,12 @@ func rewriteValueARM_OpARMMUL_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (SLLconst [log2(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -9842,13 +9556,12 @@ func rewriteValueARM_OpARMMUL_0(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (ADDshiftLL x x [log2(c-1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -9886,13 +9599,12 @@ func rewriteValueARM_OpARMMUL_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (RSBshiftLL x x [log2(c+1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -9929,13 +9641,12 @@ func rewriteValueARM_OpARMMUL_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (SLLconst [log2(c/3)] (ADDshiftLL <x.Type> x x [1]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -9975,13 +9686,12 @@ func rewriteValueARM_OpARMMUL_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (SLLconst [log2(c/5)] (ADDshiftLL <x.Type> x x [2]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -10021,13 +9731,12 @@ func rewriteValueARM_OpARMMUL_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (SLLconst [log2(c/7)] (RSBshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -10067,13 +9776,12 @@ func rewriteValueARM_OpARMMUL_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (SLLconst [log2(c/9)] (ADDshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -10135,14 +9843,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: int32(c) == -1
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -10155,7 +9862,7 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond:
        // result: a
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
@@ -10163,7 +9870,6 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpCopy)
                v.Type = a.Type
                v.AddArg(a)
@@ -10173,7 +9879,7 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond:
        // result: (ADD x a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -10182,7 +9888,6 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
                if v_1.AuxInt != 1 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(a)
@@ -10192,14 +9897,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (ADD (SLLconst <x.Type> [log2(c)] x) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -10215,14 +9919,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (ADD (ADDshiftLL <x.Type> x x [log2(c-1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -10239,14 +9942,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (ADD (RSBshiftLL <x.Type> x x [log2(c+1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -10263,14 +9965,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/3)] (ADDshiftLL <x.Type> x x [1])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -10290,14 +9991,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -10317,14 +10017,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/7)] (RSBshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -10344,14 +10043,13 @@ func rewriteValueARM_OpARMMULA_0(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -10375,14 +10073,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: int32(c) == -1
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -10395,7 +10092,7 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond:
        // result: a
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -10403,7 +10100,6 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpCopy)
                v.Type = a.Type
                v.AddArg(a)
@@ -10413,7 +10109,7 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond:
        // result: (ADD x a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -10422,7 +10118,6 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
                        break
                }
                x := v.Args[1]
-               a := v.Args[2]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(a)
@@ -10432,14 +10127,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (ADD (SLLconst <x.Type> [log2(c)] x) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -10455,14 +10149,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (ADD (ADDshiftLL <x.Type> x x [log2(c-1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -10479,14 +10172,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (ADD (RSBshiftLL <x.Type> x x [log2(c+1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -10503,14 +10195,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/3)] (ADDshiftLL <x.Type> x x [1])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -10530,14 +10221,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -10557,14 +10247,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/7)] (RSBshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -10584,14 +10273,13 @@ func rewriteValueARM_OpARMMULA_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (ADD (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -10614,7 +10302,7 @@ func rewriteValueARM_OpARMMULA_20(v *Value) bool {
        // cond:
        // result: (ADDconst [int64(int32(c*d))] a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -10625,7 +10313,6 @@ func rewriteValueARM_OpARMMULA_20(v *Value) bool {
                        break
                }
                d := v_1.AuxInt
-               a := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = int64(int32(c * d))
                v.AddArg(a)
@@ -10638,13 +10325,12 @@ func rewriteValueARM_OpARMMULD_0(v *Value) bool {
        // cond: objabi.GOARM >= 6
        // result: (NMULD x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNEGD {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(objabi.GOARM >= 6) {
                        break
                }
@@ -10679,13 +10365,12 @@ func rewriteValueARM_OpARMMULF_0(v *Value) bool {
        // cond: objabi.GOARM >= 6
        // result: (NMULF x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNEGF {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(objabi.GOARM >= 6) {
                        break
                }
@@ -10721,14 +10406,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: int32(c) == -1
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -10741,7 +10425,7 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond:
        // result: a
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
@@ -10749,7 +10433,6 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpCopy)
                v.Type = a.Type
                v.AddArg(a)
@@ -10759,7 +10442,7 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond:
        // result: (RSB x a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
@@ -10768,7 +10451,6 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
                if v_1.AuxInt != 1 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpARMRSB)
                v.AddArg(x)
                v.AddArg(a)
@@ -10778,14 +10460,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (RSB (SLLconst <x.Type> [log2(c)] x) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -10801,14 +10482,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (RSB (ADDshiftLL <x.Type> x x [log2(c-1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -10825,14 +10505,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (RSB (RSBshiftLL <x.Type> x x [log2(c+1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -10849,14 +10528,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/3)] (ADDshiftLL <x.Type> x x [1])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -10876,14 +10554,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -10903,14 +10580,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/7)] (RSBshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -10930,14 +10606,13 @@ func rewriteValueARM_OpARMMULS_0(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               a := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -10961,14 +10636,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: int32(c) == -1
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -10981,7 +10655,7 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond:
        // result: a
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -10989,7 +10663,6 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               a := v.Args[2]
                v.reset(OpCopy)
                v.Type = a.Type
                v.AddArg(a)
@@ -10999,7 +10672,7 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond:
        // result: (RSB x a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -11008,7 +10681,6 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
                        break
                }
                x := v.Args[1]
-               a := v.Args[2]
                v.reset(OpARMRSB)
                v.AddArg(x)
                v.AddArg(a)
@@ -11018,14 +10690,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (RSB (SLLconst <x.Type> [log2(c)] x) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -11041,14 +10712,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (RSB (ADDshiftLL <x.Type> x x [log2(c-1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -11065,14 +10735,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (RSB (RSBshiftLL <x.Type> x x [log2(c+1)]) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -11089,14 +10758,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/3)] (ADDshiftLL <x.Type> x x [1])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -11116,14 +10784,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -11143,14 +10810,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/7)] (RSBshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -11170,14 +10836,13 @@ func rewriteValueARM_OpARMMULS_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (RSB (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])) a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               a := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -11200,7 +10865,7 @@ func rewriteValueARM_OpARMMULS_20(v *Value) bool {
        // cond:
        // result: (SUBconst [int64(int32(c*d))] a)
        for {
-               = v.Args[2]
+               a := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -11211,7 +10876,6 @@ func rewriteValueARM_OpARMMULS_20(v *Value) bool {
                        break
                }
                d := v_1.AuxInt
-               a := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = int64(int32(c * d))
                v.AddArg(a)
@@ -11286,9 +10950,8 @@ func rewriteValueARM_OpARMMVN_0(v *Value) bool {
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARMMVNshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11302,9 +10965,8 @@ func rewriteValueARM_OpARMMVN_0(v *Value) bool {
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARMMVNshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11318,9 +10980,8 @@ func rewriteValueARM_OpARMMVN_0(v *Value) bool {
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARMMVNshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11445,9 +11106,8 @@ func rewriteValueARM_OpARMNEGD_0(v *Value) bool {
                if v_0.Op != OpARMMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(objabi.GOARM >= 6) {
                        break
                }
@@ -11467,9 +11127,8 @@ func rewriteValueARM_OpARMNEGF_0(v *Value) bool {
                if v_0.Op != OpARMMULF {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(objabi.GOARM >= 6) {
                        break
                }
@@ -11485,13 +11144,12 @@ func rewriteValueARM_OpARMNMULD_0(v *Value) bool {
        // cond:
        // result: (MULD x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNEGD {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARMMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -11520,13 +11178,12 @@ func rewriteValueARM_OpARMNMULF_0(v *Value) bool {
        // cond:
        // result: (MULF x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMNEGF {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARMMULF)
                v.AddArg(x)
                v.AddArg(y)
@@ -11647,13 +11304,12 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -11681,14 +11337,13 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
        // cond:
        // result: (ORshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMORshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -11717,14 +11372,13 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
        // cond:
        // result: (ORshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMORshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -11753,14 +11407,13 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
        // cond:
        // result: (ORshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMORshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -11777,9 +11430,8 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMORshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11790,15 +11442,13 @@ func rewriteValueARM_OpARMOR_0(v *Value) bool {
        // cond:
        // result: (ORshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMORshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11818,9 +11468,8 @@ func rewriteValueARM_OpARMOR_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMORshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11831,15 +11480,13 @@ func rewriteValueARM_OpARMOR_10(v *Value) bool {
        // cond:
        // result: (ORshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMORshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11856,9 +11503,8 @@ func rewriteValueARM_OpARMOR_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMORshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11869,15 +11515,13 @@ func rewriteValueARM_OpARMOR_10(v *Value) bool {
        // cond:
        // result: (ORshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMORshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -11888,9 +11532,8 @@ func rewriteValueARM_OpARMOR_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -11966,13 +11609,12 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
        // result: (ORconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -12003,7 +11645,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
        // result: (SRRconst [32-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -12011,8 +11653,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -12030,7 +11671,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMBFXU {
                        break
@@ -12041,8 +11682,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMREV16)
@@ -12059,7 +11699,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -12077,8 +11717,7 @@ func rewriteValueARM_OpARMORshiftLL_0(v *Value) bool {
                if v_0_0.AuxInt != 16 {
                        break
                }
-               x := v_0_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0_0.Args[0] {
                        break
                }
                if !(objabi.GOARM >= 6) {
@@ -12119,14 +11758,13 @@ func rewriteValueARM_OpARMORshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -12162,13 +11800,12 @@ func rewriteValueARM_OpARMORshiftRA_0(v *Value) bool {
        // result: (ORconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -12225,14 +11862,13 @@ func rewriteValueARM_OpARMORshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -12268,13 +11904,12 @@ func rewriteValueARM_OpARMORshiftRL_0(v *Value) bool {
        // result: (ORconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -12305,7 +11940,7 @@ func rewriteValueARM_OpARMORshiftRL_0(v *Value) bool {
        // result: (SRRconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -12313,8 +11948,7 @@ func rewriteValueARM_OpARMORshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -12353,14 +11987,13 @@ func rewriteValueARM_OpARMORshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -12394,13 +12027,12 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
        // cond:
        // result: (SUBconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -12444,14 +12076,13 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
        // cond:
        // result: (SUBshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMSUBshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -12480,14 +12111,13 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
        // cond:
        // result: (SUBshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMSUBshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -12516,14 +12146,13 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
        // cond:
        // result: (SUBshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMSUBshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -12540,9 +12169,8 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMRSBshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12553,15 +12181,13 @@ func rewriteValueARM_OpARMRSB_0(v *Value) bool {
        // cond:
        // result: (SUBshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMSUBshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12581,9 +12207,8 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMRSBshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12594,15 +12219,13 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
        // cond:
        // result: (SUBshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMSUBshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12619,9 +12242,8 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMRSBshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12632,15 +12254,13 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
        // cond:
        // result: (SUBshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMSUBshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -12651,9 +12271,8 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARMMOVWconst)
@@ -12664,15 +12283,13 @@ func rewriteValueARM_OpARMRSB_10(v *Value) bool {
        // cond: objabi.GOARM == 7
        // result: (MULS x y a)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMUL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                if !(objabi.GOARM == 7) {
                        break
                }
@@ -12691,13 +12308,12 @@ func rewriteValueARM_OpARMRSBSshiftLL_0(v *Value) bool {
        // result: (SUBSconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -12731,14 +12347,13 @@ func rewriteValueARM_OpARMRSBSshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (SUBSconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -12774,13 +12389,12 @@ func rewriteValueARM_OpARMRSBSshiftRA_0(v *Value) bool {
        // result: (SUBSconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -12814,14 +12428,13 @@ func rewriteValueARM_OpARMRSBSshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (SUBSconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -12857,13 +12470,12 @@ func rewriteValueARM_OpARMRSBSshiftRL_0(v *Value) bool {
        // result: (SUBSconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -12897,14 +12509,13 @@ func rewriteValueARM_OpARMRSBSshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (SUBSconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -13005,13 +12616,12 @@ func rewriteValueARM_OpARMRSBshiftLL_0(v *Value) bool {
        // result: (SUBconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -13067,14 +12677,13 @@ func rewriteValueARM_OpARMRSBshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (SUBconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -13110,13 +12719,12 @@ func rewriteValueARM_OpARMRSBshiftRA_0(v *Value) bool {
        // result: (SUBconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -13172,14 +12780,13 @@ func rewriteValueARM_OpARMRSBshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (SUBconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -13215,13 +12822,12 @@ func rewriteValueARM_OpARMRSBshiftRL_0(v *Value) bool {
        // result: (SUBconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -13277,14 +12883,13 @@ func rewriteValueARM_OpARMRSBshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (SUBconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -13319,14 +12924,13 @@ func rewriteValueARM_OpARMRSCconst_0(v *Value) bool {
        // result: (RSCconst [int64(int32(c-d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMRSCconst)
                v.AuxInt = int64(int32(c - d))
                v.AddArg(x)
@@ -13338,14 +12942,13 @@ func rewriteValueARM_OpARMRSCconst_0(v *Value) bool {
        // result: (RSCconst [int64(int32(c+d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMRSCconst)
                v.AuxInt = int64(int32(c + d))
                v.AddArg(x)
@@ -13361,14 +12964,13 @@ func rewriteValueARM_OpARMRSCshiftLL_0(v *Value) bool {
        // result: (SBCconst [c] (SLLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -13383,14 +12985,13 @@ func rewriteValueARM_OpARMRSCshiftLL_0(v *Value) bool {
        // result: (RSCconst x [int64(int32(uint32(c)<<uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = int64(int32(uint32(c) << uint64(d)))
                v.AddArg(x)
@@ -13405,7 +13006,7 @@ func rewriteValueARM_OpARMRSCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (SBCconst [c] (SLL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -13413,7 +13014,6 @@ func rewriteValueARM_OpARMRSCshiftLLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -13427,7 +13027,7 @@ func rewriteValueARM_OpARMRSCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (RSCshiftLL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -13435,7 +13035,6 @@ func rewriteValueARM_OpARMRSCshiftLLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMRSCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13452,14 +13051,13 @@ func rewriteValueARM_OpARMRSCshiftRA_0(v *Value) bool {
        // result: (SBCconst [c] (SRAconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -13474,14 +13072,13 @@ func rewriteValueARM_OpARMRSCshiftRA_0(v *Value) bool {
        // result: (RSCconst x [int64(int32(c)>>uint64(d))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = int64(int32(c) >> uint64(d))
                v.AddArg(x)
@@ -13496,7 +13093,7 @@ func rewriteValueARM_OpARMRSCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (SBCconst [c] (SRA <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -13504,7 +13101,6 @@ func rewriteValueARM_OpARMRSCshiftRAreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -13518,7 +13114,7 @@ func rewriteValueARM_OpARMRSCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (RSCshiftRA x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -13526,7 +13122,6 @@ func rewriteValueARM_OpARMRSCshiftRAreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMRSCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -13543,14 +13138,13 @@ func rewriteValueARM_OpARMRSCshiftRL_0(v *Value) bool {
        // result: (SBCconst [c] (SRLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -13565,14 +13159,13 @@ func rewriteValueARM_OpARMRSCshiftRL_0(v *Value) bool {
        // result: (RSCconst x [int64(int32(uint32(c)>>uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
                v.AddArg(x)
@@ -13587,7 +13180,7 @@ func rewriteValueARM_OpARMRSCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (SBCconst [c] (SRL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -13595,7 +13188,6 @@ func rewriteValueARM_OpARMRSCshiftRLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -13609,7 +13201,7 @@ func rewriteValueARM_OpARMRSCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (RSCshiftRL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -13617,7 +13209,6 @@ func rewriteValueARM_OpARMRSCshiftRLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMRSCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13632,14 +13223,13 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (RSCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -13650,14 +13240,13 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (SBCconst [c] x flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -13668,7 +13257,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (SBCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLLconst {
@@ -13676,7 +13265,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMSBCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13688,7 +13276,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (RSCshiftLL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -13696,7 +13284,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13708,7 +13295,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (SBCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRLconst {
@@ -13716,7 +13303,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMSBCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13728,7 +13314,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (RSCshiftRL x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -13736,7 +13322,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -13748,7 +13333,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (SBCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRAconst {
@@ -13756,7 +13341,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                }
                c := v_1.AuxInt
                y := v_1.Args[0]
-               flags := v.Args[2]
                v.reset(OpARMSBCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -13768,7 +13352,7 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (RSCshiftRA x y [c] flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
@@ -13776,7 +13360,6 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
                c := v_0.AuxInt
                y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -13788,16 +13371,14 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (SBCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMSBCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13809,16 +13390,14 @@ func rewriteValueARM_OpARMSBC_0(v *Value) bool {
        // cond:
        // result: (RSCshiftLLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13833,16 +13412,14 @@ func rewriteValueARM_OpARMSBC_10(v *Value) bool {
        // cond:
        // result: (SBCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMSBCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13854,16 +13431,14 @@ func rewriteValueARM_OpARMSBC_10(v *Value) bool {
        // cond:
        // result: (RSCshiftRLreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13875,16 +13450,14 @@ func rewriteValueARM_OpARMSBC_10(v *Value) bool {
        // cond:
        // result: (SBCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
-               flags := v.Args[2]
+               y := v_1.Args[0]
                v.reset(OpARMSBCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13896,16 +13469,14 @@ func rewriteValueARM_OpARMSBC_10(v *Value) bool {
        // cond:
        // result: (RSCshiftRAreg x y z flags)
        for {
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
+               y := v_0.Args[0]
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -13921,14 +13492,13 @@ func rewriteValueARM_OpARMSBCconst_0(v *Value) bool {
        // result: (SBCconst [int64(int32(c-d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMADDconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMSBCconst)
                v.AuxInt = int64(int32(c - d))
                v.AddArg(x)
@@ -13940,14 +13510,13 @@ func rewriteValueARM_OpARMSBCconst_0(v *Value) bool {
        // result: (SBCconst [int64(int32(c+d))] x flags)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               flags := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSUBconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               flags := v.Args[1]
                v.reset(OpARMSBCconst)
                v.AuxInt = int64(int32(c + d))
                v.AddArg(x)
@@ -13963,14 +13532,13 @@ func rewriteValueARM_OpARMSBCshiftLL_0(v *Value) bool {
        // result: (RSCconst [c] (SLLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -13985,14 +13553,13 @@ func rewriteValueARM_OpARMSBCshiftLL_0(v *Value) bool {
        // result: (SBCconst x [int64(int32(uint32(c)<<uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = int64(int32(uint32(c) << uint64(d)))
                v.AddArg(x)
@@ -14007,7 +13574,7 @@ func rewriteValueARM_OpARMSBCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (RSCconst [c] (SLL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -14015,7 +13582,6 @@ func rewriteValueARM_OpARMSBCshiftLLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -14029,7 +13595,7 @@ func rewriteValueARM_OpARMSBCshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (SBCshiftLL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -14037,7 +13603,6 @@ func rewriteValueARM_OpARMSBCshiftLLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMSBCshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14054,14 +13619,13 @@ func rewriteValueARM_OpARMSBCshiftRA_0(v *Value) bool {
        // result: (RSCconst [c] (SRAconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -14076,14 +13640,13 @@ func rewriteValueARM_OpARMSBCshiftRA_0(v *Value) bool {
        // result: (SBCconst x [int64(int32(c)>>uint64(d))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = int64(int32(c) >> uint64(d))
                v.AddArg(x)
@@ -14098,7 +13661,7 @@ func rewriteValueARM_OpARMSBCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (RSCconst [c] (SRA <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -14106,7 +13669,6 @@ func rewriteValueARM_OpARMSBCshiftRAreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -14120,7 +13682,7 @@ func rewriteValueARM_OpARMSBCshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (SBCshiftRA x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -14128,7 +13690,6 @@ func rewriteValueARM_OpARMSBCshiftRAreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMSBCshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -14145,14 +13706,13 @@ func rewriteValueARM_OpARMSBCshiftRL_0(v *Value) bool {
        // result: (RSCconst [c] (SRLconst <x.Type> x [d]) flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -14167,14 +13727,13 @@ func rewriteValueARM_OpARMSBCshiftRL_0(v *Value) bool {
        // result: (SBCconst x [int64(int32(uint32(c)>>uint64(d)))] flags)
        for {
                d := v.AuxInt
-               = v.Args[2]
+               flags := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARMMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
                v.AddArg(x)
@@ -14189,7 +13748,7 @@ func rewriteValueARM_OpARMSBCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (RSCconst [c] (SRL <x.Type> x y) flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
@@ -14197,7 +13756,6 @@ func rewriteValueARM_OpARMSBCshiftRLreg_0(v *Value) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                y := v.Args[2]
-               flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -14211,7 +13769,7 @@ func rewriteValueARM_OpARMSBCshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (SBCshiftRL x y [c] flags)
        for {
-               = v.Args[3]
+               flags := v.Args[3]
                x := v.Args[0]
                y := v.Args[1]
                v_2 := v.Args[2]
@@ -14219,7 +13777,6 @@ func rewriteValueARM_OpARMSBCshiftRLreg_0(v *Value) bool {
                        break
                }
                c := v_2.AuxInt
-               flags := v.Args[3]
                v.reset(OpARMSBCshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14460,13 +14017,12 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
        // cond:
        // result: (RSBconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -14510,14 +14066,13 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
        // cond:
        // result: (RSBshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14546,14 +14101,13 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
        // cond:
        // result: (RSBshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14582,14 +14136,13 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
        // cond:
        // result: (RSBshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -14606,9 +14159,8 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14619,15 +14171,13 @@ func rewriteValueARM_OpARMSUB_0(v *Value) bool {
        // cond:
        // result: (RSBshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14647,9 +14197,8 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14660,15 +14209,13 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
        // cond:
        // result: (RSBshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14685,9 +14232,8 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14698,15 +14244,13 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
        // cond:
        // result: (RSBshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14717,9 +14261,8 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARMMOVWconst)
@@ -14736,9 +14279,8 @@ func rewriteValueARM_OpARMSUB_10(v *Value) bool {
                if v_1.Op != OpARMMUL {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(objabi.GOARM == 7) {
                        break
                }
@@ -14761,9 +14303,8 @@ func rewriteValueARM_OpARMSUBD_0(v *Value) bool {
                if v_1.Op != OpARMMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -14783,9 +14324,8 @@ func rewriteValueARM_OpARMSUBD_0(v *Value) bool {
                if v_1.Op != OpARMNMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -14808,9 +14348,8 @@ func rewriteValueARM_OpARMSUBF_0(v *Value) bool {
                if v_1.Op != OpARMMULF {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -14830,9 +14369,8 @@ func rewriteValueARM_OpARMSUBF_0(v *Value) bool {
                if v_1.Op != OpARMNMULF {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                if !(a.Uses == 1 && objabi.GOARM >= 6) {
                        break
                }
@@ -14883,14 +14421,13 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
        // cond:
        // result: (RSBSshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBSshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14919,14 +14456,13 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
        // cond:
        // result: (RSBSshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBSshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -14955,14 +14491,13 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
        // cond:
        // result: (RSBSshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMRSBSshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -14979,9 +14514,8 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBSshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -14992,15 +14526,13 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
        // cond:
        // result: (RSBSshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBSshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15017,9 +14549,8 @@ func rewriteValueARM_OpARMSUBS_0(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBSshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15033,15 +14564,13 @@ func rewriteValueARM_OpARMSUBS_10(v *Value) bool {
        // cond:
        // result: (RSBSshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBSshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15058,9 +14587,8 @@ func rewriteValueARM_OpARMSUBS_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMSUBSshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15071,15 +14599,13 @@ func rewriteValueARM_OpARMSUBS_10(v *Value) bool {
        // cond:
        // result: (RSBSshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMRSBSshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15095,13 +14621,12 @@ func rewriteValueARM_OpARMSUBSshiftLL_0(v *Value) bool {
        // result: (RSBSconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -15135,14 +14660,13 @@ func rewriteValueARM_OpARMSUBSshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (RSBSconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -15178,13 +14702,12 @@ func rewriteValueARM_OpARMSUBSshiftRA_0(v *Value) bool {
        // result: (RSBSconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -15218,14 +14741,13 @@ func rewriteValueARM_OpARMSUBSshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (RSBSconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -15261,13 +14783,12 @@ func rewriteValueARM_OpARMSUBSshiftRL_0(v *Value) bool {
        // result: (RSBSconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -15301,14 +14822,13 @@ func rewriteValueARM_OpARMSUBSshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (RSBSconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -15468,13 +14988,12 @@ func rewriteValueARM_OpARMSUBshiftLL_0(v *Value) bool {
        // result: (RSBconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -15530,14 +15049,13 @@ func rewriteValueARM_OpARMSUBshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (RSBconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -15573,13 +15091,12 @@ func rewriteValueARM_OpARMSUBshiftRA_0(v *Value) bool {
        // result: (RSBconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -15635,14 +15152,13 @@ func rewriteValueARM_OpARMSUBshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (RSBconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -15678,13 +15194,12 @@ func rewriteValueARM_OpARMSUBshiftRL_0(v *Value) bool {
        // result: (RSBconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -15740,14 +15255,13 @@ func rewriteValueARM_OpARMSUBshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (RSBconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -15797,13 +15311,12 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
        // cond:
        // result: (TEQconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -15831,14 +15344,13 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
        // cond:
        // result: (TEQshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTEQshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -15867,14 +15379,13 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
        // cond:
        // result: (TEQshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTEQshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -15903,14 +15414,13 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
        // cond:
        // result: (TEQshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTEQshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -15927,9 +15437,8 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTEQshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15940,15 +15449,13 @@ func rewriteValueARM_OpARMTEQ_0(v *Value) bool {
        // cond:
        // result: (TEQshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTEQshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15968,9 +15475,8 @@ func rewriteValueARM_OpARMTEQ_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTEQshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -15981,15 +15487,13 @@ func rewriteValueARM_OpARMTEQ_10(v *Value) bool {
        // cond:
        // result: (TEQshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTEQshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16006,9 +15510,8 @@ func rewriteValueARM_OpARMTEQ_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTEQshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16019,15 +15522,13 @@ func rewriteValueARM_OpARMTEQ_10(v *Value) bool {
        // cond:
        // result: (TEQshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTEQshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16094,13 +15595,12 @@ func rewriteValueARM_OpARMTEQshiftLL_0(v *Value) bool {
        // result: (TEQconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -16134,14 +15634,13 @@ func rewriteValueARM_OpARMTEQshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (TEQconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -16177,13 +15676,12 @@ func rewriteValueARM_OpARMTEQshiftRA_0(v *Value) bool {
        // result: (TEQconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -16217,14 +15715,13 @@ func rewriteValueARM_OpARMTEQshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (TEQconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -16260,13 +15757,12 @@ func rewriteValueARM_OpARMTEQshiftRL_0(v *Value) bool {
        // result: (TEQconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -16300,14 +15796,13 @@ func rewriteValueARM_OpARMTEQshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (TEQconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTEQconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -16357,13 +15852,12 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
        // cond:
        // result: (TSTconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -16391,14 +15885,13 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
        // cond:
        // result: (TSTshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTSTshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -16427,14 +15920,13 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
        // cond:
        // result: (TSTshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTSTshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -16463,14 +15955,13 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
        // cond:
        // result: (TSTshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMTSTshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -16487,9 +15978,8 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTSTshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16500,15 +15990,13 @@ func rewriteValueARM_OpARMTST_0(v *Value) bool {
        // cond:
        // result: (TSTshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTSTshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16528,9 +16016,8 @@ func rewriteValueARM_OpARMTST_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTSTshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16541,15 +16028,13 @@ func rewriteValueARM_OpARMTST_10(v *Value) bool {
        // cond:
        // result: (TSTshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTSTshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16566,9 +16051,8 @@ func rewriteValueARM_OpARMTST_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMTSTshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16579,15 +16063,13 @@ func rewriteValueARM_OpARMTST_10(v *Value) bool {
        // cond:
        // result: (TSTshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMTSTshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -16654,13 +16136,12 @@ func rewriteValueARM_OpARMTSTshiftLL_0(v *Value) bool {
        // result: (TSTconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -16694,14 +16175,13 @@ func rewriteValueARM_OpARMTSTshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (TSTconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -16737,13 +16217,12 @@ func rewriteValueARM_OpARMTSTshiftRA_0(v *Value) bool {
        // result: (TSTconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -16777,14 +16256,13 @@ func rewriteValueARM_OpARMTSTshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (TSTconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -16820,13 +16298,12 @@ func rewriteValueARM_OpARMTSTshiftRL_0(v *Value) bool {
        // result: (TSTconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -16860,14 +16337,13 @@ func rewriteValueARM_OpARMTSTshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (TSTconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMTSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -16917,13 +16393,12 @@ func rewriteValueARM_OpARMXOR_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -16951,14 +16426,13 @@ func rewriteValueARM_OpARMXOR_0(v *Value) bool {
        // cond:
        // result: (XORshiftLL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMXORshiftLL)
                v.AuxInt = c
                v.AddArg(x)
@@ -16987,14 +16461,13 @@ func rewriteValueARM_OpARMXOR_0(v *Value) bool {
        // cond:
        // result: (XORshiftRL x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMXORshiftRL)
                v.AuxInt = c
                v.AddArg(x)
@@ -17023,14 +16496,13 @@ func rewriteValueARM_OpARMXOR_0(v *Value) bool {
        // cond:
        // result: (XORshiftRA x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRAconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMXORshiftRA)
                v.AuxInt = c
                v.AddArg(x)
@@ -17059,14 +16531,13 @@ func rewriteValueARM_OpARMXOR_0(v *Value) bool {
        // cond:
        // result: (XORshiftRR x y [c])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRRconst {
                        break
                }
                c := v_0.AuxInt
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARMXORshiftRR)
                v.AuxInt = c
                v.AddArg(x)
@@ -17086,9 +16557,8 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
                if v_1.Op != OpARMSLL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMXORshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17099,15 +16569,13 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
        // cond:
        // result: (XORshiftLLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMXORshiftLLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17124,9 +16592,8 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
                if v_1.Op != OpARMSRL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMXORshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17137,15 +16604,13 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
        // cond:
        // result: (XORshiftRLreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMXORshiftRLreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17162,9 +16627,8 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
                if v_1.Op != OpARMSRA {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARMXORshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17175,15 +16639,13 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
        // cond:
        // result: (XORshiftRAreg x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRA {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpARMXORshiftRAreg)
                v.AddArg(x)
                v.AddArg(y)
@@ -17194,9 +16656,8 @@ func rewriteValueARM_OpARMXOR_10(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARMMOVWconst)
@@ -17259,13 +16720,12 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
        // result: (XORconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
@@ -17296,7 +16756,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
        // result: (SRRconst [32-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -17304,8 +16764,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -17323,7 +16782,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMBFXU {
                        break
@@ -17334,8 +16793,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMREV16)
@@ -17352,7 +16810,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSRLconst {
                        break
@@ -17370,8 +16828,7 @@ func rewriteValueARM_OpARMXORshiftLL_0(v *Value) bool {
                if v_0_0.AuxInt != 16 {
                        break
                }
-               x := v_0_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0_0.Args[0] {
                        break
                }
                if !(objabi.GOARM >= 6) {
@@ -17411,14 +16868,13 @@ func rewriteValueARM_OpARMXORshiftLLreg_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] (SLL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -17454,13 +16910,12 @@ func rewriteValueARM_OpARMXORshiftRA_0(v *Value) bool {
        // result: (XORconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
@@ -17516,14 +16971,13 @@ func rewriteValueARM_OpARMXORshiftRAreg_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] (SRA <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
@@ -17559,13 +17013,12 @@ func rewriteValueARM_OpARMXORshiftRL_0(v *Value) bool {
        // result: (XORconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
@@ -17596,7 +17049,7 @@ func rewriteValueARM_OpARMXORshiftRL_0(v *Value) bool {
        // result: (SRRconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMSLLconst {
                        break
@@ -17604,8 +17057,7 @@ func rewriteValueARM_OpARMXORshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 32-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARMSRRconst)
@@ -17643,14 +17095,13 @@ func rewriteValueARM_OpARMXORshiftRLreg_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] (SRL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -17686,13 +17137,12 @@ func rewriteValueARM_OpARMXORshiftRR_0(v *Value) bool {
        // result: (XORconst [c] (SRRconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARMMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARMSRRconst, x.Type)
@@ -17725,9 +17175,8 @@ func rewriteValueARM_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -17739,9 +17188,8 @@ func rewriteValueARM_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -17753,9 +17201,8 @@ func rewriteValueARM_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (ADDF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADDF)
                v.AddArg(x)
                v.AddArg(y)
@@ -17767,9 +17214,8 @@ func rewriteValueARM_OpAdd32carry_0(v *Value) bool {
        // cond:
        // result: (ADDS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -17781,10 +17227,9 @@ func rewriteValueARM_OpAdd32withcarry_0(v *Value) bool {
        // cond:
        // result: (ADC x y c)
        for {
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(OpARMADC)
                v.AddArg(x)
                v.AddArg(y)
@@ -17797,9 +17242,8 @@ func rewriteValueARM_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (ADDD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADDD)
                v.AddArg(x)
                v.AddArg(y)
@@ -17811,9 +17255,8 @@ func rewriteValueARM_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -17825,9 +17268,8 @@ func rewriteValueARM_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -17852,9 +17294,8 @@ func rewriteValueARM_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -17866,9 +17307,8 @@ func rewriteValueARM_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -17880,9 +17320,8 @@ func rewriteValueARM_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -17894,9 +17333,8 @@ func rewriteValueARM_OpAndB_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -17910,9 +17348,8 @@ func rewriteValueARM_OpAvg32u_0(v *Value) bool {
        // result: (ADD (SRLconst <t> (SUB <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMADD)
                v0 := b.NewValue0(v.Pos, OpARMSRLconst, t)
                v0.AuxInt = 1
@@ -17993,10 +17430,9 @@ func rewriteValueARM_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMCALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -18287,9 +17723,8 @@ func rewriteValueARM_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (Div32 (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpDiv32)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -18307,9 +17742,8 @@ func rewriteValueARM_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (Div32u (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpDiv32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -18327,9 +17761,8 @@ func rewriteValueARM_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (SUB (XOR <typ.UInt32> (Select0 <typ.UInt32> (CALLudiv (SUB <typ.UInt32> (XOR x <typ.UInt32> (Signmask x)) (Signmask x)) (SUB <typ.UInt32> (XOR y <typ.UInt32> (Signmask y)) (Signmask y)))) (Signmask (XOR <typ.UInt32> x y))) (Signmask (XOR <typ.UInt32> x y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v0 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32)
@@ -18379,9 +17812,8 @@ func rewriteValueARM_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (DIVF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMDIVF)
                v.AddArg(x)
                v.AddArg(y)
@@ -18395,9 +17827,8 @@ func rewriteValueARM_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (Select0 <typ.UInt32> (CALLudiv x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v.Type = typ.UInt32
                v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
@@ -18412,9 +17843,8 @@ func rewriteValueARM_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (DIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMDIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -18428,9 +17858,8 @@ func rewriteValueARM_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (Div32 (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpDiv32)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -18448,9 +17877,8 @@ func rewriteValueARM_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (Div32u (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpDiv32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -18468,9 +17896,8 @@ func rewriteValueARM_OpEq16_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -18489,9 +17916,8 @@ func rewriteValueARM_OpEq32_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18506,9 +17932,8 @@ func rewriteValueARM_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(x)
@@ -18523,9 +17948,8 @@ func rewriteValueARM_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -18541,9 +17965,8 @@ func rewriteValueARM_OpEq8_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -18563,9 +17986,8 @@ func rewriteValueARM_OpEqB_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (XOR <typ.Bool> x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpARMXOR, typ.Bool)
@@ -18581,9 +18003,8 @@ func rewriteValueARM_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18599,9 +18020,8 @@ func rewriteValueARM_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMP (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -18621,9 +18041,8 @@ func rewriteValueARM_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -18642,9 +18061,8 @@ func rewriteValueARM_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18659,9 +18077,8 @@ func rewriteValueARM_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(x)
@@ -18676,9 +18093,8 @@ func rewriteValueARM_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18693,9 +18109,8 @@ func rewriteValueARM_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -18711,9 +18126,8 @@ func rewriteValueARM_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMP (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -18733,9 +18147,8 @@ func rewriteValueARM_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -18782,9 +18195,8 @@ func rewriteValueARM_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMP (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -18804,9 +18216,8 @@ func rewriteValueARM_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -18825,9 +18236,8 @@ func rewriteValueARM_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18842,9 +18252,8 @@ func rewriteValueARM_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(x)
@@ -18859,9 +18268,8 @@ func rewriteValueARM_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -18876,9 +18284,8 @@ func rewriteValueARM_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -18894,9 +18301,8 @@ func rewriteValueARM_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMP (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -18916,9 +18322,8 @@ func rewriteValueARM_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -18936,9 +18341,8 @@ func rewriteValueARM_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (HMUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMHMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -18950,9 +18354,8 @@ func rewriteValueARM_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (HMULU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMHMULU)
                v.AddArg(x)
                v.AddArg(y)
@@ -18965,9 +18368,8 @@ func rewriteValueARM_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpARMCALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -18981,9 +18383,8 @@ func rewriteValueARM_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpARMLessThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(idx)
@@ -19013,9 +18414,8 @@ func rewriteValueARM_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpARMLessEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(idx)
@@ -19031,9 +18431,8 @@ func rewriteValueARM_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMP (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -19053,9 +18452,8 @@ func rewriteValueARM_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -19074,9 +18472,8 @@ func rewriteValueARM_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -19091,9 +18488,8 @@ func rewriteValueARM_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(y)
@@ -19108,9 +18504,8 @@ func rewriteValueARM_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -19125,9 +18520,8 @@ func rewriteValueARM_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(y)
@@ -19143,9 +18537,8 @@ func rewriteValueARM_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMP (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -19165,9 +18558,8 @@ func rewriteValueARM_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessEqualU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -19187,9 +18579,8 @@ func rewriteValueARM_OpLess16_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMP (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -19209,9 +18600,8 @@ func rewriteValueARM_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -19230,9 +18620,8 @@ func rewriteValueARM_OpLess32_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -19247,9 +18636,8 @@ func rewriteValueARM_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(y)
@@ -19264,9 +18652,8 @@ func rewriteValueARM_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -19281,9 +18668,8 @@ func rewriteValueARM_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMGreaterThan)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(y)
@@ -19299,9 +18685,8 @@ func rewriteValueARM_OpLess8_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMP (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThan)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -19321,9 +18706,8 @@ func rewriteValueARM_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMLessThanU)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -19342,9 +18726,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean()) {
                        break
                }
@@ -19358,9 +18741,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -19374,9 +18756,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -19390,9 +18771,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -19406,9 +18786,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVHUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -19422,9 +18801,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) || isPtr(t)) {
                        break
                }
@@ -19438,9 +18816,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVFload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -19454,9 +18831,8 @@ func rewriteValueARM_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -19488,9 +18864,8 @@ func rewriteValueARM_OpLsh16x16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19514,9 +18889,8 @@ func rewriteValueARM_OpLsh16x32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19576,9 +18950,8 @@ func rewriteValueARM_OpLsh16x8_0(v *Value) bool {
        // cond:
        // result: (SLL x (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSLL)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -19594,9 +18967,8 @@ func rewriteValueARM_OpLsh32x16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19620,9 +18992,8 @@ func rewriteValueARM_OpLsh32x32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19682,9 +19053,8 @@ func rewriteValueARM_OpLsh32x8_0(v *Value) bool {
        // cond:
        // result: (SLL x (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSLL)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -19700,9 +19070,8 @@ func rewriteValueARM_OpLsh8x16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19726,9 +19095,8 @@ func rewriteValueARM_OpLsh8x32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SLL <x.Type> x y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
@@ -19788,9 +19156,8 @@ func rewriteValueARM_OpLsh8x8_0(v *Value) bool {
        // cond:
        // result: (SLL x (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSLL)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -19806,9 +19173,8 @@ func rewriteValueARM_OpMod16_0(v *Value) bool {
        // cond:
        // result: (Mod32 (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -19826,9 +19192,8 @@ func rewriteValueARM_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (Mod32u (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -19846,9 +19211,8 @@ func rewriteValueARM_OpMod32_0(v *Value) bool {
        // cond:
        // result: (SUB (XOR <typ.UInt32> (Select1 <typ.UInt32> (CALLudiv (SUB <typ.UInt32> (XOR <typ.UInt32> x (Signmask x)) (Signmask x)) (SUB <typ.UInt32> (XOR <typ.UInt32> y (Signmask y)) (Signmask y)))) (Signmask x)) (Signmask x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v0 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpSelect1, typ.UInt32)
@@ -19894,9 +19258,8 @@ func rewriteValueARM_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (Select1 <typ.UInt32> (CALLudiv x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v.Type = typ.UInt32
                v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
@@ -19913,9 +19276,8 @@ func rewriteValueARM_OpMod8_0(v *Value) bool {
        // cond:
        // result: (Mod32 (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -19933,9 +19295,8 @@ func rewriteValueARM_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (Mod32u (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -19957,7 +19318,6 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -19971,10 +19331,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
@@ -19992,10 +19351,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -20015,10 +19373,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
@@ -20045,10 +19402,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -20069,10 +19425,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -20101,10 +19456,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -20148,10 +19502,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -20185,10 +19538,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s%4 == 0 && s > 4 && s <= 512 && t.(*types.Type).Alignment()%4 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -20205,10 +19557,9 @@ func rewriteValueARM_OpMove_0(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !((s > 512 || config.noDuffDevice) || t.(*types.Type).Alignment()%4 != 0) {
                        break
                }
@@ -20230,9 +19581,8 @@ func rewriteValueARM_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -20244,9 +19594,8 @@ func rewriteValueARM_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -20258,9 +19607,8 @@ func rewriteValueARM_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (MULF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMULF)
                v.AddArg(x)
                v.AddArg(y)
@@ -20272,9 +19620,8 @@ func rewriteValueARM_OpMul32uhilo_0(v *Value) bool {
        // cond:
        // result: (MULLU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMULLU)
                v.AddArg(x)
                v.AddArg(y)
@@ -20286,9 +19633,8 @@ func rewriteValueARM_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (MULD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -20300,9 +19646,8 @@ func rewriteValueARM_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -20374,9 +19719,8 @@ func rewriteValueARM_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -20395,9 +19739,8 @@ func rewriteValueARM_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -20412,9 +19755,8 @@ func rewriteValueARM_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
                v0.AddArg(x)
@@ -20429,9 +19771,8 @@ func rewriteValueARM_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -20447,9 +19788,8 @@ func rewriteValueARM_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -20467,9 +19807,8 @@ func rewriteValueARM_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -20482,9 +19821,8 @@ func rewriteValueARM_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMNotEqual)
                v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
                v0.AddArg(x)
@@ -20498,9 +19836,8 @@ func rewriteValueARM_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARMLoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -20551,9 +19888,8 @@ func rewriteValueARM_OpOr16_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -20565,9 +19901,8 @@ func rewriteValueARM_OpOr32_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -20579,9 +19914,8 @@ func rewriteValueARM_OpOr8_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -20593,9 +19927,8 @@ func rewriteValueARM_OpOrB_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -20633,9 +19966,8 @@ func rewriteValueARM_OpRsh16Ux16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> (ZeroExt16to32 x) (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -20662,9 +19994,8 @@ func rewriteValueARM_OpRsh16Ux32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> (ZeroExt16to32 x) y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -20731,9 +20062,8 @@ func rewriteValueARM_OpRsh16Ux8_0(v *Value) bool {
        // cond:
        // result: (SRL (ZeroExt16to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRL)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -20751,9 +20081,8 @@ func rewriteValueARM_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (SRAcond (SignExt16to32 x) (ZeroExt16to32 y) (CMPconst [256] (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -20777,9 +20106,8 @@ func rewriteValueARM_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (SRAcond (SignExt16to32 x) y (CMPconst [256] y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -20848,9 +20176,8 @@ func rewriteValueARM_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -20868,9 +20195,8 @@ func rewriteValueARM_OpRsh32Ux16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> x (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -20894,9 +20220,8 @@ func rewriteValueARM_OpRsh32Ux32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> x y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -20956,9 +20281,8 @@ func rewriteValueARM_OpRsh32Ux8_0(v *Value) bool {
        // cond:
        // result: (SRL x (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRL)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -20974,9 +20298,8 @@ func rewriteValueARM_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (SRAcond x (ZeroExt16to32 y) (CMPconst [256] (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -20997,9 +20320,8 @@ func rewriteValueARM_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (SRAcond x y (CMPconst [256] y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v.AddArg(x)
                v.AddArg(y)
@@ -21058,9 +20380,8 @@ func rewriteValueARM_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (SRA x (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -21076,9 +20397,8 @@ func rewriteValueARM_OpRsh8Ux16_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> (ZeroExt8to32 x) (ZeroExt16to32 y)) (CMPconst [256] (ZeroExt16to32 y)) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -21105,9 +20425,8 @@ func rewriteValueARM_OpRsh8Ux32_0(v *Value) bool {
        // cond:
        // result: (CMOVWHSconst (SRL <x.Type> (ZeroExt8to32 x) y) (CMPconst [256] y) [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
                v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
@@ -21174,9 +20493,8 @@ func rewriteValueARM_OpRsh8Ux8_0(v *Value) bool {
        // cond:
        // result: (SRL (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRL)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -21194,9 +20512,8 @@ func rewriteValueARM_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (SRAcond (SignExt8to32 x) (ZeroExt16to32 y) (CMPconst [256] (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -21220,9 +20537,8 @@ func rewriteValueARM_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (SRAcond (SignExt8to32 x) y (CMPconst [256] y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRAcond)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -21291,9 +20607,8 @@ func rewriteValueARM_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -21538,10 +20853,9 @@ func rewriteValueARM_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -21556,10 +20870,9 @@ func rewriteValueARM_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -21574,10 +20887,9 @@ func rewriteValueARM_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && !is32BitFloat(val.Type)) {
                        break
                }
@@ -21592,10 +20904,9 @@ func rewriteValueARM_OpStore_0(v *Value) bool {
        // result: (MOVFstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -21610,10 +20921,9 @@ func rewriteValueARM_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -21630,9 +20940,8 @@ func rewriteValueARM_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21644,9 +20953,8 @@ func rewriteValueARM_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21658,9 +20966,8 @@ func rewriteValueARM_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (SUBF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUBF)
                v.AddArg(x)
                v.AddArg(y)
@@ -21672,9 +20979,8 @@ func rewriteValueARM_OpSub32carry_0(v *Value) bool {
        // cond:
        // result: (SUBS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -21686,10 +20992,9 @@ func rewriteValueARM_OpSub32withcarry_0(v *Value) bool {
        // cond:
        // result: (SBC x y c)
        for {
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(OpARMSBC)
                v.AddArg(x)
                v.AddArg(y)
@@ -21702,9 +21007,8 @@ func rewriteValueARM_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (SUBD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUBD)
                v.AddArg(x)
                v.AddArg(y)
@@ -21716,9 +21020,8 @@ func rewriteValueARM_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21730,9 +21033,8 @@ func rewriteValueARM_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21781,10 +21083,9 @@ func rewriteValueARM_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARMLoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -21798,9 +21099,8 @@ func rewriteValueARM_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -21812,9 +21112,8 @@ func rewriteValueARM_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -21826,9 +21125,8 @@ func rewriteValueARM_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARMXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -21846,7 +21144,6 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -21860,9 +21157,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARMMOVBstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
@@ -21879,9 +21175,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -21900,9 +21195,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -21927,9 +21221,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -21949,9 +21242,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -21978,9 +21270,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
@@ -22018,9 +21309,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARMMOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
@@ -22050,9 +21340,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%4 == 0 && s > 4 && s <= 512 && t.(*types.Type).Alignment()%4 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -22071,9 +21360,8 @@ func rewriteValueARM_OpZero_0(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !((s > 512 || config.noDuffDevice) || t.(*types.Type).Alignment()%4 != 0) {
                        break
                }
@@ -22250,9 +21538,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22279,10 +21566,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22341,9 +21627,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22372,9 +21657,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22403,9 +21687,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22433,10 +21716,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22464,10 +21746,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22495,10 +21776,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22526,9 +21806,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22555,10 +21834,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22617,9 +21895,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22648,9 +21925,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22679,9 +21955,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22709,10 +21984,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22740,10 +22014,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22771,10 +22044,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22802,9 +22074,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22860,9 +22131,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22891,9 +22161,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22922,9 +22191,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22952,10 +22220,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -22983,10 +22250,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23014,10 +22280,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23045,9 +22310,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23103,9 +22367,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23134,9 +22397,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23165,9 +22427,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23195,10 +22456,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23226,10 +22486,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23257,10 +22516,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23370,9 +22628,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23399,10 +22656,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23461,9 +22717,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23492,9 +22747,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23523,9 +22777,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23553,10 +22806,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23584,10 +22836,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23615,10 +22866,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23646,9 +22896,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23675,10 +22924,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23737,9 +22985,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23768,9 +23015,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23799,9 +23045,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23829,10 +23074,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23860,10 +23104,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23891,10 +23134,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23922,9 +23164,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -23980,9 +23221,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24011,9 +23251,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24042,9 +23281,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24072,10 +23310,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24103,10 +23340,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24134,10 +23370,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24165,9 +23400,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24223,9 +23457,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24254,9 +23487,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24285,9 +23517,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24315,10 +23546,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24346,10 +23576,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24377,10 +23606,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24491,9 +23719,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24520,10 +23747,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24582,9 +23808,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24613,9 +23838,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24644,9 +23868,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24674,10 +23897,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24705,10 +23927,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24736,10 +23957,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24767,9 +23987,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24825,9 +24044,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24856,9 +24074,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24887,9 +24104,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24917,10 +24133,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24948,10 +24163,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -24979,10 +24193,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25010,9 +24223,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25039,10 +24251,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25101,9 +24312,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25132,9 +24342,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25163,9 +24372,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25193,10 +24401,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25224,10 +24431,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25255,10 +24461,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25286,9 +24491,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25344,9 +24548,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25375,9 +24578,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25406,9 +24608,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25436,10 +24637,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25467,10 +24667,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25498,10 +24697,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25767,9 +24965,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25796,10 +24993,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25858,9 +25054,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25889,9 +25084,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25920,9 +25114,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25950,10 +25143,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -25981,10 +25173,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26012,10 +25203,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26043,9 +25233,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26072,10 +25261,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26134,9 +25322,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26165,9 +25352,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26196,9 +25382,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26226,10 +25411,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26257,10 +25441,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26288,10 +25471,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26319,9 +25501,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26377,9 +25558,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26408,9 +25588,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26439,9 +25618,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26469,10 +25647,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26500,10 +25677,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26531,10 +25707,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26562,9 +25737,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26620,9 +25794,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26651,9 +25824,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26682,9 +25854,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26712,10 +25883,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26743,10 +25913,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26774,10 +25943,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26888,9 +26056,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26917,10 +26084,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -26979,9 +26145,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27010,9 +26175,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27041,9 +26205,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27071,10 +26234,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27102,10 +26264,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27133,10 +26294,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27164,9 +26324,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27193,10 +26352,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27255,9 +26413,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27286,9 +26443,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27317,9 +26473,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27347,10 +26502,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27378,10 +26532,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27409,10 +26562,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27440,9 +26592,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27498,9 +26649,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27529,9 +26679,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27560,9 +26709,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27590,10 +26738,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27621,10 +26768,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27652,10 +26798,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27683,9 +26828,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27741,9 +26885,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27772,9 +26915,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27803,9 +26945,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27833,10 +26974,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27864,10 +27004,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -27895,10 +27034,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28217,9 +27355,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUB {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28246,10 +27383,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULS {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28308,9 +27444,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28339,9 +27474,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28370,9 +27504,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28400,10 +27533,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28431,10 +27563,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28462,10 +27593,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMSUBshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28493,9 +27623,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADD {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28522,10 +27651,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMMULA {
                                break
                        }
-                       = l.Args[2]
+                       a := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       a := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28584,9 +27712,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28615,9 +27742,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28646,9 +27772,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28676,10 +27801,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28707,10 +27831,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28738,10 +27861,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMADDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28769,9 +27891,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMAND {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28827,9 +27948,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28858,9 +27978,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28889,9 +28008,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28919,10 +28037,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28950,10 +28067,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -28981,10 +28097,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMANDshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29012,9 +28127,8 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXOR {
                                break
                        }
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29070,9 +28184,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29101,9 +28214,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29132,9 +28244,8 @@ func rewriteBlockARM(b *Block) bool {
                                break
                        }
                        c := l.AuxInt
-                       _ = l.Args[1]
-                       x := l.Args[0]
                        y := l.Args[1]
+                       x := l.Args[0]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29162,10 +28273,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftLLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29193,10 +28303,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRLreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
@@ -29224,10 +28333,9 @@ func rewriteBlockARM(b *Block) bool {
                        if l.Op != OpARMXORshiftRAreg {
                                break
                        }
-                       = l.Args[2]
+                       z := l.Args[2]
                        x := l.Args[0]
                        y := l.Args[1]
-                       z := l.Args[2]
                        if !(l.Uses == 1) {
                                break
                        }
index 63e87880e80d5fd0c22b8f6ed6c7f06b8ade1448..89f01b4d84a0514a08a9f397d696efcfa8a689e0 100644 (file)
@@ -967,13 +967,12 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -989,9 +988,8 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
                if l.Op != OpARM64MUL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1005,15 +1003,13 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
        // cond: l.Uses==1 && clobber(l)
        // result: (MADD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                l := v.Args[0]
                if l.Op != OpARM64MUL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
-               a := v.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1033,9 +1029,8 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
                if l.Op != OpARM64MNEG {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1049,15 +1044,13 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
        // cond: l.Uses==1 && clobber(l)
        // result: (MSUB a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                l := v.Args[0]
                if l.Op != OpARM64MNEG {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
-               a := v.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1077,9 +1070,8 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
                if l.Op != OpARM64MULW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1093,15 +1085,13 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
        // cond: a.Type.Size() != 8 && l.Uses==1 && clobber(l)
        // result: (MADDW a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                l := v.Args[0]
                if l.Op != OpARM64MULW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
-               a := v.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1121,9 +1111,8 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
                if l.Op != OpARM64MNEGW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1137,15 +1126,13 @@ func rewriteValueARM64_OpARM64ADD_0(v *Value) bool {
        // cond: a.Type.Size() != 8 && l.Uses==1 && clobber(l)
        // result: (MSUBW a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                l := v.Args[0]
                if l.Op != OpARM64MNEGW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
-               a := v.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -1180,13 +1167,12 @@ func rewriteValueARM64_OpARM64ADD_10(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64NEG {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -1217,14 +1203,13 @@ func rewriteValueARM64_OpARM64ADD_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ADDshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -1259,14 +1244,13 @@ func rewriteValueARM64_OpARM64ADD_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ADDshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -1301,14 +1285,13 @@ func rewriteValueARM64_OpARM64ADD_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ADDshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -2325,13 +2308,12 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
        // result: (ADDconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -2362,7 +2344,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
        // result: (RORconst [64-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -2370,8 +2352,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -2385,14 +2366,13 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
@@ -2413,7 +2393,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
@@ -2424,8 +2404,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64REV16W)
@@ -2437,7 +2416,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
        // result: (EXTRconst [64-c] x2 x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -2446,7 +2425,6 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
                        break
                }
                x := v_0.Args[0]
-               x2 := v.Args[1]
                v.reset(OpARM64EXTRconst)
                v.AuxInt = 64 - c
                v.AddArg(x2)
@@ -2459,14 +2437,13 @@ func rewriteValueARM64_OpARM64ADDshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
                x := v_0.Args[0]
-               x2 := v.Args[1]
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
                        break
                }
@@ -2485,13 +2462,12 @@ func rewriteValueARM64_OpARM64ADDshiftRA_0(v *Value) bool {
        // result: (ADDconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -2526,13 +2502,12 @@ func rewriteValueARM64_OpARM64ADDshiftRL_0(v *Value) bool {
        // result: (ADDconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -2563,7 +2538,7 @@ func rewriteValueARM64_OpARM64ADDshiftRL_0(v *Value) bool {
        // result: (RORconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -2571,8 +2546,7 @@ func rewriteValueARM64_OpARM64ADDshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -2633,13 +2607,12 @@ func rewriteValueARM64_OpARM64AND_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -2649,9 +2622,8 @@ func rewriteValueARM64_OpARM64AND_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -2679,13 +2651,12 @@ func rewriteValueARM64_OpARM64AND_0(v *Value) bool {
        // cond:
        // result: (BIC x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MVN {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARM64BIC)
                v.AddArg(x)
                v.AddArg(y)
@@ -2716,14 +2687,13 @@ func rewriteValueARM64_OpARM64AND_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ANDshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -2758,14 +2728,13 @@ func rewriteValueARM64_OpARM64AND_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ANDshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -2803,14 +2772,13 @@ func rewriteValueARM64_OpARM64AND_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ANDshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -2969,13 +2937,12 @@ func rewriteValueARM64_OpARM64ANDshiftLL_0(v *Value) bool {
        // result: (ANDconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -3033,13 +3000,12 @@ func rewriteValueARM64_OpARM64ANDshiftRA_0(v *Value) bool {
        // result: (ANDconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -3097,13 +3063,12 @@ func rewriteValueARM64_OpARM64ANDshiftRL_0(v *Value) bool {
        // result: (ANDconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -3175,9 +3140,8 @@ func rewriteValueARM64_OpARM64BIC_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARM64MOVDconst)
@@ -3396,13 +3360,12 @@ func rewriteValueARM64_OpARM64CMN_0(v *Value) bool {
        // cond:
        // result: (CMNconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64CMNconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -3433,14 +3396,13 @@ func rewriteValueARM64_OpARM64CMN_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (CMNshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -3475,14 +3437,13 @@ func rewriteValueARM64_OpARM64CMN_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (CMNshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -3517,14 +3478,13 @@ func rewriteValueARM64_OpARM64CMN_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (CMNshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -3557,13 +3517,12 @@ func rewriteValueARM64_OpARM64CMNW_0(v *Value) bool {
        // cond:
        // result: (CMNWconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64CMNWconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -3744,13 +3703,12 @@ func rewriteValueARM64_OpARM64CMNshiftLL_0(v *Value) bool {
        // result: (CMNconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64CMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -3785,13 +3743,12 @@ func rewriteValueARM64_OpARM64CMNshiftRA_0(v *Value) bool {
        // result: (CMNconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64CMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -3826,13 +3783,12 @@ func rewriteValueARM64_OpARM64CMNshiftRL_0(v *Value) bool {
        // result: (CMNconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64CMNconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -3882,13 +3838,12 @@ func rewriteValueARM64_OpARM64CMP_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPconst [c] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -3921,14 +3876,13 @@ func rewriteValueARM64_OpARM64CMP_0(v *Value) bool {
        // cond: clobberIfDead(x0)
        // result: (InvertFlags (CMPshiftLL x1 y [c]))
        for {
-               = v.Args[1]
+               x1 := v.Args[1]
                x0 := v.Args[0]
                if x0.Op != OpARM64SLLconst {
                        break
                }
                c := x0.AuxInt
                y := x0.Args[0]
-               x1 := v.Args[1]
                if !(clobberIfDead(x0)) {
                        break
                }
@@ -3965,14 +3919,13 @@ func rewriteValueARM64_OpARM64CMP_0(v *Value) bool {
        // cond: clobberIfDead(x0)
        // result: (InvertFlags (CMPshiftRL x1 y [c]))
        for {
-               = v.Args[1]
+               x1 := v.Args[1]
                x0 := v.Args[0]
                if x0.Op != OpARM64SRLconst {
                        break
                }
                c := x0.AuxInt
                y := x0.Args[0]
-               x1 := v.Args[1]
                if !(clobberIfDead(x0)) {
                        break
                }
@@ -4009,14 +3962,13 @@ func rewriteValueARM64_OpARM64CMP_0(v *Value) bool {
        // cond: clobberIfDead(x0)
        // result: (InvertFlags (CMPshiftRA x1 y [c]))
        for {
-               = v.Args[1]
+               x1 := v.Args[1]
                x0 := v.Args[0]
                if x0.Op != OpARM64SRAconst {
                        break
                }
                c := x0.AuxInt
                y := x0.Args[0]
-               x1 := v.Args[1]
                if !(clobberIfDead(x0)) {
                        break
                }
@@ -4052,13 +4004,12 @@ func rewriteValueARM64_OpARM64CMPW_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPWconst [int64(int32(c))] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64CMPWconst, types.TypeFlags)
                v0.AuxInt = int64(int32(c))
@@ -4348,13 +4299,12 @@ func rewriteValueARM64_OpARM64CMPshiftLL_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SLLconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -4391,13 +4341,12 @@ func rewriteValueARM64_OpARM64CMPshiftRA_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SRAconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -4434,13 +4383,12 @@ func rewriteValueARM64_OpARM64CMPshiftRL_0(v *Value) bool {
        // result: (InvertFlags (CMPconst [c] (SRLconst <x.Type> x [d])))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
                v0.AuxInt = c
@@ -4476,7 +4424,7 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
        // result: (CSEL0 {cc} x flag)
        for {
                cc := v.Aux
-               = v.Args[2]
+               flag := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -4485,7 +4433,6 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               flag := v.Args[2]
                v.reset(OpARM64CSEL0)
                v.Aux = cc
                v.AddArg(x)
@@ -4497,7 +4444,7 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
        // result: (CSEL0 {arm64Negate(cc.(Op))} y flag)
        for {
                cc := v.Aux
-               = v.Args[2]
+               flag := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -4506,7 +4453,6 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
                        break
                }
                y := v.Args[1]
-               flag := v.Args[2]
                v.reset(OpARM64CSEL0)
                v.Aux = arm64Negate(cc.(Op))
                v.AddArg(y)
@@ -4538,9 +4484,8 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
        // result: x
        for {
                cc := v.Aux
-               _ = v.Args[2]
-               x := v.Args[0]
                flag := v.Args[2]
+               x := v.Args[0]
                if !(ccARM64Eval(cc, flag) > 0) {
                        break
                }
@@ -4554,9 +4499,8 @@ func rewriteValueARM64_OpARM64CSEL_0(v *Value) bool {
        // result: y
        for {
                cc := v.Aux
-               _ = v.Args[2]
-               y := v.Args[1]
                flag := v.Args[2]
+               y := v.Args[1]
                if !(ccARM64Eval(cc, flag) < 0) {
                        break
                }
@@ -4643,9 +4587,8 @@ func rewriteValueARM64_OpARM64CSEL0_0(v *Value) bool {
        // result: x
        for {
                cc := v.Aux
-               _ = v.Args[1]
-               x := v.Args[0]
                flag := v.Args[1]
+               x := v.Args[0]
                if !(ccARM64Eval(cc, flag) > 0) {
                        break
                }
@@ -4659,7 +4602,6 @@ func rewriteValueARM64_OpARM64CSEL0_0(v *Value) bool {
        // result: (MOVDconst [0])
        for {
                cc := v.Aux
-               _ = v.Args[1]
                flag := v.Args[1]
                if !(ccARM64Eval(cc, flag) < 0) {
                        break
@@ -4783,9 +4725,8 @@ func rewriteValueARM64_OpARM64EON_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [-1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARM64MOVDconst)
@@ -5070,9 +5011,8 @@ func rewriteValueARM64_OpARM64FADDD_0(v *Value) bool {
                if v_1.Op != OpARM64FMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMADDD)
                v.AddArg(a)
                v.AddArg(x)
@@ -5083,15 +5023,13 @@ func rewriteValueARM64_OpARM64FADDD_0(v *Value) bool {
        // cond:
        // result: (FMADDD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMADDD)
                v.AddArg(a)
                v.AddArg(x)
@@ -5108,9 +5046,8 @@ func rewriteValueARM64_OpARM64FADDD_0(v *Value) bool {
                if v_1.Op != OpARM64FNMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMSUBD)
                v.AddArg(a)
                v.AddArg(x)
@@ -5121,15 +5058,13 @@ func rewriteValueARM64_OpARM64FADDD_0(v *Value) bool {
        // cond:
        // result: (FMSUBD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMSUBD)
                v.AddArg(a)
                v.AddArg(x)
@@ -5149,9 +5084,8 @@ func rewriteValueARM64_OpARM64FADDS_0(v *Value) bool {
                if v_1.Op != OpARM64FMULS {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMADDS)
                v.AddArg(a)
                v.AddArg(x)
@@ -5162,15 +5096,13 @@ func rewriteValueARM64_OpARM64FADDS_0(v *Value) bool {
        // cond:
        // result: (FMADDS a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMADDS)
                v.AddArg(a)
                v.AddArg(x)
@@ -5187,9 +5119,8 @@ func rewriteValueARM64_OpARM64FADDS_0(v *Value) bool {
                if v_1.Op != OpARM64FNMULS {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMSUBS)
                v.AddArg(a)
                v.AddArg(x)
@@ -5200,15 +5131,13 @@ func rewriteValueARM64_OpARM64FADDS_0(v *Value) bool {
        // cond:
        // result: (FMSUBS a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMSUBS)
                v.AddArg(a)
                v.AddArg(x)
@@ -5240,7 +5169,7 @@ func rewriteValueARM64_OpARM64FCMPD_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (FCMPD0 x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMOVDconst {
                        break
@@ -5248,7 +5177,6 @@ func rewriteValueARM64_OpARM64FCMPD_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD0, types.TypeFlags)
                v0.AddArg(x)
@@ -5280,7 +5208,7 @@ func rewriteValueARM64_OpARM64FCMPS_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (FCMPS0 x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMOVSconst {
                        break
@@ -5288,7 +5216,6 @@ func rewriteValueARM64_OpARM64FCMPS_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpARM64InvertFlags)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS0, types.TypeFlags)
                v0.AddArg(x)
@@ -5379,14 +5306,13 @@ func rewriteValueARM64_OpARM64FMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5403,15 +5329,13 @@ func rewriteValueARM64_OpARM64FMOVDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -5427,7 +5351,7 @@ func rewriteValueARM64_OpARM64FMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -5435,7 +5359,6 @@ func rewriteValueARM64_OpARM64FMOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5453,14 +5376,13 @@ func rewriteValueARM64_OpARM64FMOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (FMOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64FMOVDload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5471,14 +5393,13 @@ func rewriteValueARM64_OpARM64FMOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (FMOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64FMOVDload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5496,14 +5417,13 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64FMOVDgpfp {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5518,7 +5438,7 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -5526,7 +5446,6 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5544,16 +5463,14 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -5570,7 +5487,7 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -5579,7 +5496,6 @@ func rewriteValueARM64_OpARM64FMOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5598,7 +5514,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (FMOVDstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -5606,7 +5522,6 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64FMOVDstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5618,7 +5533,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (FMOVDstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -5626,7 +5541,6 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64FMOVDstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -5672,14 +5586,13 @@ func rewriteValueARM64_OpARM64FMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5696,15 +5609,13 @@ func rewriteValueARM64_OpARM64FMOVSload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -5720,7 +5631,7 @@ func rewriteValueARM64_OpARM64FMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -5728,7 +5639,6 @@ func rewriteValueARM64_OpARM64FMOVSload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5746,14 +5656,13 @@ func rewriteValueARM64_OpARM64FMOVSloadidx_0(v *Value) bool {
        // cond:
        // result: (FMOVSload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64FMOVSload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5764,14 +5673,13 @@ func rewriteValueARM64_OpARM64FMOVSloadidx_0(v *Value) bool {
        // cond:
        // result: (FMOVSload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64FMOVSload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5789,14 +5697,13 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64FMOVSgpfp {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5811,7 +5718,7 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -5819,7 +5726,6 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5837,16 +5743,14 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -5863,7 +5767,7 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -5872,7 +5776,6 @@ func rewriteValueARM64_OpARM64FMOVSstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -5891,7 +5794,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx_0(v *Value) bool {
        // cond:
        // result: (FMOVSstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -5899,7 +5802,6 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64FMOVSstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -5911,7 +5813,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx_0(v *Value) bool {
        // cond:
        // result: (FMOVSstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -5919,7 +5821,6 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64FMOVSstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -5934,13 +5835,12 @@ func rewriteValueARM64_OpARM64FMULD_0(v *Value) bool {
        // cond:
        // result: (FNMULD x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNEGD {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64FNMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -5969,13 +5869,12 @@ func rewriteValueARM64_OpARM64FMULS_0(v *Value) bool {
        // cond:
        // result: (FNMULS x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNEGS {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64FNMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6008,9 +5907,8 @@ func rewriteValueARM64_OpARM64FNEGD_0(v *Value) bool {
                if v_0.Op != OpARM64FMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6024,9 +5922,8 @@ func rewriteValueARM64_OpARM64FNEGD_0(v *Value) bool {
                if v_0.Op != OpARM64FNMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6043,9 +5940,8 @@ func rewriteValueARM64_OpARM64FNEGS_0(v *Value) bool {
                if v_0.Op != OpARM64FMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6059,9 +5955,8 @@ func rewriteValueARM64_OpARM64FNEGS_0(v *Value) bool {
                if v_0.Op != OpARM64FNMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6074,13 +5969,12 @@ func rewriteValueARM64_OpARM64FNMULD_0(v *Value) bool {
        // cond:
        // result: (FMULD x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNEGD {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64FMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6109,13 +6003,12 @@ func rewriteValueARM64_OpARM64FNMULS_0(v *Value) bool {
        // cond:
        // result: (FMULS x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNEGS {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64FMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6150,9 +6043,8 @@ func rewriteValueARM64_OpARM64FSUBD_0(v *Value) bool {
                if v_1.Op != OpARM64FMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMSUBD)
                v.AddArg(a)
                v.AddArg(x)
@@ -6163,15 +6055,13 @@ func rewriteValueARM64_OpARM64FSUBD_0(v *Value) bool {
        // cond:
        // result: (FNMSUBD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMSUBD)
                v.AddArg(a)
                v.AddArg(x)
@@ -6188,9 +6078,8 @@ func rewriteValueARM64_OpARM64FSUBD_0(v *Value) bool {
                if v_1.Op != OpARM64FNMULD {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMADDD)
                v.AddArg(a)
                v.AddArg(x)
@@ -6201,15 +6090,13 @@ func rewriteValueARM64_OpARM64FSUBD_0(v *Value) bool {
        // cond:
        // result: (FNMADDD a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNMULD {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMADDD)
                v.AddArg(a)
                v.AddArg(x)
@@ -6229,9 +6116,8 @@ func rewriteValueARM64_OpARM64FSUBS_0(v *Value) bool {
                if v_1.Op != OpARM64FMULS {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMSUBS)
                v.AddArg(a)
                v.AddArg(x)
@@ -6242,15 +6128,13 @@ func rewriteValueARM64_OpARM64FSUBS_0(v *Value) bool {
        // cond:
        // result: (FNMSUBS a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMSUBS)
                v.AddArg(a)
                v.AddArg(x)
@@ -6267,9 +6151,8 @@ func rewriteValueARM64_OpARM64FSUBS_0(v *Value) bool {
                if v_1.Op != OpARM64FNMULS {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpARM64FMADDS)
                v.AddArg(a)
                v.AddArg(x)
@@ -6280,15 +6163,13 @@ func rewriteValueARM64_OpARM64FSUBS_0(v *Value) bool {
        // cond:
        // result: (FNMADDS a x y)
        for {
-               = v.Args[1]
+               a := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64FNMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               a := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64FNMADDS)
                v.AddArg(a)
                v.AddArg(x)
@@ -7204,7 +7085,7 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond:
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -7213,7 +7094,6 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
                if v_1.AuxInt != -1 {
                        break
                }
-               x := v.Args[2]
                v.reset(OpARM64SUB)
                v.AddArg(a)
                v.AddArg(x)
@@ -7241,7 +7121,7 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond:
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -7250,7 +7130,6 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
                if v_1.AuxInt != 1 {
                        break
                }
-               x := v.Args[2]
                v.reset(OpARM64ADD)
                v.AddArg(a)
                v.AddArg(x)
@@ -7260,14 +7139,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (ADDshiftLL a x [log2(c)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -7281,14 +7159,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && c>=3
        // result: (ADD a (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c-1) && c >= 3) {
                        break
                }
@@ -7305,14 +7182,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && c>=7
        // result: (SUB a (SUBshiftLL <x.Type> x x [log2(c+1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c+1) && c >= 7) {
                        break
                }
@@ -7329,14 +7205,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3)
        // result: (SUBshiftLL a (SUBshiftLL <x.Type> x x [2]) [log2(c/3)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3)) {
                        break
                }
@@ -7354,14 +7229,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5)
        // result: (ADDshiftLL a (ADDshiftLL <x.Type> x x [2]) [log2(c/5)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5)) {
                        break
                }
@@ -7379,14 +7253,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7)
        // result: (SUBshiftLL a (SUBshiftLL <x.Type> x x [3]) [log2(c/7)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7)) {
                        break
                }
@@ -7404,14 +7277,13 @@ func rewriteValueARM64_OpARM64MADD_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9)
        // result: (ADDshiftLL a (ADDshiftLL <x.Type> x x [3]) [log2(c/9)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9)) {
                        break
                }
@@ -7433,14 +7305,13 @@ func rewriteValueARM64_OpARM64MADD_20(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (MUL <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64MUL, x.Type)
@@ -7710,14 +7581,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: int32(c)==-1
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -7749,14 +7619,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: int32(c)==1
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(int32(c) == 1) {
                        break
                }
@@ -7769,14 +7638,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (ADDshiftLL a x [log2(c)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -7790,14 +7658,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c)>=3
        // result: (ADD a (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -7814,14 +7681,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c)>=7
        // result: (SUB a (SUBshiftLL <x.Type> x x [log2(c+1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -7838,14 +7704,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (SUBshiftLL a (SUBshiftLL <x.Type> x x [2]) [log2(c/3)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -7863,14 +7728,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (ADDshiftLL a (ADDshiftLL <x.Type> x x [2]) [log2(c/5)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -7888,14 +7752,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (SUBshiftLL a (SUBshiftLL <x.Type> x x [3]) [log2(c/7)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -7913,14 +7776,13 @@ func rewriteValueARM64_OpARM64MADDW_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (ADDshiftLL a (ADDshiftLL <x.Type> x x [3]) [log2(c/9)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -7942,14 +7804,13 @@ func rewriteValueARM64_OpARM64MADDW_20(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (MULW <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64MULW, x.Type)
@@ -8005,7 +7866,7 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -8013,7 +7874,6 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -8072,7 +7932,7 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
        // cond:
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -8080,7 +7940,6 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpARM64NEG)
                v.AddArg(x)
                return true
@@ -8110,13 +7969,12 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (NEG (SLLconst <x.Type> [log2(c)] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -8153,13 +8011,12 @@ func rewriteValueARM64_OpARM64MNEG_0(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && c >= 3
        // result: (NEG (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c-1) && c >= 3) {
                        break
                }
@@ -8203,13 +8060,12 @@ func rewriteValueARM64_OpARM64MNEG_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && c >= 7
        // result: (NEG (ADDshiftLL <x.Type> (NEG <x.Type> x) x [log2(c+1)]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c+1) && c >= 7) {
                        break
                }
@@ -8251,13 +8107,12 @@ func rewriteValueARM64_OpARM64MNEG_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3)
        // result: (SLLconst <x.Type> [log2(c/3)] (SUBshiftLL <x.Type> x x [2]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%3 == 0 && isPowerOfTwo(c/3)) {
                        break
                }
@@ -8300,13 +8155,12 @@ func rewriteValueARM64_OpARM64MNEG_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5)
        // result: (NEG (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%5 == 0 && isPowerOfTwo(c/5)) {
                        break
                }
@@ -8349,13 +8203,12 @@ func rewriteValueARM64_OpARM64MNEG_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7)
        // result: (SLLconst <x.Type> [log2(c/7)] (SUBshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%7 == 0 && isPowerOfTwo(c/7)) {
                        break
                }
@@ -8398,13 +8251,12 @@ func rewriteValueARM64_OpARM64MNEG_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9)
        // result: (NEG (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%9 == 0 && isPowerOfTwo(c/9)) {
                        break
                }
@@ -8487,13 +8339,12 @@ func rewriteValueARM64_OpARM64MNEGW_0(v *Value) bool {
        // cond: int32(c)==-1
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(int32(c) == -1) {
                        break
                }
@@ -8558,13 +8409,12 @@ func rewriteValueARM64_OpARM64MNEGW_0(v *Value) bool {
        // cond: int32(c)==1
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(int32(c) == 1) {
                        break
                }
@@ -8597,13 +8447,12 @@ func rewriteValueARM64_OpARM64MNEGW_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (NEG (SLLconst <x.Type> [log2(c)] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -8640,13 +8489,12 @@ func rewriteValueARM64_OpARM64MNEGW_0(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (NEG (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -8690,13 +8538,12 @@ func rewriteValueARM64_OpARM64MNEGW_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (NEG (ADDshiftLL <x.Type> (NEG <x.Type> x) x [log2(c+1)]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -8738,13 +8585,12 @@ func rewriteValueARM64_OpARM64MNEGW_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (SLLconst <x.Type> [log2(c/3)] (SUBshiftLL <x.Type> x x [2]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -8787,13 +8633,12 @@ func rewriteValueARM64_OpARM64MNEGW_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (NEG (SLLconst <x.Type> [log2(c/5)] (ADDshiftLL <x.Type> x x [2])))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -8836,13 +8681,12 @@ func rewriteValueARM64_OpARM64MNEGW_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (SLLconst <x.Type> [log2(c/7)] (SUBshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -8885,13 +8729,12 @@ func rewriteValueARM64_OpARM64MNEGW_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (NEG (SLLconst <x.Type> [log2(c/9)] (ADDshiftLL <x.Type> x x [3])))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -9002,14 +8845,13 @@ func rewriteValueARM64_OpARM64MOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9026,15 +8868,13 @@ func rewriteValueARM64_OpARM64MOVBUload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -9050,7 +8890,7 @@ func rewriteValueARM64_OpARM64MOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -9058,7 +8898,6 @@ func rewriteValueARM64_OpARM64MOVBUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9117,14 +8956,13 @@ func rewriteValueARM64_OpARM64MOVBUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVBUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9135,14 +8973,13 @@ func rewriteValueARM64_OpARM64MOVBUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9298,14 +9135,13 @@ func rewriteValueARM64_OpARM64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9322,15 +9158,13 @@ func rewriteValueARM64_OpARM64MOVBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -9346,7 +9180,7 @@ func rewriteValueARM64_OpARM64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -9354,7 +9188,6 @@ func rewriteValueARM64_OpARM64MOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9395,14 +9228,13 @@ func rewriteValueARM64_OpARM64MOVBloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVBload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9413,14 +9245,13 @@ func rewriteValueARM64_OpARM64MOVBloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVBload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -9531,7 +9362,7 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -9539,7 +9370,6 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9557,16 +9387,14 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -9583,7 +9411,7 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -9592,7 +9420,6 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -9610,7 +9437,7 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -9619,7 +9446,6 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -9633,14 +9459,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9655,14 +9480,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVBUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9677,14 +9501,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9699,14 +9522,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9721,14 +9543,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9743,14 +9564,13 @@ func rewriteValueARM64_OpARM64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9788,12 +9608,11 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -9818,9 +9637,8 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -9833,13 +9651,12 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -9876,12 +9693,11 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -9906,9 +9722,8 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64UBFX {
                        break
@@ -9921,13 +9736,12 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -9964,12 +9778,11 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -9994,9 +9807,8 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64UBFX {
                        break
@@ -10009,13 +9821,12 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -10056,12 +9867,11 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -10086,9 +9896,8 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -10105,13 +9914,12 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -10146,7 +9954,7 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                w0 := x.Args[1]
                if w0.Op != OpARM64SRLconst {
@@ -10158,7 +9966,6 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -10183,9 +9990,8 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -10196,7 +10002,7 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -10209,7 +10015,6 @@ func rewriteValueARM64_OpARM64MOVBstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -10248,7 +10053,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                w0 := x.Args[1]
                if w0.Op != OpARM64UBFX {
@@ -10258,7 +10063,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && getARM64BFwidth(bfc) == 32-getARM64BFlsb(bfc) && getARM64BFwidth(bfc2) == 32-getARM64BFlsb(bfc2) && getARM64BFlsb(bfc2) == getARM64BFlsb(bfc)-8 && clobber(x)) {
                        break
                }
@@ -10283,9 +10087,8 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64UBFX {
                        break
@@ -10296,7 +10099,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -10307,7 +10110,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && getARM64BFwidth(bfc) == 32-getARM64BFlsb(bfc) && getARM64BFwidth(bfc2) == 32-getARM64BFlsb(bfc2) && getARM64BFlsb(bfc2) == getARM64BFlsb(bfc)-8 && clobber(x)) {
                        break
                }
@@ -10346,7 +10148,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                w0 := x.Args[1]
                if w0.Op != OpARM64SRLconst {
@@ -10362,7 +10164,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != w0_0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -10387,9 +10188,8 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -10404,7 +10204,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -10421,7 +10221,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != w0_0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -10595,7 +10394,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x6.Aux != s {
                        break
                }
-               = x6.Args[2]
+               mem := x6.Args[2]
                if ptr != x6.Args[0] {
                        break
                }
@@ -10609,7 +10408,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x6_1.Args[0] {
                        break
                }
-               mem := x6.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && x4.Uses == 1 && x5.Uses == 1 && x6.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3) && clobber(x4) && clobber(x5) && clobber(x6)) {
                        break
                }
@@ -10769,9 +10567,8 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                x5_1 := x5.Args[1]
                if x5_1.Op != OpARM64SRLconst {
                        break
@@ -10786,7 +10583,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x6.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x6.Args[3]
+               mem := x6.Args[3]
                ptr0 := x6.Args[0]
                idx0 := x6.Args[1]
                x6_2 := x6.Args[2]
@@ -10799,7 +10596,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x6_2.Args[0] {
                        break
                }
-               mem := x6.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && x4.Uses == 1 && x5.Uses == 1 && x6.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && isSamePtr(p1, p) && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3) && clobber(x4) && clobber(x5) && clobber(x6)) {
                        break
                }
@@ -10879,7 +10675,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x2.Aux != s {
                        break
                }
-               = x2.Args[2]
+               mem := x2.Args[2]
                if ptr != x2.Args[0] {
                        break
                }
@@ -10893,7 +10689,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x2_1.Args[0] {
                        break
                }
-               mem := x2.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -10957,9 +10752,8 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                x1_1 := x1.Args[1]
                if x1_1.Op != OpARM64UBFX {
                        break
@@ -10974,7 +10768,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x2.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x2.Args[3]
+               mem := x2.Args[3]
                ptr0 := x2.Args[0]
                idx0 := x2.Args[1]
                x2_2 := x2.Args[2]
@@ -10987,7 +10781,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x2_2.Args[0] {
                        break
                }
-               mem := x2.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && isSamePtr(p1, p) && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -11075,7 +10868,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x2.Aux != s {
                        break
                }
-               = x2.Args[2]
+               mem := x2.Args[2]
                if ptr != x2.Args[0] {
                        break
                }
@@ -11093,7 +10886,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x2_1_0.Args[0] {
                        break
                }
-               mem := x2.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -11161,9 +10953,8 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                x1_1 := x1.Args[1]
                if x1_1.Op != OpARM64SRLconst {
                        break
@@ -11182,7 +10973,7 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if x2.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x2.Args[3]
+               mem := x2.Args[3]
                ptr0 := x2.Args[0]
                idx0 := x2.Args[1]
                x2_2 := x2.Args[2]
@@ -11199,7 +10990,6 @@ func rewriteValueARM64_OpARM64MOVBstore_20(v *Value) bool {
                if w != x2_2_0.Args[0] {
                        break
                }
-               mem := x2.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && isSamePtr(p1, p) && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -11283,7 +11073,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x2.Aux != s {
                        break
                }
-               = x2.Args[2]
+               mem := x2.Args[2]
                if ptr != x2.Args[0] {
                        break
                }
@@ -11297,7 +11087,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x2_1.Args[0] {
                        break
                }
-               mem := x2.Args[2]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -11361,9 +11150,8 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                x1_1 := x1.Args[1]
                if x1_1.Op != OpARM64SRLconst {
                        break
@@ -11378,7 +11166,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x2.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x2.Args[3]
+               mem := x2.Args[3]
                ptr0 := x2.Args[0]
                idx0 := x2.Args[1]
                x2_2 := x2.Args[2]
@@ -11391,7 +11179,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x2_2.Args[0] {
                        break
                }
-               mem := x2.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && isSamePtr(p1, p) && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -11423,7 +11210,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
@@ -11437,7 +11224,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11464,15 +11250,14 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr1 := v_0.Args[0]
                idx1 := v_0.Args[1]
+               ptr1 := v_0.Args[0]
                w := v.Args[1]
                x := v.Args[2]
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr0 := x.Args[0]
                idx0 := x.Args[1]
                x_2 := x.Args[2]
@@ -11485,7 +11270,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -11517,7 +11301,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
@@ -11531,7 +11315,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11558,15 +11341,14 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr1 := v_0.Args[0]
                idx1 := v_0.Args[1]
+               ptr1 := v_0.Args[0]
                w := v.Args[1]
                x := v.Args[2]
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr0 := x.Args[0]
                idx0 := x.Args[1]
                x_2 := x.Args[2]
@@ -11579,7 +11361,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -11611,7 +11392,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
@@ -11629,7 +11410,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_1_0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11656,15 +11436,14 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr1 := v_0.Args[0]
                idx1 := v_0.Args[1]
+               ptr1 := v_0.Args[0]
                w := v.Args[1]
                x := v.Args[2]
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr0 := x.Args[0]
                idx0 := x.Args[1]
                x_2 := x.Args[2]
@@ -11681,7 +11460,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_2_0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -11713,7 +11491,7 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
@@ -11727,7 +11505,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11754,15 +11531,14 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr1 := v_0.Args[0]
                idx1 := v_0.Args[1]
+               ptr1 := v_0.Args[0]
                w := v.Args[1]
                x := v.Args[2]
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr0 := x.Args[0]
                idx0 := x.Args[1]
                x_2 := x.Args[2]
@@ -11775,7 +11551,6 @@ func rewriteValueARM64_OpARM64MOVBstore_30(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -11811,7 +11586,7 @@ func rewriteValueARM64_OpARM64MOVBstore_40(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
@@ -11829,7 +11604,6 @@ func rewriteValueARM64_OpARM64MOVBstore_40(v *Value) bool {
                if w != x_1_0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11856,15 +11630,14 @@ func rewriteValueARM64_OpARM64MOVBstore_40(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr1 := v_0.Args[0]
                idx1 := v_0.Args[1]
+               ptr1 := v_0.Args[0]
                w := v.Args[1]
                x := v.Args[2]
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr0 := x.Args[0]
                idx0 := x.Args[1]
                x_2 := x.Args[2]
@@ -11881,7 +11654,6 @@ func rewriteValueARM64_OpARM64MOVBstore_40(v *Value) bool {
                if w != x_2_0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -11901,7 +11673,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -11909,7 +11681,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -11921,7 +11692,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -11929,7 +11700,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -11941,7 +11711,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstorezeroidx ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -11951,7 +11721,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstorezeroidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -11962,7 +11731,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -11970,7 +11739,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -11982,7 +11750,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -11990,7 +11758,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12002,7 +11769,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12010,7 +11777,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12022,7 +11788,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12030,7 +11796,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12042,7 +11807,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12050,7 +11815,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12062,7 +11826,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12070,7 +11834,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVBstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12104,7 +11867,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if ptr != x.Args[0] {
                        break
                }
@@ -12114,7 +11877,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12204,7 +11966,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if x2.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x2.Args[3]
+               mem := x2.Args[3]
                if ptr != x2.Args[0] {
                        break
                }
@@ -12221,7 +11983,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if w != x2_2.Args[0] {
                        break
                }
-               mem := x2.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -12302,7 +12063,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if x2.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x2.Args[3]
+               mem := x2.Args[3]
                if ptr != x2.Args[0] {
                        break
                }
@@ -12326,7 +12087,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if w != x2_2.Args[0] {
                        break
                }
-               mem := x2.Args[3]
                if !(x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -12356,7 +12116,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if ptr != x.Args[0] {
                        break
                }
@@ -12373,7 +12133,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12398,7 +12157,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if x.Op != OpARM64MOVBstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if ptr != x.Args[0] {
                        break
                }
@@ -12422,7 +12181,6 @@ func rewriteValueARM64_OpARM64MOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12444,14 +12202,13 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -12468,7 +12225,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -12476,7 +12233,6 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -12493,15 +12249,13 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -12527,9 +12281,8 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               _ = x.Args[1]
-               ptr1 := x.Args[0]
                mem := x.Args[1]
+               ptr1 := x.Args[0]
                if !(x.Uses == 1 && areAdjacentOffsets(i, j, 1) && is32Bit(min(i, j)) && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -12553,17 +12306,15 @@ func rewriteValueARM64_OpARM64MOVBstorezero_0(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVBstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -12580,14 +12331,13 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstorezero [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstorezero)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -12598,14 +12348,13 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVBstorezero [c] idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstorezero)
                v.AuxInt = c
                v.AddArg(idx)
@@ -12630,14 +12379,13 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx_0(v *Value) bool {
                if x.Op != OpARM64MOVBstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
                if idx != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12685,14 +12433,13 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -12709,15 +12456,13 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -12733,7 +12478,7 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -12741,10 +12486,8 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
                if v_0.AuxInt != 3 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -12760,7 +12503,7 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -12768,7 +12511,6 @@ func rewriteValueARM64_OpARM64MOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -12827,14 +12569,13 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVDload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -12845,14 +12586,13 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -12863,7 +12603,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVDloadidx8 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -12873,7 +12613,6 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDloadidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12884,7 +12623,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVDloadidx8 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -12894,7 +12633,6 @@ func rewriteValueARM64_OpARM64MOVDloadidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDloadidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -12929,14 +12667,13 @@ func rewriteValueARM64_OpARM64MOVDloadidx8_0(v *Value) bool {
        // cond:
        // result: (MOVDload [c<<3] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVDload)
                v.AuxInt = c << 3
                v.AddArg(ptr)
@@ -13003,14 +12740,13 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64FMOVDfpgp {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64FMOVDstore)
                v.AuxInt = off
                v.Aux = sym
@@ -13025,7 +12761,7 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -13033,7 +12769,6 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13051,16 +12786,14 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13077,7 +12810,7 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -13085,11 +12818,9 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
                if v_0.AuxInt != 3 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13106,7 +12837,7 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -13115,7 +12846,6 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13133,7 +12863,7 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -13142,7 +12872,6 @@ func rewriteValueARM64_OpARM64MOVDstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -13157,7 +12886,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -13165,7 +12894,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -13177,7 +12905,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -13185,7 +12913,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -13197,7 +12924,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstoreidx8 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -13208,7 +12935,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstoreidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13220,7 +12946,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstoreidx8 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -13231,7 +12957,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstoreidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13243,7 +12968,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezeroidx ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -13253,7 +12978,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstorezeroidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13267,7 +12991,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8_0(v *Value) bool {
        // cond:
        // result: (MOVDstore [c<<3] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -13275,7 +12999,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = c << 3
                v.AddArg(ptr)
@@ -13287,7 +13010,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezeroidx8 ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -13297,7 +13020,6 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVDstorezeroidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13315,14 +13037,13 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13339,7 +13060,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -13347,7 +13068,6 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13364,15 +13084,13 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13388,7 +13106,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -13396,10 +13114,8 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
                if v_0.AuxInt != 3 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13425,9 +13141,8 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               _ = x.Args[1]
-               ptr1 := x.Args[0]
                mem := x.Args[1]
+               ptr1 := x.Args[0]
                if !(x.Uses == 1 && areAdjacentOffsets(i, j, 8) && is32Bit(min(i, j)) && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -13451,17 +13166,15 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
                if p0.Op != OpARM64ADD {
                        break
                }
-               _ = p0.Args[1]
-               ptr0 := p0.Args[0]
                idx0 := p0.Args[1]
+               ptr0 := p0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVDstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -13488,17 +13201,15 @@ func rewriteValueARM64_OpARM64MOVDstorezero_0(v *Value) bool {
                if p0.AuxInt != 3 {
                        break
                }
-               _ = p0.Args[1]
-               ptr0 := p0.Args[0]
                idx0 := p0.Args[1]
+               ptr0 := p0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVDstorezeroidx8 {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -13516,14 +13227,13 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezero [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezero)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -13534,14 +13244,13 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezero [c] idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezero)
                v.AuxInt = c
                v.AddArg(idx)
@@ -13552,7 +13261,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezeroidx8 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -13562,7 +13271,6 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezeroidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13573,7 +13281,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezeroidx8 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -13583,7 +13291,6 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezeroidx8)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13597,14 +13304,13 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx8_0(v *Value) bool {
        // cond:
        // result: (MOVDstorezero [c<<3] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstorezero)
                v.AuxInt = c << 3
                v.AddArg(ptr)
@@ -13622,14 +13328,13 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13646,15 +13351,13 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13670,7 +13373,7 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -13678,10 +13381,8 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -13697,7 +13398,7 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -13705,7 +13406,6 @@ func rewriteValueARM64_OpARM64MOVHUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -13764,14 +13464,13 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -13782,14 +13481,13 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -13800,7 +13498,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -13810,7 +13508,6 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13821,18 +13518,16 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64ADD {
                        break
                }
-               _ = v_1.Args[1]
-               idx := v_1.Args[0]
-               if idx != v_1.Args[1] {
+               idx := v_1.Args[1]
+               if idx != v_1.Args[0] {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13843,18 +13538,16 @@ func rewriteValueARM64_OpARM64MOVHUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHUloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               idx := v_0.Args[0]
-               if idx != v_0.Args[1] {
+               idx := v_0.Args[1]
+               if idx != v_0.Args[0] {
                        break
                }
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -13889,14 +13582,13 @@ func rewriteValueARM64_OpARM64MOVHUloadidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHUload [c<<1] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHUload)
                v.AuxInt = c << 1
                v.AddArg(ptr)
@@ -14094,14 +13786,13 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -14118,15 +13809,13 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -14142,7 +13831,7 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -14150,10 +13839,8 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -14169,7 +13856,7 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -14177,7 +13864,6 @@ func rewriteValueARM64_OpARM64MOVHload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -14218,14 +13904,13 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -14236,14 +13921,13 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -14254,7 +13938,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -14264,7 +13948,6 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -14275,18 +13958,16 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64ADD {
                        break
                }
-               _ = v_1.Args[1]
-               idx := v_1.Args[0]
-               if idx != v_1.Args[1] {
+               idx := v_1.Args[1]
+               if idx != v_1.Args[0] {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVHloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -14297,18 +13978,16 @@ func rewriteValueARM64_OpARM64MOVHloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVHloadidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               idx := v_0.Args[0]
-               if idx != v_0.Args[1] {
+               idx := v_0.Args[1]
+               if idx != v_0.Args[0] {
                        break
                }
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHloadidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -14343,14 +14022,13 @@ func rewriteValueARM64_OpARM64MOVHloadidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHload [c<<1] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHload)
                v.AuxInt = c << 1
                v.AddArg(ptr)
@@ -14553,7 +14231,7 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -14561,7 +14239,6 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -14579,16 +14256,14 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -14605,7 +14280,7 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -14613,11 +14288,9 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -14634,7 +14307,7 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -14643,7 +14316,6 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -14661,7 +14333,7 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -14670,7 +14342,6 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -14684,14 +14355,13 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -14706,14 +14376,13 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -14728,14 +14397,13 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -14750,14 +14418,13 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -14792,12 +14459,11 @@ func rewriteValueARM64_OpARM64MOVHstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -14826,9 +14492,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -14841,13 +14506,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -14874,9 +14538,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -14889,13 +14552,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx2 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -14935,12 +14597,11 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -14965,9 +14626,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64UBFX {
                        break
@@ -14980,13 +14640,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -15013,9 +14672,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64UBFX {
                        break
@@ -15028,13 +14686,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx2 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -15078,12 +14735,11 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -15108,9 +14764,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -15127,13 +14782,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -15160,9 +14814,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -15179,13 +14832,12 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx2 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -15223,7 +14875,7 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                w0 := x.Args[1]
                if w0.Op != OpARM64SRLconst {
@@ -15235,7 +14887,6 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -15260,9 +14911,8 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -15273,7 +14923,7 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -15286,7 +14936,6 @@ func rewriteValueARM64_OpARM64MOVHstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -15317,9 +14966,8 @@ func rewriteValueARM64_OpARM64MOVHstore_20(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -15330,7 +14978,7 @@ func rewriteValueARM64_OpARM64MOVHstore_20(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx2 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -15343,7 +14991,6 @@ func rewriteValueARM64_OpARM64MOVHstore_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -15364,7 +15011,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -15372,7 +15019,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -15384,7 +15030,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -15392,7 +15038,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -15404,7 +15049,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -15415,7 +15060,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15427,19 +15071,17 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64ADD {
                        break
                }
-               _ = v_1.Args[1]
-               idx := v_1.Args[0]
-               if idx != v_1.Args[1] {
+               idx := v_1.Args[1]
+               if idx != v_1.Args[0] {
                        break
                }
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15451,7 +15093,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -15462,7 +15104,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15474,19 +15115,17 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               idx := v_0.Args[0]
-               if idx != v_0.Args[1] {
+               idx := v_0.Args[1]
+               if idx != v_0.Args[0] {
                        break
                }
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15498,7 +15137,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15508,7 +15147,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstorezeroidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15519,7 +15157,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15527,7 +15165,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15539,7 +15176,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15547,7 +15184,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15559,7 +15195,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15567,7 +15203,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15582,7 +15217,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_10(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15590,7 +15225,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_10(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15624,7 +15258,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_10(v *Value) bool {
                if x.Op != OpARM64MOVHstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if ptr != x.Args[0] {
                        break
                }
@@ -15634,7 +15268,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx_10(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15652,7 +15285,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstore [c<<1] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -15660,7 +15293,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = c << 1
                v.AddArg(ptr)
@@ -15672,7 +15304,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx2 ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15682,7 +15314,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstorezeroidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15693,7 +15324,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15701,7 +15332,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15713,7 +15343,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15721,7 +15351,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15733,7 +15362,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15741,7 +15370,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15753,7 +15381,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstoreidx2 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -15761,7 +15389,6 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVHstoreidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -15780,14 +15407,13 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -15804,7 +15430,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -15812,7 +15438,6 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -15829,15 +15454,13 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -15853,7 +15476,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -15861,10 +15484,8 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -15890,9 +15511,8 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               _ = x.Args[1]
-               ptr1 := x.Args[0]
                mem := x.Args[1]
+               ptr1 := x.Args[0]
                if !(x.Uses == 1 && areAdjacentOffsets(i, j, 2) && is32Bit(min(i, j)) && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -15916,17 +15536,15 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVHstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -15952,17 +15570,15 @@ func rewriteValueARM64_OpARM64MOVHstorezero_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVHstorezeroidx2 {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -15982,14 +15598,13 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezero [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezero)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -16000,14 +15615,13 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezero [c] idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezero)
                v.AuxInt = c
                v.AddArg(idx)
@@ -16018,7 +15632,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -16028,7 +15642,6 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezeroidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16039,18 +15652,16 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64ADD {
                        break
                }
-               _ = v_1.Args[1]
-               idx := v_1.Args[0]
-               if idx != v_1.Args[1] {
+               idx := v_1.Args[1]
+               if idx != v_1.Args[0] {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezeroidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16061,7 +15672,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -16071,7 +15682,6 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezeroidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16082,18 +15692,16 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezeroidx2 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               idx := v_0.Args[0]
-               if idx != v_0.Args[1] {
+               idx := v_0.Args[1]
+               if idx != v_0.Args[0] {
                        break
                }
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezeroidx2)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16118,14 +15726,13 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx_0(v *Value) bool {
                if x.Op != OpARM64MOVHstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
                if idx != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16142,14 +15749,13 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx2_0(v *Value) bool {
        // cond:
        // result: (MOVHstorezero [c<<1] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstorezero)
                v.AuxInt = c << 1
                v.AddArg(ptr)
@@ -16167,14 +15773,13 @@ func rewriteValueARM64_OpARM64MOVQstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16191,7 +15796,7 @@ func rewriteValueARM64_OpARM64MOVQstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -16199,7 +15804,6 @@ func rewriteValueARM64_OpARM64MOVQstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16248,14 +15852,13 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16272,15 +15875,13 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -16296,7 +15897,7 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -16304,10 +15905,8 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -16323,7 +15922,7 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -16331,7 +15930,6 @@ func rewriteValueARM64_OpARM64MOVWUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16390,14 +15988,13 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -16408,14 +16005,13 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWUload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWUload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -16426,7 +16022,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWUloadidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -16436,7 +16032,6 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWUloadidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16447,7 +16042,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWUloadidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -16457,7 +16052,6 @@ func rewriteValueARM64_OpARM64MOVWUloadidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWUloadidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16492,14 +16086,13 @@ func rewriteValueARM64_OpARM64MOVWUloadidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWUload [c<<2] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWUload)
                v.AuxInt = c << 2
                v.AddArg(ptr)
@@ -16748,14 +16341,13 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16772,15 +16364,13 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -16796,7 +16386,7 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -16804,10 +16394,8 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -16823,7 +16411,7 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -16831,7 +16419,6 @@ func rewriteValueARM64_OpARM64MOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -16872,14 +16459,13 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -16890,14 +16476,13 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWload)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -16908,7 +16493,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -16918,7 +16503,6 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWloadidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16929,7 +16513,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
        // cond:
        // result: (MOVWloadidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -16939,7 +16523,6 @@ func rewriteValueARM64_OpARM64MOVWloadidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWloadidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -16974,14 +16557,13 @@ func rewriteValueARM64_OpARM64MOVWloadidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWload [c<<2] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWload)
                v.AuxInt = c << 2
                v.AddArg(ptr)
@@ -17286,14 +16868,13 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64FMOVSfpgp {
                        break
                }
                val := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64FMOVSstore)
                v.AuxInt = off
                v.Aux = sym
@@ -17308,7 +16889,7 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -17316,7 +16897,6 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17334,16 +16914,14 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -17360,7 +16938,7 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -17368,11 +16946,9 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -17389,7 +16965,7 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -17398,7 +16974,6 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -17416,7 +16991,7 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -17425,7 +17000,6 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -17439,14 +17013,13 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -17461,14 +17034,13 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -17503,12 +17075,11 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -17533,9 +17104,8 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -17548,13 +17118,12 @@ func rewriteValueARM64_OpARM64MOVWstore_0(v *Value) bool {
                if x.Op != OpARM64MOVWstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -17585,9 +17154,8 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -17600,13 +17168,12 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if x.Op != OpARM64MOVWstoreidx4 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -17644,7 +17211,7 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                w0 := x.Args[1]
                if w0.Op != OpARM64SRLconst {
@@ -17656,7 +17223,6 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -17681,9 +17247,8 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -17694,7 +17259,7 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if x.Op != OpARM64MOVWstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -17707,7 +17272,6 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -17734,9 +17298,8 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SRLconst {
                        break
@@ -17747,7 +17310,7 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if x.Op != OpARM64MOVWstoreidx4 {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
                w0 := x.Args[2]
@@ -17760,7 +17323,6 @@ func rewriteValueARM64_OpARM64MOVWstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -17781,7 +17343,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -17789,7 +17351,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -17801,7 +17362,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstore [c] idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -17809,7 +17370,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = c
                v.AddArg(idx)
@@ -17821,7 +17381,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx4 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -17832,7 +17392,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                }
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -17844,7 +17403,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx4 ptr idx val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -17855,7 +17414,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -17867,7 +17425,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezeroidx ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -17877,7 +17435,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstorezeroidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -17888,7 +17445,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -17896,7 +17453,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -17908,7 +17464,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -17916,7 +17472,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -17950,7 +17505,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                if x.Op != OpARM64MOVWstoreidx {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if ptr != x.Args[0] {
                        break
                }
@@ -17960,7 +17515,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17978,7 +17532,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWstore [c<<2] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -17986,7 +17540,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = c << 2
                v.AddArg(ptr)
@@ -17998,7 +17551,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezeroidx4 ptr idx mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -18008,7 +17561,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstorezeroidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -18019,7 +17571,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx4 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -18027,7 +17579,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -18039,7 +17590,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWstoreidx4 ptr idx x mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -18047,7 +17598,6 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpARM64MOVWstoreidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -18066,14 +17616,13 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -18090,7 +17639,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -18098,7 +17647,6 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -18115,15 +17663,13 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -18139,7 +17685,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDshiftLL {
                        break
@@ -18147,10 +17693,8 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(off == 0 && sym == nil) {
                        break
                }
@@ -18176,9 +17720,8 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               _ = x.Args[1]
-               ptr1 := x.Args[0]
                mem := x.Args[1]
+               ptr1 := x.Args[0]
                if !(x.Uses == 1 && areAdjacentOffsets(i, j, 4) && is32Bit(min(i, j)) && isSamePtr(ptr0, ptr1) && clobber(x)) {
                        break
                }
@@ -18202,17 +17745,15 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
                if v_0.Op != OpARM64ADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVWstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1)) && clobber(x)) {
                        break
                }
@@ -18238,17 +17779,15 @@ func rewriteValueARM64_OpARM64MOVWstorezero_0(v *Value) bool {
                if v_0.AuxInt != 2 {
                        break
                }
-               _ = v_0.Args[1]
-               ptr0 := v_0.Args[0]
                idx0 := v_0.Args[1]
+               ptr0 := v_0.Args[0]
                x := v.Args[1]
                if x.Op != OpARM64MOVWstorezeroidx4 {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                ptr1 := x.Args[0]
                idx1 := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && s == nil && isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) && clobber(x)) {
                        break
                }
@@ -18268,14 +17807,13 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezero [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezero)
                v.AuxInt = c
                v.AddArg(ptr)
@@ -18286,14 +17824,13 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezero [c] idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                idx := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezero)
                v.AuxInt = c
                v.AddArg(idx)
@@ -18304,7 +17841,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezeroidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64SLLconst {
@@ -18314,7 +17851,6 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
                        break
                }
                idx := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezeroidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -18325,7 +17861,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezeroidx4 ptr idx mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -18335,7 +17871,6 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
                }
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezeroidx4)
                v.AddArg(ptr)
                v.AddArg(idx)
@@ -18360,14 +17895,13 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx_0(v *Value) bool {
                if x.Op != OpARM64MOVWstorezeroidx {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if ptr != x.Args[0] {
                        break
                }
                if idx != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18384,14 +17918,13 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx4_0(v *Value) bool {
        // cond:
        // result: (MOVWstorezero [c<<2] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstorezero)
                v.AuxInt = c << 2
                v.AddArg(ptr)
@@ -18635,7 +18168,7 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond:
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -18644,7 +18177,6 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
                if v_1.AuxInt != -1 {
                        break
                }
-               x := v.Args[2]
                v.reset(OpARM64ADD)
                v.AddArg(a)
                v.AddArg(x)
@@ -18672,7 +18204,7 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond:
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -18681,7 +18213,6 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
                if v_1.AuxInt != 1 {
                        break
                }
-               x := v.Args[2]
                v.reset(OpARM64SUB)
                v.AddArg(a)
                v.AddArg(x)
@@ -18691,14 +18222,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (SUBshiftLL a x [log2(c)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -18712,14 +18242,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && c>=3
        // result: (SUB a (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c-1) && c >= 3) {
                        break
                }
@@ -18736,14 +18265,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && c>=7
        // result: (ADD a (SUBshiftLL <x.Type> x x [log2(c+1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c+1) && c >= 7) {
                        break
                }
@@ -18760,14 +18288,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3)
        // result: (ADDshiftLL a (SUBshiftLL <x.Type> x x [2]) [log2(c/3)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3)) {
                        break
                }
@@ -18785,14 +18312,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5)
        // result: (SUBshiftLL a (ADDshiftLL <x.Type> x x [2]) [log2(c/5)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5)) {
                        break
                }
@@ -18810,14 +18336,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7)
        // result: (ADDshiftLL a (SUBshiftLL <x.Type> x x [3]) [log2(c/7)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7)) {
                        break
                }
@@ -18835,14 +18360,13 @@ func rewriteValueARM64_OpARM64MSUB_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9)
        // result: (SUBshiftLL a (ADDshiftLL <x.Type> x x [3]) [log2(c/9)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9)) {
                        break
                }
@@ -18864,14 +18388,13 @@ func rewriteValueARM64_OpARM64MSUB_20(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (MNEG <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64MNEG, x.Type)
@@ -19141,14 +18664,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: int32(c)==-1
        // result: (ADD a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(int32(c) == -1) {
                        break
                }
@@ -19180,14 +18702,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: int32(c)==1
        // result: (SUB a x)
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(int32(c) == 1) {
                        break
                }
@@ -19200,14 +18721,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (SUBshiftLL a x [log2(c)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -19221,14 +18741,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c)>=3
        // result: (SUB a (ADDshiftLL <x.Type> x x [log2(c-1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -19245,14 +18764,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c)>=7
        // result: (ADD a (SUBshiftLL <x.Type> x x [log2(c+1)]))
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -19269,14 +18787,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (ADDshiftLL a (SUBshiftLL <x.Type> x x [2]) [log2(c/3)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -19294,14 +18811,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (SUBshiftLL a (ADDshiftLL <x.Type> x x [2]) [log2(c/5)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -19319,14 +18835,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (ADDshiftLL a (SUBshiftLL <x.Type> x x [3]) [log2(c/7)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -19344,14 +18859,13 @@ func rewriteValueARM64_OpARM64MSUBW_10(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (SUBshiftLL a (ADDshiftLL <x.Type> x x [3]) [log2(c/9)])
        for {
-               = v.Args[2]
+               x := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               x := v.Args[2]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -19373,14 +18887,13 @@ func rewriteValueARM64_OpARM64MSUBW_20(v *Value) bool {
        // cond:
        // result: (ADDconst [c] (MNEGW <x.Type> x y))
        for {
-               = v.Args[2]
+               y := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                x := v.Args[1]
-               y := v.Args[2]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64MNEGW, x.Type)
@@ -19417,13 +18930,12 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
        // cond:
        // result: (MNEG x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64NEG {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64MNEG)
                v.AddArg(x)
                v.AddArg(y)
@@ -19466,7 +18978,7 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
        // cond:
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -19474,7 +18986,6 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpARM64NEG)
                v.AddArg(x)
                return true
@@ -19533,7 +19044,7 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
@@ -19541,7 +19052,6 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -19570,13 +19080,12 @@ func rewriteValueARM64_OpARM64MUL_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (SLLconst [log2(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -19613,13 +19122,12 @@ func rewriteValueARM64_OpARM64MUL_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && c >= 3
        // result: (ADDshiftLL x x [log2(c-1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c-1) && c >= 3) {
                        break
                }
@@ -19655,13 +19163,12 @@ func rewriteValueARM64_OpARM64MUL_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && c >= 7
        // result: (ADDshiftLL (NEG <x.Type> x) x [log2(c+1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c+1) && c >= 7) {
                        break
                }
@@ -19700,13 +19207,12 @@ func rewriteValueARM64_OpARM64MUL_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3)
        // result: (SLLconst [log2(c/3)] (ADDshiftLL <x.Type> x x [1]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%3 == 0 && isPowerOfTwo(c/3)) {
                        break
                }
@@ -19746,13 +19252,12 @@ func rewriteValueARM64_OpARM64MUL_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5)
        // result: (SLLconst [log2(c/5)] (ADDshiftLL <x.Type> x x [2]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%5 == 0 && isPowerOfTwo(c/5)) {
                        break
                }
@@ -19794,13 +19299,12 @@ func rewriteValueARM64_OpARM64MUL_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7)
        // result: (SLLconst [log2(c/7)] (ADDshiftLL <x.Type> (NEG <x.Type> x) x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%7 == 0 && isPowerOfTwo(c/7)) {
                        break
                }
@@ -19846,13 +19350,12 @@ func rewriteValueARM64_OpARM64MUL_20(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9)
        // result: (SLLconst [log2(c/9)] (ADDshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%9 == 0 && isPowerOfTwo(c/9)) {
                        break
                }
@@ -19910,13 +19413,12 @@ func rewriteValueARM64_OpARM64MULW_0(v *Value) bool {
        // cond:
        // result: (MNEGW x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64NEG {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpARM64MNEGW)
                v.AddArg(x)
                v.AddArg(y)
@@ -19960,13 +19462,12 @@ func rewriteValueARM64_OpARM64MULW_0(v *Value) bool {
        // cond: int32(c)==-1
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(int32(c) == -1) {
                        break
                }
@@ -20031,13 +19532,12 @@ func rewriteValueARM64_OpARM64MULW_0(v *Value) bool {
        // cond: int32(c)==1
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(int32(c) == 1) {
                        break
                }
@@ -20069,13 +19569,12 @@ func rewriteValueARM64_OpARM64MULW_0(v *Value) bool {
        // cond: isPowerOfTwo(c)
        // result: (SLLconst [log2(c)] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -20112,13 +19611,12 @@ func rewriteValueARM64_OpARM64MULW_10(v *Value) bool {
        // cond: isPowerOfTwo(c-1) && int32(c) >= 3
        // result: (ADDshiftLL x x [log2(c-1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c-1) && int32(c) >= 3) {
                        break
                }
@@ -20154,13 +19652,12 @@ func rewriteValueARM64_OpARM64MULW_10(v *Value) bool {
        // cond: isPowerOfTwo(c+1) && int32(c) >= 7
        // result: (ADDshiftLL (NEG <x.Type> x) x [log2(c+1)])
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(c+1) && int32(c) >= 7) {
                        break
                }
@@ -20199,13 +19696,12 @@ func rewriteValueARM64_OpARM64MULW_10(v *Value) bool {
        // cond: c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)
        // result: (SLLconst [log2(c/3)] (ADDshiftLL <x.Type> x x [1]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%3 == 0 && isPowerOfTwo(c/3) && is32Bit(c)) {
                        break
                }
@@ -20245,13 +19741,12 @@ func rewriteValueARM64_OpARM64MULW_10(v *Value) bool {
        // cond: c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)
        // result: (SLLconst [log2(c/5)] (ADDshiftLL <x.Type> x x [2]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%5 == 0 && isPowerOfTwo(c/5) && is32Bit(c)) {
                        break
                }
@@ -20293,13 +19788,12 @@ func rewriteValueARM64_OpARM64MULW_10(v *Value) bool {
        // cond: c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)
        // result: (SLLconst [log2(c/7)] (ADDshiftLL <x.Type> (NEG <x.Type> x) x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%7 == 0 && isPowerOfTwo(c/7) && is32Bit(c)) {
                        break
                }
@@ -20345,13 +19839,12 @@ func rewriteValueARM64_OpARM64MULW_20(v *Value) bool {
        // cond: c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)
        // result: (SLLconst [log2(c/9)] (ADDshiftLL <x.Type> x x [3]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(c%9 == 0 && isPowerOfTwo(c/9) && is32Bit(c)) {
                        break
                }
@@ -20534,9 +20027,8 @@ func rewriteValueARM64_OpARM64NEG_0(v *Value) bool {
                if v_0.Op != OpARM64MUL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64MNEG)
                v.AddArg(x)
                v.AddArg(y)
@@ -20550,9 +20042,8 @@ func rewriteValueARM64_OpARM64NEG_0(v *Value) bool {
                if v_0.Op != OpARM64MULW {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64MNEGW)
                v.AddArg(x)
                v.AddArg(y)
@@ -20775,13 +20266,12 @@ func rewriteValueARM64_OpARM64OR_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -20791,9 +20281,8 @@ func rewriteValueARM64_OpARM64OR_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -20821,13 +20310,12 @@ func rewriteValueARM64_OpARM64OR_0(v *Value) bool {
        // cond:
        // result: (ORN x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MVN {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARM64ORN)
                v.AddArg(x)
                v.AddArg(y)
@@ -20858,14 +20346,13 @@ func rewriteValueARM64_OpARM64OR_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ORshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -20900,14 +20387,13 @@ func rewriteValueARM64_OpARM64OR_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ORshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -20947,14 +20433,13 @@ func rewriteValueARM64_OpARM64OR_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (ORshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -22023,9 +21508,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                }
                i3 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -22114,9 +21598,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                }
                i0 := x3.AuxInt
                s := x3.Aux
-               _ = x3.Args[1]
-               p := x3.Args[0]
                mem := x3.Args[1]
+               p := x3.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -22253,9 +21736,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                        break
                }
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -22296,9 +21778,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x2.Args[1] {
                        break
                }
@@ -22342,10 +21823,9 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                if x3.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x3.Args[2]
+               mem := x3.Args[2]
                ptr0 := x3.Args[0]
                idx0 := x3.Args[1]
-               mem := x3.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -22426,9 +21906,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x2.Args[1] {
                        break
                }
@@ -22481,7 +21960,7 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                x0_1 := x0.Args[1]
                if x0_1.Op != OpARM64ADDconst {
@@ -22491,7 +21970,6 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                        break
                }
                idx := x0_1.Args[0]
-               mem := x0.Args[2]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -22586,10 +22064,9 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                if x3.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x3.Args[2]
+               mem := x3.Args[2]
                ptr := x3.Args[0]
                idx := x3.Args[1]
-               mem := x3.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -22771,9 +22248,8 @@ func rewriteValueARM64_OpARM64OR_20(v *Value) bool {
                }
                i7 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -22942,9 +22418,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                }
                i0 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -23221,9 +22696,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                        break
                }
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -23348,9 +22822,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x6.Args[1] {
                        break
                }
@@ -23394,10 +22867,9 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if x7.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x7.Args[2]
+               mem := x7.Args[2]
                ptr0 := x7.Args[0]
                idx0 := x7.Args[1]
-               mem := x7.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -23594,9 +23066,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x6.Args[1] {
                        break
                }
@@ -23681,7 +23152,7 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                x0_1 := x0.Args[1]
                if x0_1.Op != OpARM64ADDconst {
@@ -23691,7 +23162,6 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                        break
                }
                idx := x0_1.Args[0]
-               mem := x0.Args[2]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -23886,10 +23356,9 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if x7.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x7.Args[2]
+               mem := x7.Args[2]
                ptr := x7.Args[0]
                idx := x7.Args[1]
-               mem := x7.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -24171,9 +23640,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -24264,9 +23732,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                }
                i3 := x3.AuxInt
                s := x3.Aux
-               _ = x3.Args[1]
-               p := x3.Args[0]
                mem := x3.Args[1]
+               p := x3.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -24401,10 +23868,9 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -24422,9 +23888,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -24500,9 +23965,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                        break
                }
                s := x3.Aux
-               _ = x3.Args[1]
-               p := x3.Args[0]
                mem := x3.Args[1]
+               p := x3.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -24559,9 +24023,8 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -24637,10 +24100,9 @@ func rewriteValueARM64_OpARM64OR_30(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o1.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -24748,7 +24210,7 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if x3.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x3.Args[2]
+               mem := x3.Args[2]
                ptr := x3.Args[0]
                x3_1 := x3.Args[1]
                if x3_1.Op != OpARM64ADDconst {
@@ -24758,7 +24220,6 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                        break
                }
                idx := x3_1.Args[0]
-               mem := x3.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -24935,9 +24396,8 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -25104,9 +24564,8 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -25381,10 +24840,9 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -25402,9 +24860,8 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -25564,9 +25021,8 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                        break
                }
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -25655,9 +25111,8 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -25849,10 +25304,9 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o5.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -26056,7 +25510,7 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                if x7.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x7.Args[2]
+               mem := x7.Args[2]
                ptr := x7.Args[0]
                x7_1 := x7.Args[1]
                if x7_1.Op != OpARM64ADDconst {
@@ -26066,7 +25520,6 @@ func rewriteValueARM64_OpARM64OR_40(v *Value) bool {
                        break
                }
                idx := x7_1.Args[0]
-               mem := x7.Args[2]
                o0 := v.Args[1]
                if o0.Op != OpARM64ORshiftLL {
                        break
@@ -26327,9 +25780,8 @@ func rewriteValueARM64_OpARM64ORN_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [-1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARM64MOVDconst)
@@ -26611,13 +26063,12 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
        // result: (ORconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -26671,7 +26122,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
        // result: (RORconst [64-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -26679,8 +26130,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -26694,14 +26144,13 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
@@ -26722,7 +26171,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
@@ -26733,8 +26182,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64REV16W)
@@ -26746,7 +26194,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
        // result: (EXTRconst [64-c] x2 x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -26755,7 +26203,6 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
                        break
                }
                x := v_0.Args[0]
-               x2 := v.Args[1]
                v.reset(OpARM64EXTRconst)
                v.AuxInt = 64 - c
                v.AddArg(x2)
@@ -26768,14 +26215,13 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
                x := v_0.Args[0]
-               x2 := v.Args[1]
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
                        break
                }
@@ -26833,9 +26279,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_0(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -26891,10 +26336,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -26912,9 +26356,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -26947,10 +26390,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27011,9 +26453,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27088,10 +26529,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVHUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27109,9 +26549,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -27167,10 +26606,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVHUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27254,10 +26692,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVHUloadidx2 {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27278,9 +26715,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if p1.AuxInt != 1 {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -27357,9 +26793,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27488,10 +26923,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVWUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27509,9 +26943,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -27625,10 +27058,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVWUloadidx4 {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr0 := x0.Args[0]
                idx0 := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27649,9 +27081,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if p1.AuxInt != 2 {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -27768,10 +27199,9 @@ func rewriteValueARM64_OpARM64ORshiftLL_10(v *Value) bool {
                if x0.Op != OpARM64MOVWUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27907,9 +27337,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                }
                i1 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -27965,15 +27394,13 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                s := x0.Aux
-               = x0.Args[1]
+               mem := x0.Args[1]
                p1 := x0.Args[0]
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
-               mem := x0.Args[1]
+               ptr1 := p1.Args[0]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28019,7 +27446,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                if x0.Op != OpARM64MOVBUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                x0_1 := x0.Args[1]
                if x0_1.Op != OpARM64ADDconst {
@@ -28029,7 +27456,6 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                idx := x0_1.Args[0]
-               mem := x0.Args[2]
                y1 := v.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28089,9 +27515,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                }
                i2 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28176,9 +27601,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28198,9 +27622,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x1.Args[1] {
                        break
                }
@@ -28257,7 +27680,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                if x0.Op != OpARM64MOVHUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                x0_1 := x0.Args[1]
                if x0_1.Op != OpARM64ADDconst {
@@ -28267,7 +27690,6 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                idx := x0_1.Args[0]
-               mem := x0.Args[2]
                y1 := o0.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28368,9 +27790,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                }
                i4 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28509,9 +27930,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28573,9 +27993,8 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                if p1.Op != OpARM64ADD {
                        break
                }
-               _ = p1.Args[1]
-               ptr1 := p1.Args[0]
                idx1 := p1.Args[1]
+               ptr1 := p1.Args[0]
                if mem != x3.Args[1] {
                        break
                }
@@ -28648,7 +28067,7 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                if x0.Op != OpARM64MOVWUloadidx {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                ptr := x0.Args[0]
                x0_1 := x0.Args[1]
                if x0_1.Op != OpARM64ADDconst {
@@ -28658,7 +28077,6 @@ func rewriteValueARM64_OpARM64ORshiftLL_20(v *Value) bool {
                        break
                }
                idx := x0_1.Args[0]
-               mem := x0.Args[2]
                y1 := o2.Args[1]
                if y1.Op != OpARM64MOVDnop {
                        break
@@ -28775,13 +28193,12 @@ func rewriteValueARM64_OpARM64ORshiftRA_0(v *Value) bool {
        // result: (ORconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -28839,13 +28256,12 @@ func rewriteValueARM64_OpARM64ORshiftRL_0(v *Value) bool {
        // result: (ORconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -28899,7 +28315,7 @@ func rewriteValueARM64_OpARM64ORshiftRL_0(v *Value) bool {
        // result: (RORconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -28907,8 +28323,7 @@ func rewriteValueARM64_OpARM64ORshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -29584,7 +28999,7 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64ADDconst {
                        break
@@ -29593,7 +29008,6 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
                ptr := v_0.Args[0]
                val1 := v.Args[1]
                val2 := v.Args[2]
-               mem := v.Args[3]
                if !(is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -29612,7 +29026,7 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDaddr {
                        break
@@ -29622,7 +29036,6 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
                ptr := v_0.Args[0]
                val1 := v.Args[1]
                val2 := v.Args[2]
-               mem := v.Args[3]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2) && (ptr.Op != OpSB || !config.ctxt.Flag_shared)) {
                        break
                }
@@ -29641,7 +29054,7 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpARM64MOVDconst {
@@ -29657,7 +29070,6 @@ func rewriteValueARM64_OpARM64STP_0(v *Value) bool {
                if v_2.AuxInt != 0 {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpARM64MOVQstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -29695,9 +29107,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
                if l.Op != OpARM64MUL {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -29717,9 +29128,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
                if l.Op != OpARM64MNEG {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -29739,9 +29149,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
                if l.Op != OpARM64MULW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -29761,9 +29170,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
                if l.Op != OpARM64MNEGW {
                        break
                }
-               _ = l.Args[1]
-               x := l.Args[0]
                y := l.Args[1]
+               x := l.Args[0]
                if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) {
                        break
                }
@@ -29777,9 +29185,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARM64MOVDconst)
@@ -29796,9 +29203,8 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
                if v_1.Op != OpARM64SUB {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpARM64SUB)
                v0 := b.NewValue0(v.Pos, OpARM64ADD, v.Type)
                v0.AddArg(x)
@@ -29811,15 +29217,13 @@ func rewriteValueARM64_OpARM64SUB_0(v *Value) bool {
        // cond:
        // result: (SUB x (ADD <y.Type> y z))
        for {
-               = v.Args[1]
+               z := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SUB {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               z := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64ADD, y.Type)
@@ -30105,13 +29509,12 @@ func rewriteValueARM64_OpARM64TST_0(v *Value) bool {
        // cond:
        // result: (TSTconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64TSTconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -30142,14 +29545,13 @@ func rewriteValueARM64_OpARM64TST_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (TSTshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -30184,14 +29586,13 @@ func rewriteValueARM64_OpARM64TST_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (TSTshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -30226,14 +29627,13 @@ func rewriteValueARM64_OpARM64TST_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (TSTshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -30266,13 +29666,12 @@ func rewriteValueARM64_OpARM64TSTW_0(v *Value) bool {
        // cond:
        // result: (TSTWconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64TSTWconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -30389,13 +29788,12 @@ func rewriteValueARM64_OpARM64TSTshiftLL_0(v *Value) bool {
        // result: (TSTconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64TSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -30430,13 +29828,12 @@ func rewriteValueARM64_OpARM64TSTshiftRA_0(v *Value) bool {
        // result: (TSTconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64TSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -30471,13 +29868,12 @@ func rewriteValueARM64_OpARM64TSTshiftRL_0(v *Value) bool {
        // result: (TSTconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64TSTconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -30735,9 +30131,8 @@ func rewriteValueARM64_OpARM64UMOD_0(v *Value) bool {
                if v.Type != typ.UInt64 {
                        break
                }
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MSUB)
                v.Type = typ.UInt64
                v.AddArg(x)
@@ -30814,9 +30209,8 @@ func rewriteValueARM64_OpARM64UMODW_0(v *Value) bool {
                if v.Type != typ.UInt32 {
                        break
                }
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MSUBW)
                v.Type = typ.UInt32
                v.AddArg(x)
@@ -30905,13 +30299,12 @@ func rewriteValueARM64_OpARM64XOR_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -30921,9 +30314,8 @@ func rewriteValueARM64_OpARM64XOR_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpARM64MOVDconst)
@@ -30950,13 +30342,12 @@ func rewriteValueARM64_OpARM64XOR_0(v *Value) bool {
        // cond:
        // result: (EON x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MVN {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpARM64EON)
                v.AddArg(x)
                v.AddArg(y)
@@ -30987,14 +30378,13 @@ func rewriteValueARM64_OpARM64XOR_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (XORshiftLL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SLLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -31029,14 +30419,13 @@ func rewriteValueARM64_OpARM64XOR_0(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (XORshiftRL x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRLconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -31076,14 +30465,13 @@ func rewriteValueARM64_OpARM64XOR_10(v *Value) bool {
        // cond: clobberIfDead(x1)
        // result: (XORshiftRA x0 y [c])
        for {
-               = v.Args[1]
+               x0 := v.Args[1]
                x1 := v.Args[0]
                if x1.Op != OpARM64SRAconst {
                        break
                }
                c := x1.AuxInt
                y := x1.Args[0]
-               x0 := v.Args[1]
                if !(clobberIfDead(x1)) {
                        break
                }
@@ -32073,13 +31461,12 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
        // result: (XORconst [c] (SLLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
@@ -32132,7 +31519,7 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
        // result: (RORconst [64-c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -32140,8 +31527,7 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -32155,14 +31541,13 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
@@ -32183,7 +31568,7 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
@@ -32194,8 +31579,7 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
                if v_0.AuxInt != armBFAuxInt(8, 8) {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64REV16W)
@@ -32207,7 +31591,7 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
        // result: (EXTRconst [64-c] x2 x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SRLconst {
                        break
@@ -32216,7 +31600,6 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
                        break
                }
                x := v_0.Args[0]
-               x2 := v.Args[1]
                v.reset(OpARM64EXTRconst)
                v.AuxInt = 64 - c
                v.AddArg(x2)
@@ -32229,14 +31612,13 @@ func rewriteValueARM64_OpARM64XORshiftLL_0(v *Value) bool {
        for {
                t := v.Type
                c := v.AuxInt
-               = v.Args[1]
+               x2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64UBFX {
                        break
                }
                bfc := v_0.AuxInt
                x := v_0.Args[0]
-               x2 := v.Args[1]
                if !(c < 32 && t.Size() == 4 && bfc == armBFAuxInt(32-c, c)) {
                        break
                }
@@ -32255,13 +31637,12 @@ func rewriteValueARM64_OpARM64XORshiftRA_0(v *Value) bool {
        // result: (XORconst [c] (SRAconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
@@ -32318,13 +31699,12 @@ func rewriteValueARM64_OpARM64XORshiftRL_0(v *Value) bool {
        // result: (XORconst [c] (SRLconst <x.Type> x [d]))
        for {
                d := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
@@ -32377,7 +31757,7 @@ func rewriteValueARM64_OpARM64XORshiftRL_0(v *Value) bool {
        // result: (RORconst [ c] x)
        for {
                c := v.AuxInt
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpARM64SLLconst {
                        break
@@ -32385,8 +31765,7 @@ func rewriteValueARM64_OpARM64XORshiftRL_0(v *Value) bool {
                if v_0.AuxInt != 64-c {
                        break
                }
-               x := v_0.Args[0]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpARM64RORconst)
@@ -32442,9 +31821,8 @@ func rewriteValueARM64_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32456,9 +31834,8 @@ func rewriteValueARM64_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32470,9 +31847,8 @@ func rewriteValueARM64_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (FADDS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -32484,9 +31860,8 @@ func rewriteValueARM64_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32498,9 +31873,8 @@ func rewriteValueARM64_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (FADDD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FADDD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32512,9 +31886,8 @@ func rewriteValueARM64_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32526,9 +31899,8 @@ func rewriteValueARM64_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -32553,9 +31925,8 @@ func rewriteValueARM64_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -32567,9 +31938,8 @@ func rewriteValueARM64_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -32581,9 +31951,8 @@ func rewriteValueARM64_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -32595,9 +31964,8 @@ func rewriteValueARM64_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -32609,9 +31977,8 @@ func rewriteValueARM64_OpAndB_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -32623,10 +31990,9 @@ func rewriteValueARM64_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicAdd32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32639,10 +32005,9 @@ func rewriteValueARM64_OpAtomicAdd32Variant_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd32Variant ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicAdd32Variant)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32655,10 +32020,9 @@ func rewriteValueARM64_OpAtomicAdd64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicAdd64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32671,10 +32035,9 @@ func rewriteValueARM64_OpAtomicAdd64Variant_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd64Variant ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicAdd64Variant)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32689,10 +32052,9 @@ func rewriteValueARM64_OpAtomicAnd8_0(v *Value) bool {
        // cond:
        // result: (Select1 (LoweredAtomicAnd8 ptr val mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicAnd8, types.NewTuple(typ.UInt8, types.TypeMem))
                v0.AddArg(ptr)
@@ -32707,11 +32069,10 @@ func rewriteValueARM64_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas32 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64LoweredAtomicCas32)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -32725,11 +32086,10 @@ func rewriteValueARM64_OpAtomicCompareAndSwap64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas64 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpARM64LoweredAtomicCas64)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -32743,10 +32103,9 @@ func rewriteValueARM64_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicExchange32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32759,10 +32118,9 @@ func rewriteValueARM64_OpAtomicExchange64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredAtomicExchange64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32775,9 +32133,8 @@ func rewriteValueARM64_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (LDARW ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64LDARW)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -32789,9 +32146,8 @@ func rewriteValueARM64_OpAtomicLoad64_0(v *Value) bool {
        // cond:
        // result: (LDAR ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64LDAR)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -32803,9 +32159,8 @@ func rewriteValueARM64_OpAtomicLoadPtr_0(v *Value) bool {
        // cond:
        // result: (LDAR ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64LDAR)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -32819,10 +32174,9 @@ func rewriteValueARM64_OpAtomicOr8_0(v *Value) bool {
        // cond:
        // result: (Select1 (LoweredAtomicOr8 ptr val mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicOr8, types.NewTuple(typ.UInt8, types.TypeMem))
                v0.AddArg(ptr)
@@ -32837,10 +32191,9 @@ func rewriteValueARM64_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (STLRW ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64STLRW)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32853,10 +32206,9 @@ func rewriteValueARM64_OpAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (STLR ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64STLR)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32869,10 +32221,9 @@ func rewriteValueARM64_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond:
        // result: (STLR ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64STLR)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -32887,9 +32238,8 @@ func rewriteValueARM64_OpAvg64u_0(v *Value) bool {
        // result: (ADD (SRLconst <t> (SUB <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ADD)
                v0 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
                v0.AuxInt = 1
@@ -33031,10 +32381,9 @@ func rewriteValueARM64_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64CALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -33093,10 +32442,9 @@ func rewriteValueARM64_OpCondSelect_0(v *Value) bool {
        // cond: flagArg(bool) != nil
        // result: (CSEL {bool.Op} x y flagArg(bool))
        for {
-               = v.Args[2]
+               bool := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               bool := v.Args[2]
                if !(flagArg(bool) != nil) {
                        break
                }
@@ -33111,10 +32459,9 @@ func rewriteValueARM64_OpCondSelect_0(v *Value) bool {
        // cond: flagArg(bool) == nil
        // result: (CSEL {OpARM64NotEqual} x y (CMPWconst [0] bool))
        for {
-               = v.Args[2]
+               bool := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               bool := v.Args[2]
                if !(flagArg(bool) == nil) {
                        break
                }
@@ -33536,9 +32883,8 @@ func rewriteValueARM64_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (DIVW (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64DIVW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -33556,9 +32902,8 @@ func rewriteValueARM64_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (UDIVW (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UDIVW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -33574,9 +32919,8 @@ func rewriteValueARM64_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (DIVW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64DIVW)
                v.AddArg(x)
                v.AddArg(y)
@@ -33588,9 +32932,8 @@ func rewriteValueARM64_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (FDIVS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FDIVS)
                v.AddArg(x)
                v.AddArg(y)
@@ -33602,9 +32945,8 @@ func rewriteValueARM64_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (UDIVW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UDIVW)
                v.AddArg(x)
                v.AddArg(y)
@@ -33616,9 +32958,8 @@ func rewriteValueARM64_OpDiv64_0(v *Value) bool {
        // cond:
        // result: (DIV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64DIV)
                v.AddArg(x)
                v.AddArg(y)
@@ -33630,9 +32971,8 @@ func rewriteValueARM64_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (FDIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FDIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -33644,9 +32984,8 @@ func rewriteValueARM64_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (UDIV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UDIV)
                v.AddArg(x)
                v.AddArg(y)
@@ -33660,9 +32999,8 @@ func rewriteValueARM64_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (DIVW (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64DIVW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -33680,9 +33018,8 @@ func rewriteValueARM64_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (UDIVW (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UDIVW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -33700,9 +33037,8 @@ func rewriteValueARM64_OpEq16_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -33721,9 +33057,8 @@ func rewriteValueARM64_OpEq32_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -33738,9 +33073,8 @@ func rewriteValueARM64_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (Equal (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -33755,9 +33089,8 @@ func rewriteValueARM64_OpEq64_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -33772,9 +33105,8 @@ func rewriteValueARM64_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (Equal (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -33790,9 +33122,8 @@ func rewriteValueARM64_OpEq8_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -33812,9 +33143,8 @@ func rewriteValueARM64_OpEqB_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVDconst [1]) (XOR <typ.Bool> x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
                v0.AuxInt = 1
@@ -33832,9 +33162,8 @@ func rewriteValueARM64_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64Equal)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -33861,9 +33190,8 @@ func rewriteValueARM64_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -33883,9 +33211,8 @@ func rewriteValueARM64_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -33904,9 +33231,8 @@ func rewriteValueARM64_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -33921,9 +33247,8 @@ func rewriteValueARM64_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualF (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -33938,9 +33263,8 @@ func rewriteValueARM64_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -33955,9 +33279,8 @@ func rewriteValueARM64_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -33972,9 +33295,8 @@ func rewriteValueARM64_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualF (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -33989,9 +33311,8 @@ func rewriteValueARM64_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34007,9 +33328,8 @@ func rewriteValueARM64_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -34029,9 +33349,8 @@ func rewriteValueARM64_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqualU (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -34078,9 +33397,8 @@ func rewriteValueARM64_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -34100,9 +33418,8 @@ func rewriteValueARM64_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -34121,9 +33438,8 @@ func rewriteValueARM64_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34138,9 +33454,8 @@ func rewriteValueARM64_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (GreaterThanF (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -34155,9 +33470,8 @@ func rewriteValueARM64_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34172,9 +33486,8 @@ func rewriteValueARM64_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34189,9 +33502,8 @@ func rewriteValueARM64_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (GreaterThanF (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -34206,9 +33518,8 @@ func rewriteValueARM64_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34224,9 +33535,8 @@ func rewriteValueARM64_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -34246,9 +33556,8 @@ func rewriteValueARM64_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (GreaterThanU (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64GreaterThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -34268,9 +33577,8 @@ func rewriteValueARM64_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (SRAconst (MULL <typ.Int64> x y) [32])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpARM64MULL, typ.Int64)
@@ -34287,9 +33595,8 @@ func rewriteValueARM64_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (SRAconst (UMULL <typ.UInt64> x y) [32])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpARM64UMULL, typ.UInt64)
@@ -34304,9 +33611,8 @@ func rewriteValueARM64_OpHmul64_0(v *Value) bool {
        // cond:
        // result: (MULH x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MULH)
                v.AddArg(x)
                v.AddArg(y)
@@ -34318,9 +33624,8 @@ func rewriteValueARM64_OpHmul64u_0(v *Value) bool {
        // cond:
        // result: (UMULH x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UMULH)
                v.AddArg(x)
                v.AddArg(y)
@@ -34333,9 +33638,8 @@ func rewriteValueARM64_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpARM64CALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -34349,9 +33653,8 @@ func rewriteValueARM64_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpARM64LessThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(idx)
@@ -34381,9 +33684,8 @@ func rewriteValueARM64_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpARM64LessEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(idx)
@@ -34399,9 +33701,8 @@ func rewriteValueARM64_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -34421,9 +33722,8 @@ func rewriteValueARM64_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -34442,9 +33742,8 @@ func rewriteValueARM64_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34459,9 +33758,8 @@ func rewriteValueARM64_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (LessEqualF (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -34476,9 +33774,8 @@ func rewriteValueARM64_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34493,9 +33790,8 @@ func rewriteValueARM64_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34510,9 +33806,8 @@ func rewriteValueARM64_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (LessEqualF (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -34527,9 +33822,8 @@ func rewriteValueARM64_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34545,9 +33839,8 @@ func rewriteValueARM64_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -34567,9 +33860,8 @@ func rewriteValueARM64_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (LessEqualU (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessEqualU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -34589,9 +33881,8 @@ func rewriteValueARM64_OpLess16_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -34611,9 +33902,8 @@ func rewriteValueARM64_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -34632,9 +33922,8 @@ func rewriteValueARM64_OpLess32_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34649,9 +33938,8 @@ func rewriteValueARM64_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (LessThanF (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -34666,9 +33954,8 @@ func rewriteValueARM64_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -34683,9 +33970,8 @@ func rewriteValueARM64_OpLess64_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34700,9 +33986,8 @@ func rewriteValueARM64_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (LessThanF (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanF)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -34717,9 +34002,8 @@ func rewriteValueARM64_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -34735,9 +34019,8 @@ func rewriteValueARM64_OpLess8_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThan)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -34757,9 +34040,8 @@ func rewriteValueARM64_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (LessThanU (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LessThanU)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -34778,9 +34060,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean()) {
                        break
                }
@@ -34794,9 +34075,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -34810,9 +34090,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -34826,9 +34105,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -34842,9 +34120,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVHUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -34858,9 +34135,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && isSigned(t)) {
                        break
                }
@@ -34874,9 +34150,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVWUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -34890,9 +34165,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) || isPtr(t)) {
                        break
                }
@@ -34906,9 +34180,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (FMOVSload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -34922,9 +34195,8 @@ func rewriteValueARM64_OpLoad_0(v *Value) bool {
        // result: (FMOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -34957,9 +34229,8 @@ func rewriteValueARM64_OpLsh16x16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -34988,9 +34259,8 @@ func rewriteValueARM64_OpLsh16x32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35018,9 +34288,8 @@ func rewriteValueARM64_OpLsh16x64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35045,9 +34314,8 @@ func rewriteValueARM64_OpLsh16x8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35076,9 +34344,8 @@ func rewriteValueARM64_OpLsh32x16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35107,9 +34374,8 @@ func rewriteValueARM64_OpLsh32x32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35137,9 +34403,8 @@ func rewriteValueARM64_OpLsh32x64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35164,9 +34429,8 @@ func rewriteValueARM64_OpLsh32x8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35195,9 +34459,8 @@ func rewriteValueARM64_OpLsh64x16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35226,9 +34489,8 @@ func rewriteValueARM64_OpLsh64x32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35256,9 +34518,8 @@ func rewriteValueARM64_OpLsh64x64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35283,9 +34544,8 @@ func rewriteValueARM64_OpLsh64x8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35314,9 +34574,8 @@ func rewriteValueARM64_OpLsh8x16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35345,9 +34604,8 @@ func rewriteValueARM64_OpLsh8x32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35375,9 +34633,8 @@ func rewriteValueARM64_OpLsh8x64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35402,9 +34659,8 @@ func rewriteValueARM64_OpLsh8x8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SLL <t> x (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
@@ -35432,9 +34688,8 @@ func rewriteValueARM64_OpMod16_0(v *Value) bool {
        // cond:
        // result: (MODW (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MODW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -35452,9 +34707,8 @@ func rewriteValueARM64_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (UMODW (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UMODW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -35470,9 +34724,8 @@ func rewriteValueARM64_OpMod32_0(v *Value) bool {
        // cond:
        // result: (MODW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MODW)
                v.AddArg(x)
                v.AddArg(y)
@@ -35484,9 +34737,8 @@ func rewriteValueARM64_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (UMODW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UMODW)
                v.AddArg(x)
                v.AddArg(y)
@@ -35498,9 +34750,8 @@ func rewriteValueARM64_OpMod64_0(v *Value) bool {
        // cond:
        // result: (MOD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MOD)
                v.AddArg(x)
                v.AddArg(y)
@@ -35512,9 +34763,8 @@ func rewriteValueARM64_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (UMOD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UMOD)
                v.AddArg(x)
                v.AddArg(y)
@@ -35528,9 +34778,8 @@ func rewriteValueARM64_OpMod8_0(v *Value) bool {
        // cond:
        // result: (MODW (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MODW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -35548,9 +34797,8 @@ func rewriteValueARM64_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (UMODW (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64UMODW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -35571,7 +34819,6 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -35585,10 +34832,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8)
@@ -35605,10 +34851,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16)
@@ -35625,10 +34870,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
@@ -35645,10 +34889,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
@@ -35665,10 +34908,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -35694,10 +34936,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -35723,10 +34964,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -35752,10 +34992,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 6
                v.AddArg(dst)
@@ -35790,10 +35029,9 @@ func rewriteValueARM64_OpMove_0(v *Value) bool {
                if v.AuxInt != 12 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -35825,10 +35063,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -35854,10 +35091,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
                if v.AuxInt != 24 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 16
                v.AddArg(dst)
@@ -35890,10 +35126,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
        // result: (Move [s%8] (OffPtr <dst.Type> dst [s-s%8]) (OffPtr <src.Type> src [s-s%8]) (Move [s-s%8] dst src mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s%8 != 0 && s > 8) {
                        break
                }
@@ -35920,10 +35155,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
        // result: (MOVDstore [s-8] dst (MOVDload [s-8] src mem) (DUFFCOPY <types.TypeMem> [8*(64-(s-8)/16)] dst src mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 32 && s <= 16*64 && s%16 == 8 && !config.noDuffDevice) {
                        break
                }
@@ -35948,10 +35182,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
        // result: (DUFFCOPY [8 * (64 - s/16)] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 32 && s <= 16*64 && s%16 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -35967,10 +35200,9 @@ func rewriteValueARM64_OpMove_10(v *Value) bool {
        // result: (LoweredMove dst src (ADDconst <src.Type> src [s-8]) mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 24 && s%8 == 0) {
                        break
                }
@@ -35991,9 +35223,8 @@ func rewriteValueARM64_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MULW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MULW)
                v.AddArg(x)
                v.AddArg(y)
@@ -36005,9 +35236,8 @@ func rewriteValueARM64_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MULW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MULW)
                v.AddArg(x)
                v.AddArg(y)
@@ -36019,9 +35249,8 @@ func rewriteValueARM64_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (FMULS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -36033,9 +35262,8 @@ func rewriteValueARM64_OpMul64_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -36047,9 +35275,8 @@ func rewriteValueARM64_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (FMULD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -36061,9 +35288,8 @@ func rewriteValueARM64_OpMul64uhilo_0(v *Value) bool {
        // cond:
        // result: (LoweredMuluhilo x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64LoweredMuluhilo)
                v.AddArg(x)
                v.AddArg(y)
@@ -36075,9 +35301,8 @@ func rewriteValueARM64_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MULW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64MULW)
                v.AddArg(x)
                v.AddArg(y)
@@ -36157,9 +35382,8 @@ func rewriteValueARM64_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -36178,9 +35402,8 @@ func rewriteValueARM64_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -36195,9 +35418,8 @@ func rewriteValueARM64_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
                v0.AddArg(x)
@@ -36212,9 +35434,8 @@ func rewriteValueARM64_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -36229,9 +35450,8 @@ func rewriteValueARM64_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (FCMPD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
                v0.AddArg(x)
@@ -36247,9 +35467,8 @@ func rewriteValueARM64_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -36267,9 +35486,8 @@ func rewriteValueARM64_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36282,9 +35500,8 @@ func rewriteValueARM64_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64NotEqual)
                v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -36298,9 +35515,8 @@ func rewriteValueARM64_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64LoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -36355,9 +35571,8 @@ func rewriteValueARM64_OpOr16_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36369,9 +35584,8 @@ func rewriteValueARM64_OpOr32_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36383,9 +35597,8 @@ func rewriteValueARM64_OpOr64_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36397,9 +35610,8 @@ func rewriteValueARM64_OpOr8_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36411,9 +35623,8 @@ func rewriteValueARM64_OpOrB_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -36493,9 +35704,8 @@ func rewriteValueARM64_OpRotateLeft32_0(v *Value) bool {
        // cond:
        // result: (RORW x (NEG <y.Type> y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64RORW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type)
@@ -36510,9 +35720,8 @@ func rewriteValueARM64_OpRotateLeft64_0(v *Value) bool {
        // cond:
        // result: (ROR x (NEG <y.Type> y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64ROR)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type)
@@ -36573,9 +35782,8 @@ func rewriteValueARM64_OpRsh16Ux16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt16to64 x) (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36606,9 +35814,8 @@ func rewriteValueARM64_OpRsh16Ux32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt16to64 x) (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36639,9 +35846,8 @@ func rewriteValueARM64_OpRsh16Ux64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt16to64 x) y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36668,9 +35874,8 @@ func rewriteValueARM64_OpRsh16Ux8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt16to64 x) (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36700,9 +35905,8 @@ func rewriteValueARM64_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt16to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt16to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -36732,9 +35936,8 @@ func rewriteValueARM64_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt32to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt32to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -36764,9 +35967,8 @@ func rewriteValueARM64_OpRsh16x64_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to64 x) (CSEL {OpARM64LessThanU} <y.Type> y (Const64 <y.Type> [63]) (CMPconst [64] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -36792,9 +35994,8 @@ func rewriteValueARM64_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt8to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt8to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -36825,9 +36026,8 @@ func rewriteValueARM64_OpRsh32Ux16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt32to64 x) (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36858,9 +36058,8 @@ func rewriteValueARM64_OpRsh32Ux32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt32to64 x) (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36891,9 +36090,8 @@ func rewriteValueARM64_OpRsh32Ux64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt32to64 x) y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36920,9 +36118,8 @@ func rewriteValueARM64_OpRsh32Ux8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt32to64 x) (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -36952,9 +36149,8 @@ func rewriteValueARM64_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt32to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt16to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt16to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -36984,9 +36180,8 @@ func rewriteValueARM64_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt32to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt32to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt32to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -37016,9 +36211,8 @@ func rewriteValueARM64_OpRsh32x64_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt32to64 x) (CSEL {OpARM64LessThanU} <y.Type> y (Const64 <y.Type> [63]) (CMPconst [64] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -37044,9 +36238,8 @@ func rewriteValueARM64_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt32to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt8to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt8to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -37077,9 +36270,8 @@ func rewriteValueARM64_OpRsh64Ux16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> x (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37108,9 +36300,8 @@ func rewriteValueARM64_OpRsh64Ux32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> x (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37138,9 +36329,8 @@ func rewriteValueARM64_OpRsh64Ux64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> x y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37165,9 +36355,8 @@ func rewriteValueARM64_OpRsh64Ux8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> x (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37195,9 +36384,8 @@ func rewriteValueARM64_OpRsh64x16_0(v *Value) bool {
        // cond:
        // result: (SRA x (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt16to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt16to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
@@ -37225,9 +36413,8 @@ func rewriteValueARM64_OpRsh64x32_0(v *Value) bool {
        // cond:
        // result: (SRA x (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt32to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt32to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
@@ -37254,9 +36441,8 @@ func rewriteValueARM64_OpRsh64x64_0(v *Value) bool {
        // cond:
        // result: (SRA x (CSEL {OpARM64LessThanU} <y.Type> y (Const64 <y.Type> [63]) (CMPconst [64] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
@@ -37280,9 +36466,8 @@ func rewriteValueARM64_OpRsh64x8_0(v *Value) bool {
        // cond:
        // result: (SRA x (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt8to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt8to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
@@ -37311,9 +36496,8 @@ func rewriteValueARM64_OpRsh8Ux16_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt8to64 x) (ZeroExt16to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37344,9 +36528,8 @@ func rewriteValueARM64_OpRsh8Ux32_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt8to64 x) (ZeroExt32to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37377,9 +36560,8 @@ func rewriteValueARM64_OpRsh8Ux64_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt8to64 x) y) (Const64 <t> [0]) (CMPconst [64] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37406,9 +36588,8 @@ func rewriteValueARM64_OpRsh8Ux8_0(v *Value) bool {
        // result: (CSEL {OpARM64LessThanU} (SRL <t> (ZeroExt8to64 x) (ZeroExt8to64 y)) (Const64 <t> [0]) (CMPconst [64] (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64CSEL)
                v.Aux = OpARM64LessThanU
                v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
@@ -37438,9 +36619,8 @@ func rewriteValueARM64_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt8to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt16to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt16to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -37470,9 +36650,8 @@ func rewriteValueARM64_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt8to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt32to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt32to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -37502,9 +36681,8 @@ func rewriteValueARM64_OpRsh8x64_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt8to64 x) (CSEL {OpARM64LessThanU} <y.Type> y (Const64 <y.Type> [63]) (CMPconst [64] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -37530,9 +36708,8 @@ func rewriteValueARM64_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt8to64 x) (CSEL {OpARM64LessThanU} <y.Type> (ZeroExt8to64 y) (Const64 <y.Type> [63]) (CMPconst [64] (ZeroExt8to64 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SRA)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -37669,10 +36846,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -37687,10 +36863,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -37705,10 +36880,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && !is32BitFloat(val.Type)) {
                        break
                }
@@ -37723,10 +36897,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && !is64BitFloat(val.Type)) {
                        break
                }
@@ -37741,10 +36914,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (FMOVSstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -37759,10 +36931,9 @@ func rewriteValueARM64_OpStore_0(v *Value) bool {
        // result: (FMOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -37779,9 +36950,8 @@ func rewriteValueARM64_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -37793,9 +36963,8 @@ func rewriteValueARM64_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -37807,9 +36976,8 @@ func rewriteValueARM64_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (FSUBS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -37821,9 +36989,8 @@ func rewriteValueARM64_OpSub64_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -37835,9 +37002,8 @@ func rewriteValueARM64_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (FSUBD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64FSUBD)
                v.AddArg(x)
                v.AddArg(y)
@@ -37849,9 +37015,8 @@ func rewriteValueARM64_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -37863,9 +37028,8 @@ func rewriteValueARM64_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -37961,10 +37125,9 @@ func rewriteValueARM64_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpARM64LoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -37978,9 +37141,8 @@ func rewriteValueARM64_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -37992,9 +37154,8 @@ func rewriteValueARM64_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -38006,9 +37167,8 @@ func rewriteValueARM64_OpXor64_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -38020,9 +37180,8 @@ func rewriteValueARM64_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpARM64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -38039,7 +37198,6 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -38053,9 +37211,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
@@ -38071,9 +37228,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVHstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
@@ -38089,9 +37245,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVWstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
@@ -38107,9 +37262,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVDstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
@@ -38125,9 +37279,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
@@ -38150,9 +37303,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 4
                v.AddArg(ptr)
@@ -38175,9 +37327,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 4
                v.AddArg(ptr)
@@ -38200,9 +37351,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 6
                v.AddArg(ptr)
@@ -38232,9 +37382,8 @@ func rewriteValueARM64_OpZero_0(v *Value) bool {
                if v.AuxInt != 9 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 8
                v.AddArg(ptr)
@@ -38262,9 +37411,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 10 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 8
                v.AddArg(ptr)
@@ -38287,9 +37435,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 11 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 10
                v.AddArg(ptr)
@@ -38319,9 +37466,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 12 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVWstore)
                v.AuxInt = 8
                v.AddArg(ptr)
@@ -38344,9 +37490,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 13 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 12
                v.AddArg(ptr)
@@ -38376,9 +37521,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 14 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 12
                v.AddArg(ptr)
@@ -38408,9 +37552,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 15 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 14
                v.AddArg(ptr)
@@ -38447,9 +37590,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64STP)
                v.AuxInt = 0
                v.AddArg(ptr)
@@ -38469,9 +37611,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 32 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64STP)
                v.AuxInt = 16
                v.AddArg(ptr)
@@ -38501,9 +37642,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 48 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64STP)
                v.AuxInt = 32
                v.AddArg(ptr)
@@ -38543,9 +37683,8 @@ func rewriteValueARM64_OpZero_10(v *Value) bool {
                if v.AuxInt != 64 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpARM64STP)
                v.AuxInt = 48
                v.AddArg(ptr)
@@ -38598,9 +37737,8 @@ func rewriteValueARM64_OpZero_20(v *Value) bool {
        // result: (Zero [8] (OffPtr <ptr.Type> ptr [s-8]) (Zero [s-s%16] ptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%16 != 0 && s%16 <= 8 && s > 16) {
                        break
                }
@@ -38622,9 +37760,8 @@ func rewriteValueARM64_OpZero_20(v *Value) bool {
        // result: (Zero [16] (OffPtr <ptr.Type> ptr [s-16]) (Zero [s-s%16] ptr mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%16 != 0 && s%16 > 8 && s > 16) {
                        break
                }
@@ -38646,9 +37783,8 @@ func rewriteValueARM64_OpZero_20(v *Value) bool {
        // result: (DUFFZERO [4 * (64 - s/16)] ptr mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%16 == 0 && s > 64 && s <= 16*64 && !config.noDuffDevice) {
                        break
                }
@@ -38663,9 +37799,8 @@ func rewriteValueARM64_OpZero_20(v *Value) bool {
        // result: (LoweredZero ptr (ADDconst <ptr.Type> [s-16] ptr) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%16 == 0 && (s > 16*64 || config.noDuffDevice)) {
                        break
                }
@@ -38798,9 +37933,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -38827,9 +37961,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -38940,9 +38073,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -38969,9 +38101,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39084,10 +38215,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39117,10 +38247,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39150,10 +38279,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39183,10 +38311,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39424,9 +38551,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39453,9 +38579,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39566,9 +38691,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39595,9 +38719,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39676,10 +38799,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39709,10 +38831,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39742,10 +38863,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39775,10 +38895,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39952,9 +39071,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -39981,9 +39099,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40094,9 +39211,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40123,9 +39239,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40204,10 +39319,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40237,10 +39351,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40270,10 +39383,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40303,10 +39415,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40656,9 +39767,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40685,9 +39795,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40798,9 +39907,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40827,9 +39935,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40908,10 +40015,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40941,10 +40047,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -40974,10 +40079,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41007,10 +40111,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41150,9 +40253,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41179,9 +40281,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41292,9 +40393,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41321,9 +40421,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41402,10 +40501,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41435,10 +40533,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41468,10 +40565,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41501,10 +40597,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41679,9 +40774,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41708,9 +40802,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41821,9 +40914,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41850,9 +40942,8 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64ADD {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41965,10 +41056,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADD {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -41998,10 +41088,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUB {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -42031,10 +41120,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MADDW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -42064,10 +41152,9 @@ func rewriteBlockARM64(b *Block) bool {
                        if z.Op != OpARM64MSUBW {
                                break
                        }
-                       = z.Args[2]
+                       y := z.Args[2]
                        a := z.Args[0]
                        x := z.Args[1]
-                       y := z.Args[2]
                        if !(z.Uses == 1) {
                                break
                        }
index a2520df710ac32c450f24c9dd0cb967b705695bf..145ee5aa632877bd6f3d62a546cf44c6312eae71 100644 (file)
@@ -523,9 +523,8 @@ func rewriteValueMIPS_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -537,9 +536,8 @@ func rewriteValueMIPS_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -551,9 +549,8 @@ func rewriteValueMIPS_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (ADDF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADDF)
                v.AddArg(x)
                v.AddArg(y)
@@ -567,10 +564,9 @@ func rewriteValueMIPS_OpAdd32withcarry_0(v *Value) bool {
        // result: (ADD c (ADD <t> x y))
        for {
                t := v.Type
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(OpMIPSADD)
                v.AddArg(c)
                v0 := b.NewValue0(v.Pos, OpMIPSADD, t)
@@ -585,9 +581,8 @@ func rewriteValueMIPS_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (ADDD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADDD)
                v.AddArg(x)
                v.AddArg(y)
@@ -599,9 +594,8 @@ func rewriteValueMIPS_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -613,9 +607,8 @@ func rewriteValueMIPS_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -640,9 +633,8 @@ func rewriteValueMIPS_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -654,9 +646,8 @@ func rewriteValueMIPS_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -668,9 +659,8 @@ func rewriteValueMIPS_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -682,9 +672,8 @@ func rewriteValueMIPS_OpAndB_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -696,10 +685,9 @@ func rewriteValueMIPS_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredAtomicAdd)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -715,10 +703,9 @@ func rewriteValueMIPS_OpAtomicAnd8_0(v *Value) bool {
        // cond: !config.BigEndian
        // result: (LoweredAtomicAnd (AND <typ.UInt32Ptr> (MOVWconst [^3]) ptr) (OR <typ.UInt32> (SLL <typ.UInt32> (ZeroExt8to32 val) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] ptr))) (NORconst [0] <typ.UInt32> (SLL <typ.UInt32> (MOVWconst [0xff]) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] ptr))))) mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(!config.BigEndian) {
                        break
                }
@@ -765,10 +752,9 @@ func rewriteValueMIPS_OpAtomicAnd8_0(v *Value) bool {
        // cond: config.BigEndian
        // result: (LoweredAtomicAnd (AND <typ.UInt32Ptr> (MOVWconst [^3]) ptr) (OR <typ.UInt32> (SLL <typ.UInt32> (ZeroExt8to32 val) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] (XORconst <typ.UInt32> [3] ptr)))) (NORconst [0] <typ.UInt32> (SLL <typ.UInt32> (MOVWconst [0xff]) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] (XORconst <typ.UInt32> [3] ptr)))))) mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(config.BigEndian) {
                        break
                }
@@ -824,11 +810,10 @@ func rewriteValueMIPS_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpMIPSLoweredAtomicCas)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -842,10 +827,9 @@ func rewriteValueMIPS_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredAtomicExchange)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -858,9 +842,8 @@ func rewriteValueMIPS_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSLoweredAtomicLoad)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -872,9 +855,8 @@ func rewriteValueMIPS_OpAtomicLoadPtr_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSLoweredAtomicLoad)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -889,10 +871,9 @@ func rewriteValueMIPS_OpAtomicOr8_0(v *Value) bool {
        // cond: !config.BigEndian
        // result: (LoweredAtomicOr (AND <typ.UInt32Ptr> (MOVWconst [^3]) ptr) (SLL <typ.UInt32> (ZeroExt8to32 val) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] ptr))) mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(!config.BigEndian) {
                        break
                }
@@ -922,10 +903,9 @@ func rewriteValueMIPS_OpAtomicOr8_0(v *Value) bool {
        // cond: config.BigEndian
        // result: (LoweredAtomicOr (AND <typ.UInt32Ptr> (MOVWconst [^3]) ptr) (SLL <typ.UInt32> (ZeroExt8to32 val) (SLLconst <typ.UInt32> [3] (ANDconst <typ.UInt32> [3] (XORconst <typ.UInt32> [3] ptr)))) mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(config.BigEndian) {
                        break
                }
@@ -961,10 +941,9 @@ func rewriteValueMIPS_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredAtomicStore)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -977,10 +956,9 @@ func rewriteValueMIPS_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredAtomicStore)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -995,9 +973,8 @@ func rewriteValueMIPS_OpAvg32u_0(v *Value) bool {
        // result: (ADD (SRLconst <t> (SUB <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSADD)
                v0 := b.NewValue0(v.Pos, OpMIPSSRLconst, t)
                v0.AuxInt = 1
@@ -1035,10 +1012,9 @@ func rewriteValueMIPS_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSCALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1270,9 +1246,8 @@ func rewriteValueMIPS_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIV (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -1292,9 +1267,8 @@ func rewriteValueMIPS_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -1314,9 +1288,8 @@ func rewriteValueMIPS_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v0.AddArg(x)
@@ -1330,9 +1303,8 @@ func rewriteValueMIPS_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (DIVF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSDIVF)
                v.AddArg(x)
                v.AddArg(y)
@@ -1346,9 +1318,8 @@ func rewriteValueMIPS_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v0.AddArg(x)
@@ -1362,9 +1333,8 @@ func rewriteValueMIPS_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (DIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSDIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -1378,9 +1348,8 @@ func rewriteValueMIPS_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIV (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -1400,9 +1369,8 @@ func rewriteValueMIPS_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -1422,9 +1390,8 @@ func rewriteValueMIPS_OpEq16_0(v *Value) bool {
        // cond:
        // result: (SGTUconst [1] (XOR (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
@@ -1445,9 +1412,8 @@ func rewriteValueMIPS_OpEq32_0(v *Value) bool {
        // cond:
        // result: (SGTUconst [1] (XOR x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
@@ -1463,9 +1429,8 @@ func rewriteValueMIPS_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPEQF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags)
                v0.AddArg(x)
@@ -1480,9 +1445,8 @@ func rewriteValueMIPS_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPEQD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags)
                v0.AddArg(x)
@@ -1498,9 +1462,8 @@ func rewriteValueMIPS_OpEq8_0(v *Value) bool {
        // cond:
        // result: (SGTUconst [1] (XOR (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
@@ -1521,9 +1484,8 @@ func rewriteValueMIPS_OpEqB_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (XOR <typ.Bool> x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.Bool)
@@ -1540,9 +1502,8 @@ func rewriteValueMIPS_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (SGTUconst [1] (XOR x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
@@ -1559,9 +1520,8 @@ func rewriteValueMIPS_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT (SignExt16to32 y) (SignExt16to32 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -1582,9 +1542,8 @@ func rewriteValueMIPS_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU (ZeroExt16to32 y) (ZeroExt16to32 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -1605,9 +1564,8 @@ func rewriteValueMIPS_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -1623,9 +1581,8 @@ func rewriteValueMIPS_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGEF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags)
                v0.AddArg(x)
@@ -1641,9 +1598,8 @@ func rewriteValueMIPS_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -1659,9 +1615,8 @@ func rewriteValueMIPS_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGED x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags)
                v0.AddArg(x)
@@ -1677,9 +1632,8 @@ func rewriteValueMIPS_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT (SignExt8to32 y) (SignExt8to32 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -1700,9 +1654,8 @@ func rewriteValueMIPS_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU (ZeroExt8to32 y) (ZeroExt8to32 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -1750,9 +1703,8 @@ func rewriteValueMIPS_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -1770,9 +1722,8 @@ func rewriteValueMIPS_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -1788,9 +1739,8 @@ func rewriteValueMIPS_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (SGT x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v.AddArg(x)
                v.AddArg(y)
@@ -1803,9 +1753,8 @@ func rewriteValueMIPS_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags)
                v0.AddArg(x)
@@ -1819,9 +1768,8 @@ func rewriteValueMIPS_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (SGTU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1834,9 +1782,8 @@ func rewriteValueMIPS_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags)
                v0.AddArg(x)
@@ -1852,9 +1799,8 @@ func rewriteValueMIPS_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -1872,9 +1818,8 @@ func rewriteValueMIPS_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -1892,9 +1837,8 @@ func rewriteValueMIPS_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (Select0 (MULT x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSMULT, types.NewTuple(typ.Int32, typ.Int32))
                v0.AddArg(x)
@@ -1910,9 +1854,8 @@ func rewriteValueMIPS_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (Select0 (MULTU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSMULTU, types.NewTuple(typ.UInt32, typ.UInt32))
                v0.AddArg(x)
@@ -1927,9 +1870,8 @@ func rewriteValueMIPS_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpMIPSCALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1942,9 +1884,8 @@ func rewriteValueMIPS_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (SGTU len idx)
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpMIPSSGTU)
                v.AddArg(len)
                v.AddArg(idx)
@@ -1974,9 +1915,8 @@ func rewriteValueMIPS_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -1993,9 +1933,8 @@ func rewriteValueMIPS_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -2016,9 +1955,8 @@ func rewriteValueMIPS_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -2039,9 +1977,8 @@ func rewriteValueMIPS_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -2057,9 +1994,8 @@ func rewriteValueMIPS_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGEF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags)
                v0.AddArg(y)
@@ -2075,9 +2011,8 @@ func rewriteValueMIPS_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -2093,9 +2028,8 @@ func rewriteValueMIPS_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGED y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags)
                v0.AddArg(y)
@@ -2111,9 +2045,8 @@ func rewriteValueMIPS_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGT (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
@@ -2134,9 +2067,8 @@ func rewriteValueMIPS_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (XORconst [1] (SGTU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
@@ -2157,9 +2089,8 @@ func rewriteValueMIPS_OpLess16_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt16to32 y) (SignExt16to32 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(y)
@@ -2177,9 +2108,8 @@ func rewriteValueMIPS_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt16to32 y) (ZeroExt16to32 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(y)
@@ -2195,9 +2125,8 @@ func rewriteValueMIPS_OpLess32_0(v *Value) bool {
        // cond:
        // result: (SGT y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v.AddArg(y)
                v.AddArg(x)
@@ -2210,9 +2139,8 @@ func rewriteValueMIPS_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags)
                v0.AddArg(y)
@@ -2226,9 +2154,8 @@ func rewriteValueMIPS_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (SGTU y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v.AddArg(y)
                v.AddArg(x)
@@ -2241,9 +2168,8 @@ func rewriteValueMIPS_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags)
                v0.AddArg(y)
@@ -2259,9 +2185,8 @@ func rewriteValueMIPS_OpLess8_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt8to32 y) (SignExt8to32 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGT)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(y)
@@ -2279,9 +2204,8 @@ func rewriteValueMIPS_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt8to32 y) (ZeroExt8to32 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(y)
@@ -2298,9 +2222,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean()) {
                        break
                }
@@ -2314,9 +2237,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2330,9 +2252,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2346,9 +2267,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2362,9 +2282,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVHUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2378,9 +2297,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) || isPtr(t)) {
                        break
                }
@@ -2394,9 +2312,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVFload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -2410,9 +2327,8 @@ func rewriteValueMIPS_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -2445,9 +2361,8 @@ func rewriteValueMIPS_OpLsh16x16_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2475,9 +2390,8 @@ func rewriteValueMIPS_OpLsh16x32_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2540,9 +2454,8 @@ func rewriteValueMIPS_OpLsh16x8_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2570,9 +2483,8 @@ func rewriteValueMIPS_OpLsh32x16_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2600,9 +2512,8 @@ func rewriteValueMIPS_OpLsh32x32_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2665,9 +2576,8 @@ func rewriteValueMIPS_OpLsh32x8_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2695,9 +2605,8 @@ func rewriteValueMIPS_OpLsh8x16_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2725,9 +2634,8 @@ func rewriteValueMIPS_OpLsh8x32_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2790,9 +2698,8 @@ func rewriteValueMIPS_OpLsh8x8_0(v *Value) bool {
        // result: (CMOVZ (SLL <t> x (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
@@ -2833,13 +2740,12 @@ func rewriteValueMIPS_OpMIPSADD_0(v *Value) bool {
        // cond:
        // result: (ADDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSADDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -2865,13 +2771,12 @@ func rewriteValueMIPS_OpMIPSADD_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSNEG {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpMIPSSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -2981,13 +2886,12 @@ func rewriteValueMIPS_OpMIPSAND_0(v *Value) bool {
        // cond:
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSANDconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -2997,9 +2901,8 @@ func rewriteValueMIPS_OpMIPSAND_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -3166,7 +3069,7 @@ func rewriteValueMIPS_OpMIPSCMOVZ_0(v *Value) bool {
        // cond:
        // result: (CMOVZzero a c)
        for {
-               = v.Args[2]
+               c := v.Args[2]
                a := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
@@ -3175,7 +3078,6 @@ func rewriteValueMIPS_OpMIPSCMOVZ_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               c := v.Args[2]
                v.reset(OpMIPSCMOVZzero)
                v.AddArg(a)
                v.AddArg(c)
@@ -3226,14 +3128,13 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicAdd_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (LoweredAtomicAddconst [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -3250,7 +3151,7 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicStore_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStorezero ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
@@ -3259,7 +3160,6 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicStore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredAtomicStorezero)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -3274,14 +3174,13 @@ func rewriteValueMIPS_OpMIPSMOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3298,7 +3197,7 @@ func rewriteValueMIPS_OpMIPSMOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3306,7 +3205,6 @@ func rewriteValueMIPS_OpMIPSMOVBUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3381,9 +3279,8 @@ func rewriteValueMIPS_OpMIPSMOVBUreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -3434,14 +3331,13 @@ func rewriteValueMIPS_OpMIPSMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3458,7 +3354,7 @@ func rewriteValueMIPS_OpMIPSMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3466,7 +3362,6 @@ func rewriteValueMIPS_OpMIPSMOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3541,9 +3436,8 @@ func rewriteValueMIPS_OpMIPSMOVBreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -3597,7 +3491,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
@@ -3605,7 +3499,6 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
                off2 := x.AuxInt
                ptr := x.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3623,7 +3516,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3632,7 +3525,6 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3650,7 +3542,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
@@ -3659,7 +3551,6 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -3673,14 +3564,13 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3695,14 +3585,13 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVBUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3717,14 +3606,13 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3739,14 +3627,13 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3761,14 +3648,13 @@ func rewriteValueMIPS_OpMIPSMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3786,14 +3672,13 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3810,7 +3695,7 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3818,7 +3703,6 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3838,14 +3722,13 @@ func rewriteValueMIPS_OpMIPSMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3862,7 +3745,7 @@ func rewriteValueMIPS_OpMIPSMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3870,7 +3753,6 @@ func rewriteValueMIPS_OpMIPSMOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3915,7 +3797,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
@@ -3923,7 +3805,6 @@ func rewriteValueMIPS_OpMIPSMOVDstore_0(v *Value) bool {
                off2 := x.AuxInt
                ptr := x.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3941,7 +3822,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -3950,7 +3831,6 @@ func rewriteValueMIPS_OpMIPSMOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -3971,14 +3851,13 @@ func rewriteValueMIPS_OpMIPSMOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -3995,7 +3874,7 @@ func rewriteValueMIPS_OpMIPSMOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4003,7 +3882,6 @@ func rewriteValueMIPS_OpMIPSMOVFload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4048,7 +3926,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
@@ -4056,7 +3934,6 @@ func rewriteValueMIPS_OpMIPSMOVFstore_0(v *Value) bool {
                off2 := x.AuxInt
                ptr := x.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4074,7 +3951,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4083,7 +3960,6 @@ func rewriteValueMIPS_OpMIPSMOVFstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4104,14 +3980,13 @@ func rewriteValueMIPS_OpMIPSMOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4128,7 +4003,7 @@ func rewriteValueMIPS_OpMIPSMOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4136,7 +4011,6 @@ func rewriteValueMIPS_OpMIPSMOVHUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4236,9 +4110,8 @@ func rewriteValueMIPS_OpMIPSMOVHUreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -4289,14 +4162,13 @@ func rewriteValueMIPS_OpMIPSMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4313,7 +4185,7 @@ func rewriteValueMIPS_OpMIPSMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4321,7 +4193,6 @@ func rewriteValueMIPS_OpMIPSMOVHload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4446,9 +4317,8 @@ func rewriteValueMIPS_OpMIPSMOVHreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -4502,7 +4372,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
@@ -4510,7 +4380,6 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
                off2 := x.AuxInt
                ptr := x.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4528,7 +4397,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4537,7 +4406,6 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4555,7 +4423,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
@@ -4564,7 +4432,6 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPSMOVHstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -4578,14 +4445,13 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4600,14 +4466,13 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4622,14 +4487,13 @@ func rewriteValueMIPS_OpMIPSMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4647,14 +4511,13 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4671,7 +4534,7 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4679,7 +4542,6 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4699,14 +4561,13 @@ func rewriteValueMIPS_OpMIPSMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4723,7 +4584,7 @@ func rewriteValueMIPS_OpMIPSMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4731,7 +4592,6 @@ func rewriteValueMIPS_OpMIPSMOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4804,7 +4664,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
@@ -4812,7 +4672,6 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
                off2 := x.AuxInt
                ptr := x.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4830,7 +4689,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4839,7 +4698,6 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4857,7 +4715,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWconst {
@@ -4866,7 +4724,6 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPSMOVWstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -4880,14 +4737,13 @@ func rewriteValueMIPS_OpMIPSMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPSMOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4905,14 +4761,13 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                x := v.Args[0]
                if x.Op != OpMIPSADDconst {
                        break
                }
                off2 := x.AuxInt
                ptr := x.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1+off2) || x.Uses == 1) {
                        break
                }
@@ -4929,7 +4784,7 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWaddr {
                        break
@@ -4937,7 +4792,6 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2)) {
                        break
                }
@@ -4987,7 +4841,7 @@ func rewriteValueMIPS_OpMIPSMUL_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
@@ -4995,7 +4849,6 @@ func rewriteValueMIPS_OpMIPSMUL_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -5023,7 +4876,7 @@ func rewriteValueMIPS_OpMIPSMUL_0(v *Value) bool {
        // cond:
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
@@ -5031,7 +4884,6 @@ func rewriteValueMIPS_OpMIPSMUL_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpMIPSNEG)
                v.AddArg(x)
                return true
@@ -5057,13 +4909,12 @@ func rewriteValueMIPS_OpMIPSMUL_0(v *Value) bool {
        // cond: isPowerOfTwo(int64(uint32(c)))
        // result: (SLLconst [log2(int64(uint32(c)))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isPowerOfTwo(int64(uint32(c)))) {
                        break
                }
@@ -5168,13 +5019,12 @@ func rewriteValueMIPS_OpMIPSNOR_0(v *Value) bool {
        // cond:
        // result: (NORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSNORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -5221,13 +5071,12 @@ func rewriteValueMIPS_OpMIPSOR_0(v *Value) bool {
        // cond:
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -5237,9 +5086,8 @@ func rewriteValueMIPS_OpMIPSOR_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -5355,13 +5203,12 @@ func rewriteValueMIPS_OpMIPSSGT_0(v *Value) bool {
        // cond:
        // result: (SGTconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSSGTconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -5391,13 +5238,12 @@ func rewriteValueMIPS_OpMIPSSGTU_0(v *Value) bool {
        // cond:
        // result: (SGTUconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -5979,9 +5825,8 @@ func rewriteValueMIPS_OpMIPSSUB_0(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpMIPSMOVWconst)
@@ -5992,7 +5837,7 @@ func rewriteValueMIPS_OpMIPSSUB_0(v *Value) bool {
        // cond:
        // result: (NEG x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
@@ -6000,7 +5845,6 @@ func rewriteValueMIPS_OpMIPSSUB_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpMIPSNEG)
                v.AddArg(x)
                return true
@@ -6090,13 +5934,12 @@ func rewriteValueMIPS_OpMIPSXOR_0(v *Value) bool {
        // cond:
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = c
                v.AddArg(x)
@@ -6106,9 +5949,8 @@ func rewriteValueMIPS_OpMIPSXOR_0(v *Value) bool {
        // cond:
        // result: (MOVWconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpMIPSMOVWconst)
@@ -6183,9 +6025,8 @@ func rewriteValueMIPS_OpMod16_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIV (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -6205,9 +6046,8 @@ func rewriteValueMIPS_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -6227,9 +6067,8 @@ func rewriteValueMIPS_OpMod32_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v0.AddArg(x)
@@ -6245,9 +6084,8 @@ func rewriteValueMIPS_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v0.AddArg(x)
@@ -6263,9 +6101,8 @@ func rewriteValueMIPS_OpMod8_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIV (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -6285,9 +6122,8 @@ func rewriteValueMIPS_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -6310,7 +6146,6 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -6324,10 +6159,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
@@ -6345,10 +6179,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6368,10 +6201,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
@@ -6398,10 +6230,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6422,10 +6253,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6454,10 +6284,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -6501,10 +6330,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -6540,10 +6368,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6573,10 +6400,9 @@ func rewriteValueMIPS_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6630,10 +6456,9 @@ func rewriteValueMIPS_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6672,10 +6497,9 @@ func rewriteValueMIPS_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6714,10 +6538,9 @@ func rewriteValueMIPS_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6763,10 +6586,9 @@ func rewriteValueMIPS_OpMove_10(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 || t.(*types.Type).Alignment()%4 != 0) {
                        break
                }
@@ -6788,9 +6610,8 @@ func rewriteValueMIPS_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -6802,9 +6623,8 @@ func rewriteValueMIPS_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -6816,9 +6636,8 @@ func rewriteValueMIPS_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (MULF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMULF)
                v.AddArg(x)
                v.AddArg(y)
@@ -6830,9 +6649,8 @@ func rewriteValueMIPS_OpMul32uhilo_0(v *Value) bool {
        // cond:
        // result: (MULTU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMULTU)
                v.AddArg(x)
                v.AddArg(y)
@@ -6844,9 +6662,8 @@ func rewriteValueMIPS_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (MULD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6858,9 +6675,8 @@ func rewriteValueMIPS_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -6929,9 +6745,8 @@ func rewriteValueMIPS_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR (ZeroExt16to32 x) (ZeroExt16to32 y)) (MOVWconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -6954,9 +6769,8 @@ func rewriteValueMIPS_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR x y) (MOVWconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
                v0.AddArg(x)
@@ -6974,9 +6788,8 @@ func rewriteValueMIPS_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagFalse (CMPEQF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagFalse)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags)
                v0.AddArg(x)
@@ -6991,9 +6804,8 @@ func rewriteValueMIPS_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagFalse (CMPEQD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSFPFlagFalse)
                v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags)
                v0.AddArg(x)
@@ -7009,9 +6821,8 @@ func rewriteValueMIPS_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR (ZeroExt8to32 x) (ZeroExt8to32 y)) (MOVWconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -7032,9 +6843,8 @@ func rewriteValueMIPS_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7048,9 +6858,8 @@ func rewriteValueMIPS_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR x y) (MOVWconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSGTU)
                v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
                v0.AddArg(x)
@@ -7067,9 +6876,8 @@ func rewriteValueMIPS_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSLoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -7120,9 +6928,8 @@ func rewriteValueMIPS_OpOr16_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7134,9 +6941,8 @@ func rewriteValueMIPS_OpOr32_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7148,9 +6954,8 @@ func rewriteValueMIPS_OpOr8_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7162,9 +6967,8 @@ func rewriteValueMIPS_OpOrB_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7203,9 +7007,8 @@ func rewriteValueMIPS_OpRsh16Ux16_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt16to32 x) (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -7235,9 +7038,8 @@ func rewriteValueMIPS_OpRsh16Ux32_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt16to32 x) y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -7307,9 +7109,8 @@ func rewriteValueMIPS_OpRsh16Ux8_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt16to32 x) (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -7338,9 +7139,8 @@ func rewriteValueMIPS_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> (ZeroExt16to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt16to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -7369,9 +7169,8 @@ func rewriteValueMIPS_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> y (MOVWconst [-1]) (SGTUconst [32] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -7445,9 +7244,8 @@ func rewriteValueMIPS_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> (ZeroExt8to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt8to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -7477,9 +7275,8 @@ func rewriteValueMIPS_OpRsh32Ux16_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> x (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
@@ -7507,9 +7304,8 @@ func rewriteValueMIPS_OpRsh32Ux32_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> x y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
@@ -7572,9 +7368,8 @@ func rewriteValueMIPS_OpRsh32Ux8_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> x (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
@@ -7601,9 +7396,8 @@ func rewriteValueMIPS_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (SRA x ( CMOVZ <typ.UInt32> (ZeroExt16to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt16to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
@@ -7630,9 +7424,8 @@ func rewriteValueMIPS_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (SRA x ( CMOVZ <typ.UInt32> y (MOVWconst [-1]) (SGTUconst [32] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
@@ -7696,9 +7489,8 @@ func rewriteValueMIPS_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (SRA x ( CMOVZ <typ.UInt32> (ZeroExt8to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt8to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
@@ -7726,9 +7518,8 @@ func rewriteValueMIPS_OpRsh8Ux16_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt8to32 x) (ZeroExt16to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt16to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -7758,9 +7549,8 @@ func rewriteValueMIPS_OpRsh8Ux32_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt8to32 x) y) (MOVWconst [0]) (SGTUconst [32] y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -7830,9 +7620,8 @@ func rewriteValueMIPS_OpRsh8Ux8_0(v *Value) bool {
        // result: (CMOVZ (SRL <t> (ZeroExt8to32 x) (ZeroExt8to32 y) ) (MOVWconst [0]) (SGTUconst [32] (ZeroExt8to32 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -7861,9 +7650,8 @@ func rewriteValueMIPS_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> (ZeroExt16to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt16to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -7892,9 +7680,8 @@ func rewriteValueMIPS_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> y (MOVWconst [-1]) (SGTUconst [32] y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -7968,9 +7755,8 @@ func rewriteValueMIPS_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (SRA (SignExt16to32 x) ( CMOVZ <typ.UInt32> (ZeroExt8to32 y) (MOVWconst [-1]) (SGTUconst [32] (ZeroExt8to32 y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSRA)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -8004,9 +7790,8 @@ func rewriteValueMIPS_OpSelect0_0(v *Value) bool {
                        break
                }
                t := v_0.Type
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpMIPSADD)
                v.Type = t.FieldType(0)
                v.AddArg(x)
@@ -8022,9 +7807,8 @@ func rewriteValueMIPS_OpSelect0_0(v *Value) bool {
                        break
                }
                t := v_0.Type
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpMIPSSUB)
                v.Type = t.FieldType(0)
                v.AddArg(x)
@@ -8119,7 +7903,7 @@ func rewriteValueMIPS_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPSMOVWconst {
                        break
@@ -8127,7 +7911,6 @@ func rewriteValueMIPS_OpSelect0_0(v *Value) bool {
                if v_0_0.AuxInt != -1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpMIPSCMOVZ)
                v0 := b.NewValue0(v.Pos, OpMIPSADDconst, x.Type)
                v0.AuxInt = -1
@@ -8175,13 +7958,12 @@ func rewriteValueMIPS_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isPowerOfTwo(int64(uint32(c)))) {
                        break
                }
@@ -8322,9 +8104,8 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                        break
                }
                t := v_0.Type
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpMIPSSGTU)
                v.Type = typ.Bool
                v.AddArg(x)
@@ -8343,9 +8124,8 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                        break
                }
                t := v_0.Type
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpMIPSSGTU)
                v.Type = typ.Bool
                v0 := b.NewValue0(v.Pos, OpMIPSSUB, t.FieldType(0))
@@ -8403,7 +8183,7 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPSMOVWconst {
                        break
@@ -8411,7 +8191,6 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -8447,7 +8226,7 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPSMOVWconst {
                        break
@@ -8455,7 +8234,6 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                if v_0_0.AuxInt != -1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpMIPSNEG)
                v.Type = x.Type
                v.AddArg(x)
@@ -8491,13 +8269,12 @@ func rewriteValueMIPS_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPSMOVWconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isPowerOfTwo(int64(uint32(c)))) {
                        break
                }
@@ -8719,10 +8496,9 @@ func rewriteValueMIPS_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -8737,10 +8513,9 @@ func rewriteValueMIPS_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -8755,10 +8530,9 @@ func rewriteValueMIPS_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && !is32BitFloat(val.Type)) {
                        break
                }
@@ -8773,10 +8547,9 @@ func rewriteValueMIPS_OpStore_0(v *Value) bool {
        // result: (MOVFstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -8791,10 +8564,9 @@ func rewriteValueMIPS_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -8811,9 +8583,8 @@ func rewriteValueMIPS_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -8825,9 +8596,8 @@ func rewriteValueMIPS_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -8839,9 +8609,8 @@ func rewriteValueMIPS_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (SUBF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUBF)
                v.AddArg(x)
                v.AddArg(y)
@@ -8855,10 +8624,9 @@ func rewriteValueMIPS_OpSub32withcarry_0(v *Value) bool {
        // result: (SUB (SUB <t> x y) c)
        for {
                t := v.Type
-               = v.Args[2]
+               c := v.Args[2]
                x := v.Args[0]
                y := v.Args[1]
-               c := v.Args[2]
                v.reset(OpMIPSSUB)
                v0 := b.NewValue0(v.Pos, OpMIPSSUB, t)
                v0.AddArg(x)
@@ -8873,9 +8641,8 @@ func rewriteValueMIPS_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (SUBD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUBD)
                v.AddArg(x)
                v.AddArg(y)
@@ -8887,9 +8654,8 @@ func rewriteValueMIPS_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -8901,9 +8667,8 @@ func rewriteValueMIPS_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -8952,10 +8717,9 @@ func rewriteValueMIPS_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPSLoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -8969,9 +8733,8 @@ func rewriteValueMIPS_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -8983,9 +8746,8 @@ func rewriteValueMIPS_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -8997,9 +8759,8 @@ func rewriteValueMIPS_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPSXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -9016,7 +8777,6 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -9030,9 +8790,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSMOVBstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
@@ -9049,9 +8808,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -9070,9 +8828,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -9097,9 +8854,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9119,9 +8875,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -9148,9 +8903,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
@@ -9188,9 +8942,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
@@ -9222,9 +8975,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -9259,9 +9011,8 @@ func rewriteValueMIPS_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9295,9 +9046,8 @@ func rewriteValueMIPS_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9332,9 +9082,8 @@ func rewriteValueMIPS_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9374,9 +9123,8 @@ func rewriteValueMIPS_OpZero_10(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s > 16 || t.(*types.Type).Alignment()%4 != 0) {
                        break
                }
index c56f82f696160817b7848dd372fc7c5625061a7e..4d1d8170338ff8c4ab4d89e318812d86603108f5 100644 (file)
@@ -619,9 +619,8 @@ func rewriteValueMIPS64_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADDV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v.AddArg(x)
                v.AddArg(y)
@@ -633,9 +632,8 @@ func rewriteValueMIPS64_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADDV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v.AddArg(x)
                v.AddArg(y)
@@ -647,9 +645,8 @@ func rewriteValueMIPS64_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (ADDF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDF)
                v.AddArg(x)
                v.AddArg(y)
@@ -661,9 +658,8 @@ func rewriteValueMIPS64_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (ADDV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v.AddArg(x)
                v.AddArg(y)
@@ -675,9 +671,8 @@ func rewriteValueMIPS64_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (ADDD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDD)
                v.AddArg(x)
                v.AddArg(y)
@@ -689,9 +684,8 @@ func rewriteValueMIPS64_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADDV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v.AddArg(x)
                v.AddArg(y)
@@ -703,9 +697,8 @@ func rewriteValueMIPS64_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADDV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v.AddArg(x)
                v.AddArg(y)
@@ -730,9 +723,8 @@ func rewriteValueMIPS64_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -744,9 +736,8 @@ func rewriteValueMIPS64_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -758,9 +749,8 @@ func rewriteValueMIPS64_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -772,9 +762,8 @@ func rewriteValueMIPS64_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -786,9 +775,8 @@ func rewriteValueMIPS64_OpAndB_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -800,10 +788,9 @@ func rewriteValueMIPS64_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicAdd32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -816,10 +803,9 @@ func rewriteValueMIPS64_OpAtomicAdd64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicAdd64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -832,11 +818,10 @@ func rewriteValueMIPS64_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas32 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpMIPS64LoweredAtomicCas32)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -850,11 +835,10 @@ func rewriteValueMIPS64_OpAtomicCompareAndSwap64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas64 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpMIPS64LoweredAtomicCas64)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -868,10 +852,9 @@ func rewriteValueMIPS64_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicExchange32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -884,10 +867,9 @@ func rewriteValueMIPS64_OpAtomicExchange64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicExchange64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -900,9 +882,8 @@ func rewriteValueMIPS64_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad32 ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64LoweredAtomicLoad32)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -914,9 +895,8 @@ func rewriteValueMIPS64_OpAtomicLoad64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad64 ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64LoweredAtomicLoad64)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -928,9 +908,8 @@ func rewriteValueMIPS64_OpAtomicLoadPtr_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad64 ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64LoweredAtomicLoad64)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -942,10 +921,9 @@ func rewriteValueMIPS64_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicStore32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -958,10 +936,9 @@ func rewriteValueMIPS64_OpAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicStore64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -974,10 +951,9 @@ func rewriteValueMIPS64_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicStore64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -992,9 +968,8 @@ func rewriteValueMIPS64_OpAvg64u_0(v *Value) bool {
        // result: (ADDV (SRLVconst <t> (SUBV <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64ADDV)
                v0 := b.NewValue0(v.Pos, OpMIPS64SRLVconst, t)
                v0.AuxInt = 1
@@ -1013,10 +988,9 @@ func rewriteValueMIPS64_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64CALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1293,9 +1267,8 @@ func rewriteValueMIPS64_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVV (SignExt16to64 x) (SignExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
@@ -1315,9 +1288,8 @@ func rewriteValueMIPS64_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVVU (ZeroExt16to64 x) (ZeroExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -1337,9 +1309,8 @@ func rewriteValueMIPS64_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVV (SignExt32to64 x) (SignExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
@@ -1357,9 +1328,8 @@ func rewriteValueMIPS64_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (DIVF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64DIVF)
                v.AddArg(x)
                v.AddArg(y)
@@ -1373,9 +1343,8 @@ func rewriteValueMIPS64_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVVU (ZeroExt32to64 x) (ZeroExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -1395,9 +1364,8 @@ func rewriteValueMIPS64_OpDiv64_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v0.AddArg(x)
@@ -1411,9 +1379,8 @@ func rewriteValueMIPS64_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (DIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64DIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -1427,9 +1394,8 @@ func rewriteValueMIPS64_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -1445,9 +1411,8 @@ func rewriteValueMIPS64_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVV (SignExt8to64 x) (SignExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
@@ -1467,9 +1432,8 @@ func rewriteValueMIPS64_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (Select1 (DIVVU (ZeroExt8to64 x) (ZeroExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -1489,9 +1453,8 @@ func rewriteValueMIPS64_OpEq16_0(v *Value) bool {
        // cond:
        // result: (SGTU (MOVVconst [1]) (XOR (ZeroExt16to64 x) (ZeroExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1514,9 +1477,8 @@ func rewriteValueMIPS64_OpEq32_0(v *Value) bool {
        // cond:
        // result: (SGTU (MOVVconst [1]) (XOR (ZeroExt32to64 x) (ZeroExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1538,9 +1500,8 @@ func rewriteValueMIPS64_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPEQF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags)
                v0.AddArg(x)
@@ -1556,9 +1517,8 @@ func rewriteValueMIPS64_OpEq64_0(v *Value) bool {
        // cond:
        // result: (SGTU (MOVVconst [1]) (XOR x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1576,9 +1536,8 @@ func rewriteValueMIPS64_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPEQD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags)
                v0.AddArg(x)
@@ -1594,9 +1553,8 @@ func rewriteValueMIPS64_OpEq8_0(v *Value) bool {
        // cond:
        // result: (SGTU (MOVVconst [1]) (XOR (ZeroExt8to64 x) (ZeroExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1619,9 +1577,8 @@ func rewriteValueMIPS64_OpEqB_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (XOR <typ.Bool> x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1640,9 +1597,8 @@ func rewriteValueMIPS64_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (SGTU (MOVVconst [1]) (XOR x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1661,9 +1617,8 @@ func rewriteValueMIPS64_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt16to64 y) (SignExt16to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1686,9 +1641,8 @@ func rewriteValueMIPS64_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt16to64 y) (ZeroExt16to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1711,9 +1665,8 @@ func rewriteValueMIPS64_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt32to64 y) (SignExt32to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1735,9 +1688,8 @@ func rewriteValueMIPS64_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGEF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags)
                v0.AddArg(x)
@@ -1753,9 +1705,8 @@ func rewriteValueMIPS64_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt32to64 y) (ZeroExt32to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1778,9 +1729,8 @@ func rewriteValueMIPS64_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1798,9 +1748,8 @@ func rewriteValueMIPS64_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGED x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags)
                v0.AddArg(x)
@@ -1816,9 +1765,8 @@ func rewriteValueMIPS64_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1837,9 +1785,8 @@ func rewriteValueMIPS64_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt8to64 y) (SignExt8to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1862,9 +1809,8 @@ func rewriteValueMIPS64_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt8to64 y) (ZeroExt8to64 x)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -1914,9 +1860,8 @@ func rewriteValueMIPS64_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -1934,9 +1879,8 @@ func rewriteValueMIPS64_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1954,9 +1898,8 @@ func rewriteValueMIPS64_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -1973,9 +1916,8 @@ func rewriteValueMIPS64_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags)
                v0.AddArg(x)
@@ -1991,9 +1933,8 @@ func rewriteValueMIPS64_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -2009,9 +1950,8 @@ func rewriteValueMIPS64_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (SGT x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v.AddArg(x)
                v.AddArg(y)
@@ -2024,9 +1964,8 @@ func rewriteValueMIPS64_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags)
                v0.AddArg(x)
@@ -2040,9 +1979,8 @@ func rewriteValueMIPS64_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (SGTU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2056,9 +1994,8 @@ func rewriteValueMIPS64_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -2076,9 +2013,8 @@ func rewriteValueMIPS64_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -2096,9 +2032,8 @@ func rewriteValueMIPS64_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (SRAVconst (Select1 <typ.Int64> (MULV (SignExt32to64 x) (SignExt32to64 y))) [32])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAVconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpSelect1, typ.Int64)
@@ -2121,9 +2056,8 @@ func rewriteValueMIPS64_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (SRLVconst (Select1 <typ.UInt64> (MULVU (ZeroExt32to64 x) (ZeroExt32to64 y))) [32])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRLVconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpSelect1, typ.UInt64)
@@ -2146,9 +2080,8 @@ func rewriteValueMIPS64_OpHmul64_0(v *Value) bool {
        // cond:
        // result: (Select0 (MULV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULV, types.NewTuple(typ.Int64, typ.Int64))
                v0.AddArg(x)
@@ -2164,9 +2097,8 @@ func rewriteValueMIPS64_OpHmul64u_0(v *Value) bool {
        // cond:
        // result: (Select0 (MULVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -2181,9 +2113,8 @@ func rewriteValueMIPS64_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpMIPS64CALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -2196,9 +2127,8 @@ func rewriteValueMIPS64_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (SGTU len idx)
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v.AddArg(len)
                v.AddArg(idx)
@@ -2228,9 +2158,8 @@ func rewriteValueMIPS64_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2249,9 +2178,8 @@ func rewriteValueMIPS64_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt16to64 x) (SignExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2274,9 +2202,8 @@ func rewriteValueMIPS64_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt16to64 x) (ZeroExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2299,9 +2226,8 @@ func rewriteValueMIPS64_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt32to64 x) (SignExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2323,9 +2249,8 @@ func rewriteValueMIPS64_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGEF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags)
                v0.AddArg(y)
@@ -2341,9 +2266,8 @@ func rewriteValueMIPS64_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt32to64 x) (ZeroExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2366,9 +2290,8 @@ func rewriteValueMIPS64_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2386,9 +2309,8 @@ func rewriteValueMIPS64_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGED y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags)
                v0.AddArg(y)
@@ -2404,9 +2326,8 @@ func rewriteValueMIPS64_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2425,9 +2346,8 @@ func rewriteValueMIPS64_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGT (SignExt8to64 x) (SignExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2450,9 +2370,8 @@ func rewriteValueMIPS64_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (XOR (MOVVconst [1]) (SGTU (ZeroExt8to64 x) (ZeroExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
                v0.AuxInt = 1
@@ -2475,9 +2394,8 @@ func rewriteValueMIPS64_OpLess16_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt16to64 y) (SignExt16to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(y)
@@ -2495,9 +2413,8 @@ func rewriteValueMIPS64_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt16to64 y) (ZeroExt16to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(y)
@@ -2515,9 +2432,8 @@ func rewriteValueMIPS64_OpLess32_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt32to64 y) (SignExt32to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(y)
@@ -2534,9 +2450,8 @@ func rewriteValueMIPS64_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTF y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags)
                v0.AddArg(y)
@@ -2552,9 +2467,8 @@ func rewriteValueMIPS64_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt32to64 y) (ZeroExt32to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(y)
@@ -2570,9 +2484,8 @@ func rewriteValueMIPS64_OpLess64_0(v *Value) bool {
        // cond:
        // result: (SGT y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v.AddArg(y)
                v.AddArg(x)
@@ -2585,9 +2498,8 @@ func rewriteValueMIPS64_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagTrue (CMPGTD y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagTrue)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags)
                v0.AddArg(y)
@@ -2601,9 +2513,8 @@ func rewriteValueMIPS64_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (SGTU y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v.AddArg(y)
                v.AddArg(x)
@@ -2617,9 +2528,8 @@ func rewriteValueMIPS64_OpLess8_0(v *Value) bool {
        // cond:
        // result: (SGT (SignExt8to64 y) (SignExt8to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGT)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(y)
@@ -2637,9 +2547,8 @@ func rewriteValueMIPS64_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (SGTU (ZeroExt8to64 y) (ZeroExt8to64 x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(y)
@@ -2656,9 +2565,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean()) {
                        break
                }
@@ -2672,9 +2580,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2688,9 +2595,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVBUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2704,9 +2610,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2720,9 +2625,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVHUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2736,9 +2640,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2752,9 +2655,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVWUload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2768,9 +2670,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVVload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) || isPtr(t)) {
                        break
                }
@@ -2784,9 +2685,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVFload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -2800,9 +2700,8 @@ func rewriteValueMIPS64_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -2835,9 +2734,8 @@ func rewriteValueMIPS64_OpLsh16x16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SLLV <t> x (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -2866,9 +2764,8 @@ func rewriteValueMIPS64_OpLsh16x32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SLLV <t> x (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -2897,9 +2794,8 @@ func rewriteValueMIPS64_OpLsh16x64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SLLV <t> x y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -2924,9 +2820,8 @@ func rewriteValueMIPS64_OpLsh16x8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SLLV <t> x (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -2955,9 +2850,8 @@ func rewriteValueMIPS64_OpLsh32x16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SLLV <t> x (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -2986,9 +2880,8 @@ func rewriteValueMIPS64_OpLsh32x32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SLLV <t> x (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3017,9 +2910,8 @@ func rewriteValueMIPS64_OpLsh32x64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SLLV <t> x y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3044,9 +2936,8 @@ func rewriteValueMIPS64_OpLsh32x8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SLLV <t> x (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3075,9 +2966,8 @@ func rewriteValueMIPS64_OpLsh64x16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SLLV <t> x (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3106,9 +2996,8 @@ func rewriteValueMIPS64_OpLsh64x32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SLLV <t> x (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3137,9 +3026,8 @@ func rewriteValueMIPS64_OpLsh64x64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SLLV <t> x y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3164,9 +3052,8 @@ func rewriteValueMIPS64_OpLsh64x8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SLLV <t> x (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3195,9 +3082,8 @@ func rewriteValueMIPS64_OpLsh8x16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SLLV <t> x (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3226,9 +3112,8 @@ func rewriteValueMIPS64_OpLsh8x32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SLLV <t> x (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3257,9 +3142,8 @@ func rewriteValueMIPS64_OpLsh8x64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SLLV <t> x y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3284,9 +3168,8 @@ func rewriteValueMIPS64_OpLsh8x8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SLLV <t> x (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -3331,13 +3214,12 @@ func rewriteValueMIPS64_OpMIPS64ADDV_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADDVconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -3366,13 +3248,12 @@ func rewriteValueMIPS64_OpMIPS64ADDV_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64NEGV {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -3490,13 +3371,12 @@ func rewriteValueMIPS64_OpMIPS64AND_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -3509,9 +3389,8 @@ func rewriteValueMIPS64_OpMIPS64AND_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -3583,14 +3462,13 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd32_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (LoweredAtomicAddconst32 [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(c)) {
                        break
                }
@@ -3607,14 +3485,13 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd64_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (LoweredAtomicAddconst64 [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is32Bit(c)) {
                        break
                }
@@ -3631,7 +3508,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStorezero32 ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -3640,7 +3517,6 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore32_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicStorezero32)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -3653,7 +3529,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStorezero64 ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -3662,7 +3538,6 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore64_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredAtomicStorezero64)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -3677,14 +3552,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3701,7 +3575,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -3709,7 +3583,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -3770,14 +3643,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3794,7 +3666,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -3802,7 +3674,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -3863,7 +3734,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -3871,7 +3742,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -3889,7 +3759,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -3898,7 +3768,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -3916,7 +3785,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -3925,7 +3794,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -3939,14 +3807,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3961,14 +3828,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVBUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -3983,14 +3849,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4005,14 +3870,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4027,14 +3891,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4049,14 +3912,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4074,14 +3936,13 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4098,7 +3959,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4106,7 +3967,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4126,14 +3986,13 @@ func rewriteValueMIPS64_OpMIPS64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4150,7 +4009,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4158,7 +4017,6 @@ func rewriteValueMIPS64_OpMIPS64MOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4178,7 +4036,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -4186,7 +4044,6 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4204,7 +4061,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4213,7 +4070,6 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4234,14 +4090,13 @@ func rewriteValueMIPS64_OpMIPS64MOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4258,7 +4113,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4266,7 +4121,6 @@ func rewriteValueMIPS64_OpMIPS64MOVFload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4286,7 +4140,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -4294,7 +4148,6 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4312,7 +4165,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4321,7 +4174,6 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4342,14 +4194,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4366,7 +4217,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4374,7 +4225,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4460,14 +4310,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4484,7 +4333,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4492,7 +4341,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4603,7 +4451,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -4611,7 +4459,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4629,7 +4476,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4638,7 +4485,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4656,7 +4502,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -4665,7 +4511,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVHstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -4679,14 +4524,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4701,14 +4545,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVHUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4723,14 +4566,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4745,14 +4587,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -4770,14 +4611,13 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4794,7 +4634,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4802,7 +4642,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4822,14 +4661,13 @@ func rewriteValueMIPS64_OpMIPS64MOVVload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4846,7 +4684,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4854,7 +4692,6 @@ func rewriteValueMIPS64_OpMIPS64MOVVload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4902,7 +4739,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -4910,7 +4747,6 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -4928,7 +4764,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -4937,7 +4773,6 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -4955,7 +4790,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -4964,7 +4799,6 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVVstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -4981,14 +4815,13 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5005,7 +4838,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -5013,7 +4846,6 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -5033,14 +4865,13 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5057,7 +4888,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -5065,7 +4896,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -5176,14 +5006,13 @@ func rewriteValueMIPS64_OpMIPS64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5200,7 +5029,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -5208,7 +5037,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -5372,7 +5200,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
@@ -5380,7 +5208,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5398,7 +5225,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -5407,7 +5234,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -5425,7 +5251,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVVconst {
@@ -5434,7 +5260,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVWstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -5448,14 +5273,13 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5470,14 +5294,13 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMIPS64MOVWUreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -5495,14 +5318,13 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64ADDVconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1 + off2)) {
                        break
                }
@@ -5519,7 +5341,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVaddr {
                        break
@@ -5527,7 +5349,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && is32Bit(off1+off2)) {
                        break
                }
@@ -5580,13 +5401,12 @@ func rewriteValueMIPS64_OpMIPS64NOR_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (NORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -5638,13 +5458,12 @@ func rewriteValueMIPS64_OpMIPS64OR_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -5657,9 +5476,8 @@ func rewriteValueMIPS64_OpMIPS64OR_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -5734,13 +5552,12 @@ func rewriteValueMIPS64_OpMIPS64SGT_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (SGTconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -5756,13 +5573,12 @@ func rewriteValueMIPS64_OpMIPS64SGTU_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (SGTUconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -6279,9 +6095,8 @@ func rewriteValueMIPS64_OpMIPS64SUBV_0(v *Value) bool {
        // cond:
        // result: (MOVVconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpMIPS64MOVVconst)
@@ -6292,7 +6107,7 @@ func rewriteValueMIPS64_OpMIPS64SUBV_0(v *Value) bool {
        // cond:
        // result: (NEGV x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
@@ -6300,7 +6115,6 @@ func rewriteValueMIPS64_OpMIPS64SUBV_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpMIPS64NEGV)
                v.AddArg(x)
                return true
@@ -6399,13 +6213,12 @@ func rewriteValueMIPS64_OpMIPS64XOR_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -6418,9 +6231,8 @@ func rewriteValueMIPS64_OpMIPS64XOR_0(v *Value) bool {
        // cond:
        // result: (MOVVconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpMIPS64MOVVconst)
@@ -6498,9 +6310,8 @@ func rewriteValueMIPS64_OpMod16_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVV (SignExt16to64 x) (SignExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
@@ -6520,9 +6331,8 @@ func rewriteValueMIPS64_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVVU (ZeroExt16to64 x) (ZeroExt16to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -6542,9 +6352,8 @@ func rewriteValueMIPS64_OpMod32_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVV (SignExt32to64 x) (SignExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
@@ -6564,9 +6373,8 @@ func rewriteValueMIPS64_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVVU (ZeroExt32to64 x) (ZeroExt32to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -6586,9 +6394,8 @@ func rewriteValueMIPS64_OpMod64_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v0.AddArg(x)
@@ -6604,9 +6411,8 @@ func rewriteValueMIPS64_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -6622,9 +6428,8 @@ func rewriteValueMIPS64_OpMod8_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVV (SignExt8to64 x) (SignExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
                v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
@@ -6644,9 +6449,8 @@ func rewriteValueMIPS64_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (Select0 (DIVVU (ZeroExt8to64 x) (ZeroExt8to64 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect0)
                v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -6669,7 +6473,6 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -6683,10 +6486,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
@@ -6704,10 +6506,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6727,10 +6528,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
@@ -6757,10 +6557,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6781,10 +6580,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6813,10 +6611,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -6861,10 +6658,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -6885,10 +6681,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -6918,10 +6713,9 @@ func rewriteValueMIPS64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -6974,10 +6768,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -7013,10 +6806,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -7055,10 +6847,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -7097,10 +6888,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -7130,10 +6920,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -7170,10 +6959,9 @@ func rewriteValueMIPS64_OpMove_10(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 24 || t.(*types.Type).Alignment()%8 != 0) {
                        break
                }
@@ -7197,9 +6985,8 @@ func rewriteValueMIPS64_OpMul16_0(v *Value) bool {
        // cond:
        // result: (Select1 (MULVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -7215,9 +7002,8 @@ func rewriteValueMIPS64_OpMul32_0(v *Value) bool {
        // cond:
        // result: (Select1 (MULVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -7231,9 +7017,8 @@ func rewriteValueMIPS64_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (MULF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64MULF)
                v.AddArg(x)
                v.AddArg(y)
@@ -7247,9 +7032,8 @@ func rewriteValueMIPS64_OpMul64_0(v *Value) bool {
        // cond:
        // result: (Select1 (MULVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -7263,9 +7047,8 @@ func rewriteValueMIPS64_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (MULD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64MULD)
                v.AddArg(x)
                v.AddArg(y)
@@ -7279,9 +7062,8 @@ func rewriteValueMIPS64_OpMul8_0(v *Value) bool {
        // cond:
        // result: (Select1 (MULVU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpSelect1)
                v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
                v0.AddArg(x)
@@ -7363,9 +7145,8 @@ func rewriteValueMIPS64_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR (ZeroExt16to32 x) (ZeroExt16to64 y)) (MOVVconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -7388,9 +7169,8 @@ func rewriteValueMIPS64_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR (ZeroExt32to64 x) (ZeroExt32to64 y)) (MOVVconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
                v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -7412,9 +7192,8 @@ func rewriteValueMIPS64_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (FPFlagFalse (CMPEQF x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagFalse)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags)
                v0.AddArg(x)
@@ -7430,9 +7209,8 @@ func rewriteValueMIPS64_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR x y) (MOVVconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
                v0.AddArg(x)
@@ -7450,9 +7228,8 @@ func rewriteValueMIPS64_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (FPFlagFalse (CMPEQD x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64FPFlagFalse)
                v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags)
                v0.AddArg(x)
@@ -7468,9 +7245,8 @@ func rewriteValueMIPS64_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR (ZeroExt8to64 x) (ZeroExt8to64 y)) (MOVVconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -7491,9 +7267,8 @@ func rewriteValueMIPS64_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7507,9 +7282,8 @@ func rewriteValueMIPS64_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (SGTU (XOR x y) (MOVVconst [0]))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
                v0.AddArg(x)
@@ -7526,9 +7300,8 @@ func rewriteValueMIPS64_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64LoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -7579,9 +7352,8 @@ func rewriteValueMIPS64_OpOr16_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7593,9 +7365,8 @@ func rewriteValueMIPS64_OpOr32_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7607,9 +7378,8 @@ func rewriteValueMIPS64_OpOr64_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7621,9 +7391,8 @@ func rewriteValueMIPS64_OpOr8_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7635,9 +7404,8 @@ func rewriteValueMIPS64_OpOrB_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -7676,9 +7444,8 @@ func rewriteValueMIPS64_OpRsh16Ux16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SRLV <t> (ZeroExt16to64 x) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7709,9 +7476,8 @@ func rewriteValueMIPS64_OpRsh16Ux32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SRLV <t> (ZeroExt16to64 x) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7742,9 +7508,8 @@ func rewriteValueMIPS64_OpRsh16Ux64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SRLV <t> (ZeroExt16to64 x) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7771,9 +7536,8 @@ func rewriteValueMIPS64_OpRsh16Ux8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SRLV <t> (ZeroExt16to64 x) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7804,9 +7568,8 @@ func rewriteValueMIPS64_OpRsh16x16_0(v *Value) bool {
        // result: (SRAV (SignExt16to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt16to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -7837,9 +7600,8 @@ func rewriteValueMIPS64_OpRsh16x32_0(v *Value) bool {
        // result: (SRAV (SignExt16to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt32to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -7870,9 +7632,8 @@ func rewriteValueMIPS64_OpRsh16x64_0(v *Value) bool {
        // result: (SRAV (SignExt16to64 x) (OR <t> (NEGV <t> (SGTU y (MOVVconst <typ.UInt64> [63]))) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -7899,9 +7660,8 @@ func rewriteValueMIPS64_OpRsh16x8_0(v *Value) bool {
        // result: (SRAV (SignExt16to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt8to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -7932,9 +7692,8 @@ func rewriteValueMIPS64_OpRsh32Ux16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SRLV <t> (ZeroExt32to64 x) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7965,9 +7724,8 @@ func rewriteValueMIPS64_OpRsh32Ux32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SRLV <t> (ZeroExt32to64 x) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -7998,9 +7756,8 @@ func rewriteValueMIPS64_OpRsh32Ux64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SRLV <t> (ZeroExt32to64 x) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8027,9 +7784,8 @@ func rewriteValueMIPS64_OpRsh32Ux8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SRLV <t> (ZeroExt32to64 x) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8060,9 +7816,8 @@ func rewriteValueMIPS64_OpRsh32x16_0(v *Value) bool {
        // result: (SRAV (SignExt32to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt16to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -8093,9 +7848,8 @@ func rewriteValueMIPS64_OpRsh32x32_0(v *Value) bool {
        // result: (SRAV (SignExt32to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt32to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -8126,9 +7880,8 @@ func rewriteValueMIPS64_OpRsh32x64_0(v *Value) bool {
        // result: (SRAV (SignExt32to64 x) (OR <t> (NEGV <t> (SGTU y (MOVVconst <typ.UInt64> [63]))) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -8155,9 +7908,8 @@ func rewriteValueMIPS64_OpRsh32x8_0(v *Value) bool {
        // result: (SRAV (SignExt32to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt8to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -8188,9 +7940,8 @@ func rewriteValueMIPS64_OpRsh64Ux16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SRLV <t> x (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8219,9 +7970,8 @@ func rewriteValueMIPS64_OpRsh64Ux32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SRLV <t> x (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8250,9 +8000,8 @@ func rewriteValueMIPS64_OpRsh64Ux64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SRLV <t> x y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8277,9 +8026,8 @@ func rewriteValueMIPS64_OpRsh64Ux8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SRLV <t> x (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8308,9 +8056,8 @@ func rewriteValueMIPS64_OpRsh64x16_0(v *Value) bool {
        // result: (SRAV x (OR <t> (NEGV <t> (SGTU (ZeroExt16to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
@@ -8339,9 +8086,8 @@ func rewriteValueMIPS64_OpRsh64x32_0(v *Value) bool {
        // result: (SRAV x (OR <t> (NEGV <t> (SGTU (ZeroExt32to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
@@ -8370,9 +8116,8 @@ func rewriteValueMIPS64_OpRsh64x64_0(v *Value) bool {
        // result: (SRAV x (OR <t> (NEGV <t> (SGTU y (MOVVconst <typ.UInt64> [63]))) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
@@ -8397,9 +8142,8 @@ func rewriteValueMIPS64_OpRsh64x8_0(v *Value) bool {
        // result: (SRAV x (OR <t> (NEGV <t> (SGTU (ZeroExt8to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
@@ -8428,9 +8172,8 @@ func rewriteValueMIPS64_OpRsh8Ux16_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt16to64 y))) (SRLV <t> (ZeroExt8to64 x) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8461,9 +8204,8 @@ func rewriteValueMIPS64_OpRsh8Ux32_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt32to64 y))) (SRLV <t> (ZeroExt8to64 x) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8494,9 +8236,8 @@ func rewriteValueMIPS64_OpRsh8Ux64_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) y)) (SRLV <t> (ZeroExt8to64 x) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8523,9 +8264,8 @@ func rewriteValueMIPS64_OpRsh8Ux8_0(v *Value) bool {
        // result: (AND (NEGV <t> (SGTU (MOVVconst <typ.UInt64> [64]) (ZeroExt8to64 y))) (SRLV <t> (ZeroExt8to64 x) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64AND)
                v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
                v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
@@ -8556,9 +8296,8 @@ func rewriteValueMIPS64_OpRsh8x16_0(v *Value) bool {
        // result: (SRAV (SignExt8to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt16to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt16to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -8589,9 +8328,8 @@ func rewriteValueMIPS64_OpRsh8x32_0(v *Value) bool {
        // result: (SRAV (SignExt8to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt32to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt32to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -8622,9 +8360,8 @@ func rewriteValueMIPS64_OpRsh8x64_0(v *Value) bool {
        // result: (SRAV (SignExt8to64 x) (OR <t> (NEGV <t> (SGTU y (MOVVconst <typ.UInt64> [63]))) y))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -8651,9 +8388,8 @@ func rewriteValueMIPS64_OpRsh8x8_0(v *Value) bool {
        // result: (SRAV (SignExt8to64 x) (OR <t> (NEGV <t> (SGTU (ZeroExt8to64 y) (MOVVconst <typ.UInt64> [63]))) (ZeroExt8to64 y)))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SRAV)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -8798,7 +8534,7 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
@@ -8806,7 +8542,6 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0_0.AuxInt != -1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpMIPS64NEGV)
                v.AddArg(x)
                return true
@@ -8881,7 +8616,7 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
@@ -8889,7 +8624,6 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -8926,13 +8660,12 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -8949,7 +8682,7 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
@@ -8957,7 +8690,6 @@ func rewriteValueMIPS64_OpSelect1_0(v *Value) bool {
                if v_0_0.AuxInt != -1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpMIPS64NEGV)
                v.AddArg(x)
                return true
@@ -9034,7 +8766,7 @@ func rewriteValueMIPS64_OpSelect1_10(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
@@ -9042,7 +8774,6 @@ func rewriteValueMIPS64_OpSelect1_10(v *Value) bool {
                if v_0_0.AuxInt != 1 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -9078,13 +8809,12 @@ func rewriteValueMIPS64_OpSelect1_10(v *Value) bool {
                if v_0.Op != OpMIPS64MULVU {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpMIPS64MOVVconst {
                        break
                }
                c := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -9372,10 +9102,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -9390,10 +9119,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -9408,10 +9136,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && !is32BitFloat(val.Type)) {
                        break
                }
@@ -9426,10 +9153,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVVstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && !is64BitFloat(val.Type)) {
                        break
                }
@@ -9444,10 +9170,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVFstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -9462,10 +9187,9 @@ func rewriteValueMIPS64_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -9482,9 +9206,8 @@ func rewriteValueMIPS64_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -9496,9 +9219,8 @@ func rewriteValueMIPS64_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -9510,9 +9232,8 @@ func rewriteValueMIPS64_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (SUBF x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBF)
                v.AddArg(x)
                v.AddArg(y)
@@ -9524,9 +9245,8 @@ func rewriteValueMIPS64_OpSub64_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -9538,9 +9258,8 @@ func rewriteValueMIPS64_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (SUBD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBD)
                v.AddArg(x)
                v.AddArg(y)
@@ -9552,9 +9271,8 @@ func rewriteValueMIPS64_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -9566,9 +9284,8 @@ func rewriteValueMIPS64_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUBV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64SUBV)
                v.AddArg(x)
                v.AddArg(y)
@@ -9653,10 +9370,9 @@ func rewriteValueMIPS64_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpMIPS64LoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -9670,9 +9386,8 @@ func rewriteValueMIPS64_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -9684,9 +9399,8 @@ func rewriteValueMIPS64_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -9698,9 +9412,8 @@ func rewriteValueMIPS64_OpXor64_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -9712,9 +9425,8 @@ func rewriteValueMIPS64_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMIPS64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -9731,7 +9443,6 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -9745,9 +9456,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64MOVBstore)
                v.AddArg(ptr)
                v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
@@ -9764,9 +9474,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -9785,9 +9494,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -9812,9 +9520,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9834,9 +9541,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -9863,9 +9569,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
@@ -9904,9 +9609,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -9926,9 +9630,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -9956,9 +9659,8 @@ func rewriteValueMIPS64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -10005,9 +9707,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
@@ -10039,9 +9740,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%2 == 0) {
                        break
                }
@@ -10076,9 +9776,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -10113,9 +9812,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -10143,9 +9841,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%8 == 0) {
                        break
                }
@@ -10178,9 +9875,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(s%8 == 0 && s > 24 && s <= 8*128 && t.(*types.Type).Alignment()%8 == 0 && !config.noDuffDevice) {
                        break
                }
@@ -10196,9 +9892,8 @@ func rewriteValueMIPS64_OpZero_10(v *Value) bool {
        for {
                s := v.AuxInt
                t := v.Aux
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !((s > 8*128 || config.noDuffDevice) || t.(*types.Type).Alignment()%8 != 0) {
                        break
                }
index 29d9ec5d4d5e53e3d7400402e4e1b88a5f90dbe5..302b785f6195df8277fc57495b14246d60e8735f 100644 (file)
@@ -712,9 +712,8 @@ func rewriteValuePPC64_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -726,9 +725,8 @@ func rewriteValuePPC64_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -740,9 +738,8 @@ func rewriteValuePPC64_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (FADDS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -754,9 +751,8 @@ func rewriteValuePPC64_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -768,9 +764,8 @@ func rewriteValuePPC64_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (FADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -782,9 +777,8 @@ func rewriteValuePPC64_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -796,9 +790,8 @@ func rewriteValuePPC64_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -823,9 +816,8 @@ func rewriteValuePPC64_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -837,9 +829,8 @@ func rewriteValuePPC64_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -851,9 +842,8 @@ func rewriteValuePPC64_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -865,9 +855,8 @@ func rewriteValuePPC64_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -879,9 +868,8 @@ func rewriteValuePPC64_OpAndB_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64AND)
                v.AddArg(x)
                v.AddArg(y)
@@ -893,10 +881,9 @@ func rewriteValuePPC64_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicAdd32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -909,10 +896,9 @@ func rewriteValuePPC64_OpAtomicAdd64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAdd64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicAdd64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -925,10 +911,9 @@ func rewriteValuePPC64_OpAtomicAnd8_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicAnd8 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicAnd8)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -941,11 +926,10 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas32 [1] ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpPPC64LoweredAtomicCas32)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -960,11 +944,10 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas64 [1] ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpPPC64LoweredAtomicCas64)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -979,11 +962,10 @@ func rewriteValuePPC64_OpAtomicCompareAndSwapRel32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas32 [0] ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpPPC64LoweredAtomicCas32)
                v.AuxInt = 0
                v.AddArg(ptr)
@@ -998,10 +980,9 @@ func rewriteValuePPC64_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicExchange32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1014,10 +995,9 @@ func rewriteValuePPC64_OpAtomicExchange64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicExchange64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1030,9 +1010,8 @@ func rewriteValuePPC64_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad32 [1] ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredAtomicLoad32)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -1045,9 +1024,8 @@ func rewriteValuePPC64_OpAtomicLoad64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad64 [1] ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredAtomicLoad64)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -1060,9 +1038,8 @@ func rewriteValuePPC64_OpAtomicLoadAcq32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoad32 [0] ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredAtomicLoad32)
                v.AuxInt = 0
                v.AddArg(ptr)
@@ -1075,9 +1052,8 @@ func rewriteValuePPC64_OpAtomicLoadPtr_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicLoadPtr [1] ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredAtomicLoadPtr)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -1090,10 +1066,9 @@ func rewriteValuePPC64_OpAtomicOr8_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicOr8 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicOr8)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1106,10 +1081,9 @@ func rewriteValuePPC64_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore32 [1] ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicStore32)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -1123,10 +1097,9 @@ func rewriteValuePPC64_OpAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore64 [1] ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicStore64)
                v.AuxInt = 1
                v.AddArg(ptr)
@@ -1140,10 +1113,9 @@ func rewriteValuePPC64_OpAtomicStoreRel32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicStore32 [0] ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredAtomicStore32)
                v.AuxInt = 0
                v.AddArg(ptr)
@@ -1159,9 +1131,8 @@ func rewriteValuePPC64_OpAvg64u_0(v *Value) bool {
        // result: (ADD (SRDconst <t> (SUB <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ADD)
                v0 := b.NewValue0(v.Pos, OpPPC64SRDconst, t)
                v0.AuxInt = 1
@@ -1227,10 +1198,9 @@ func rewriteValuePPC64_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64CALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1379,9 +1349,8 @@ func rewriteValuePPC64_OpCopysign_0(v *Value) bool {
        // cond:
        // result: (FCPSGN y x)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FCPSGN)
                v.AddArg(y)
                v.AddArg(x)
@@ -1646,9 +1615,8 @@ func rewriteValuePPC64_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (DIVW (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -1666,9 +1634,8 @@ func rewriteValuePPC64_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVWU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -1684,9 +1651,8 @@ func rewriteValuePPC64_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (DIVW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVW)
                v.AddArg(x)
                v.AddArg(y)
@@ -1698,9 +1664,8 @@ func rewriteValuePPC64_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (FDIVS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FDIVS)
                v.AddArg(x)
                v.AddArg(y)
@@ -1712,9 +1677,8 @@ func rewriteValuePPC64_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (DIVWU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1726,9 +1690,8 @@ func rewriteValuePPC64_OpDiv64_0(v *Value) bool {
        // cond:
        // result: (DIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -1740,9 +1703,8 @@ func rewriteValuePPC64_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (FDIV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FDIV)
                v.AddArg(x)
                v.AddArg(y)
@@ -1754,9 +1716,8 @@ func rewriteValuePPC64_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (DIVDU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVDU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1770,9 +1731,8 @@ func rewriteValuePPC64_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (DIVW (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -1790,9 +1750,8 @@ func rewriteValuePPC64_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64DIVWU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -1810,9 +1769,8 @@ func rewriteValuePPC64_OpEq16_0(v *Value) bool {
        // cond: isSigned(x.Type) && isSigned(y.Type)
        // result: (Equal (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(isSigned(x.Type) && isSigned(y.Type)) {
                        break
                }
@@ -1831,9 +1789,8 @@ func rewriteValuePPC64_OpEq16_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -1852,9 +1809,8 @@ func rewriteValuePPC64_OpEq32_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -1869,9 +1825,8 @@ func rewriteValuePPC64_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (Equal (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -1886,9 +1841,8 @@ func rewriteValuePPC64_OpEq64_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -1903,9 +1857,8 @@ func rewriteValuePPC64_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (Equal (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -1921,9 +1874,8 @@ func rewriteValuePPC64_OpEq8_0(v *Value) bool {
        // cond: isSigned(x.Type) && isSigned(y.Type)
        // result: (Equal (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(isSigned(x.Type) && isSigned(y.Type)) {
                        break
                }
@@ -1942,9 +1894,8 @@ func rewriteValuePPC64_OpEq8_0(v *Value) bool {
        // cond:
        // result: (Equal (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -1964,9 +1915,8 @@ func rewriteValuePPC64_OpEqB_0(v *Value) bool {
        // cond:
        // result: (ANDconst [1] (EQV x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64ANDconst)
                v.AuxInt = 1
                v0 := b.NewValue0(v.Pos, OpPPC64EQV, typ.Int64)
@@ -1982,9 +1932,8 @@ func rewriteValuePPC64_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (Equal (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64Equal)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -2011,9 +1960,8 @@ func rewriteValuePPC64_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -2033,9 +1981,8 @@ func rewriteValuePPC64_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPWU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -2054,9 +2001,8 @@ func rewriteValuePPC64_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -2071,9 +2017,8 @@ func rewriteValuePPC64_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (FGreaterEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2088,9 +2033,8 @@ func rewriteValuePPC64_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v0.AddArg(x)
@@ -2105,9 +2049,8 @@ func rewriteValuePPC64_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -2122,9 +2065,8 @@ func rewriteValuePPC64_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (FGreaterEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FGreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2139,9 +2081,8 @@ func rewriteValuePPC64_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2157,9 +2098,8 @@ func rewriteValuePPC64_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -2179,9 +2119,8 @@ func rewriteValuePPC64_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (GreaterEqual (CMPWU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -2228,9 +2167,8 @@ func rewriteValuePPC64_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -2250,9 +2188,8 @@ func rewriteValuePPC64_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPWU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -2271,9 +2208,8 @@ func rewriteValuePPC64_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -2288,9 +2224,8 @@ func rewriteValuePPC64_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (FGreaterThan (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FGreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2305,9 +2240,8 @@ func rewriteValuePPC64_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v0.AddArg(x)
@@ -2322,9 +2256,8 @@ func rewriteValuePPC64_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -2339,9 +2272,8 @@ func rewriteValuePPC64_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (FGreaterThan (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FGreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2356,9 +2288,8 @@ func rewriteValuePPC64_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2374,9 +2305,8 @@ func rewriteValuePPC64_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -2396,9 +2326,8 @@ func rewriteValuePPC64_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (GreaterThan (CMPWU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64GreaterThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -2416,9 +2345,8 @@ func rewriteValuePPC64_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (MULHW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULHW)
                v.AddArg(x)
                v.AddArg(y)
@@ -2430,9 +2358,8 @@ func rewriteValuePPC64_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (MULHWU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULHWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2444,9 +2371,8 @@ func rewriteValuePPC64_OpHmul64_0(v *Value) bool {
        // cond:
        // result: (MULHD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULHD)
                v.AddArg(x)
                v.AddArg(y)
@@ -2458,9 +2384,8 @@ func rewriteValuePPC64_OpHmul64u_0(v *Value) bool {
        // cond:
        // result: (MULHDU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULHDU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2473,9 +2398,8 @@ func rewriteValuePPC64_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpPPC64CALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -2489,9 +2413,8 @@ func rewriteValuePPC64_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(idx)
@@ -2521,9 +2444,8 @@ func rewriteValuePPC64_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(idx)
@@ -2539,9 +2461,8 @@ func rewriteValuePPC64_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -2561,9 +2482,8 @@ func rewriteValuePPC64_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPWU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -2582,9 +2502,8 @@ func rewriteValuePPC64_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -2599,9 +2518,8 @@ func rewriteValuePPC64_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (FLessEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FLessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2616,9 +2534,8 @@ func rewriteValuePPC64_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v0.AddArg(x)
@@ -2633,9 +2550,8 @@ func rewriteValuePPC64_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -2650,9 +2566,8 @@ func rewriteValuePPC64_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (FLessEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FLessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2667,9 +2582,8 @@ func rewriteValuePPC64_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2685,9 +2599,8 @@ func rewriteValuePPC64_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -2707,9 +2620,8 @@ func rewriteValuePPC64_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (LessEqual (CMPWU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -2729,9 +2641,8 @@ func rewriteValuePPC64_OpLess16_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
@@ -2751,9 +2662,8 @@ func rewriteValuePPC64_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPWU (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -2772,9 +2682,8 @@ func rewriteValuePPC64_OpLess32_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -2789,9 +2698,8 @@ func rewriteValuePPC64_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (FLessThan (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FLessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2806,9 +2714,8 @@ func rewriteValuePPC64_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v0.AddArg(x)
@@ -2823,9 +2730,8 @@ func rewriteValuePPC64_OpLess64_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -2840,9 +2746,8 @@ func rewriteValuePPC64_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (FLessThan (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FLessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2857,9 +2762,8 @@ func rewriteValuePPC64_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -2875,9 +2779,8 @@ func rewriteValuePPC64_OpLess8_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
@@ -2897,9 +2800,8 @@ func rewriteValuePPC64_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (LessThan (CMPWU (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LessThan)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -2920,9 +2822,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) || isPtr(t)) {
                        break
                }
@@ -2936,9 +2837,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2952,9 +2852,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVWZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -2968,9 +2867,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -2984,9 +2882,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVHZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -3000,9 +2897,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVBZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean()) {
                        break
                }
@@ -3016,9 +2912,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVBreg (MOVBZload ptr mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -3034,9 +2929,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (MOVBZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -3050,9 +2944,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (FMOVSload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -3066,9 +2959,8 @@ func rewriteValuePPC64_OpLoad_0(v *Value) bool {
        // result: (FMOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -3100,9 +2992,8 @@ func rewriteValuePPC64_OpLsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3115,9 +3006,8 @@ func rewriteValuePPC64_OpLsh16x16_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3179,9 +3069,8 @@ func rewriteValuePPC64_OpLsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3194,9 +3083,8 @@ func rewriteValuePPC64_OpLsh16x32_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3275,9 +3163,8 @@ func rewriteValuePPC64_OpLsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3290,9 +3177,8 @@ func rewriteValuePPC64_OpLsh16x64_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3314,9 +3200,8 @@ func rewriteValuePPC64_OpLsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3329,9 +3214,8 @@ func rewriteValuePPC64_OpLsh16x8_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3355,9 +3239,8 @@ func rewriteValuePPC64_OpLsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3370,9 +3253,8 @@ func rewriteValuePPC64_OpLsh32x16_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3434,9 +3316,8 @@ func rewriteValuePPC64_OpLsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3449,9 +3330,8 @@ func rewriteValuePPC64_OpLsh32x32_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3530,9 +3410,8 @@ func rewriteValuePPC64_OpLsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3578,7 +3457,7 @@ func rewriteValuePPC64_OpLsh32x64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -3586,7 +3465,6 @@ func rewriteValuePPC64_OpLsh32x64_0(v *Value) bool {
                if v_1_0.AuxInt != 31 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
@@ -3624,9 +3502,8 @@ func rewriteValuePPC64_OpLsh32x64_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3648,9 +3525,8 @@ func rewriteValuePPC64_OpLsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3663,9 +3539,8 @@ func rewriteValuePPC64_OpLsh32x8_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3689,9 +3564,8 @@ func rewriteValuePPC64_OpLsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3704,9 +3578,8 @@ func rewriteValuePPC64_OpLsh64x16_0(v *Value) bool {
        // cond:
        // result: (SLD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3768,9 +3641,8 @@ func rewriteValuePPC64_OpLsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3783,9 +3655,8 @@ func rewriteValuePPC64_OpLsh64x32_0(v *Value) bool {
        // cond:
        // result: (SLD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3864,9 +3735,8 @@ func rewriteValuePPC64_OpLsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3912,7 +3782,7 @@ func rewriteValuePPC64_OpLsh64x64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -3920,7 +3790,6 @@ func rewriteValuePPC64_OpLsh64x64_0(v *Value) bool {
                if v_1_0.AuxInt != 63 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
@@ -3958,9 +3827,8 @@ func rewriteValuePPC64_OpLsh64x64_0(v *Value) bool {
        // cond:
        // result: (SLD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -3982,9 +3850,8 @@ func rewriteValuePPC64_OpLsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3997,9 +3864,8 @@ func rewriteValuePPC64_OpLsh64x8_0(v *Value) bool {
        // cond:
        // result: (SLD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -4023,9 +3889,8 @@ func rewriteValuePPC64_OpLsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4038,9 +3903,8 @@ func rewriteValuePPC64_OpLsh8x16_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -4102,9 +3966,8 @@ func rewriteValuePPC64_OpLsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4117,9 +3980,8 @@ func rewriteValuePPC64_OpLsh8x32_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -4198,9 +4060,8 @@ func rewriteValuePPC64_OpLsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4213,9 +4074,8 @@ func rewriteValuePPC64_OpLsh8x64_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -4237,9 +4097,8 @@ func rewriteValuePPC64_OpLsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4252,9 +4111,8 @@ func rewriteValuePPC64_OpLsh8x8_0(v *Value) bool {
        // cond:
        // result: (SLW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -4278,9 +4136,8 @@ func rewriteValuePPC64_OpMod16_0(v *Value) bool {
        // cond:
        // result: (Mod32 (SignExt16to32 x) (SignExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -4298,9 +4155,8 @@ func rewriteValuePPC64_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (Mod32u (ZeroExt16to32 x) (ZeroExt16to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -4318,9 +4174,8 @@ func rewriteValuePPC64_OpMod32_0(v *Value) bool {
        // cond:
        // result: (SUB x (MULLW y (DIVW x y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32)
@@ -4340,9 +4195,8 @@ func rewriteValuePPC64_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (SUB x (MULLW y (DIVWU x y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32)
@@ -4362,9 +4216,8 @@ func rewriteValuePPC64_OpMod64_0(v *Value) bool {
        // cond:
        // result: (SUB x (MULLD y (DIVD x y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64)
@@ -4384,9 +4237,8 @@ func rewriteValuePPC64_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (SUB x (MULLD y (DIVDU x y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64)
@@ -4406,9 +4258,8 @@ func rewriteValuePPC64_OpMod8_0(v *Value) bool {
        // cond:
        // result: (Mod32 (SignExt8to32 x) (SignExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -4426,9 +4277,8 @@ func rewriteValuePPC64_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (Mod32u (ZeroExt8to32 x) (ZeroExt8to32 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpMod32u)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -4449,7 +4299,6 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -4463,10 +4312,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
@@ -4483,10 +4331,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16)
@@ -4503,10 +4350,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
@@ -4524,10 +4370,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -4547,10 +4392,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -4576,10 +4420,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -4605,10 +4448,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -4634,10 +4476,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -4663,10 +4504,9 @@ func rewriteValuePPC64_OpMove_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 6
                v.AddArg(dst)
@@ -4702,10 +4542,9 @@ func rewriteValuePPC64_OpMove_10(v *Value) bool {
        // result: (LoweredMove [s] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 8) {
                        break
                }
@@ -4723,9 +4562,8 @@ func rewriteValuePPC64_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4737,9 +4575,8 @@ func rewriteValuePPC64_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4751,9 +4588,8 @@ func rewriteValuePPC64_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (FMULS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -4765,9 +4601,8 @@ func rewriteValuePPC64_OpMul64_0(v *Value) bool {
        // cond:
        // result: (MULLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULLD)
                v.AddArg(x)
                v.AddArg(y)
@@ -4779,9 +4614,8 @@ func rewriteValuePPC64_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (FMUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -4793,9 +4627,8 @@ func rewriteValuePPC64_OpMul64uhilo_0(v *Value) bool {
        // cond:
        // result: (LoweredMuluhilo x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64LoweredMuluhilo)
                v.AddArg(x)
                v.AddArg(y)
@@ -4807,9 +4640,8 @@ func rewriteValuePPC64_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64MULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4889,9 +4721,8 @@ func rewriteValuePPC64_OpNeq16_0(v *Value) bool {
        // cond: isSigned(x.Type) && isSigned(y.Type)
        // result: (NotEqual (CMPW (SignExt16to32 x) (SignExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(isSigned(x.Type) && isSigned(y.Type)) {
                        break
                }
@@ -4910,9 +4741,8 @@ func rewriteValuePPC64_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW (ZeroExt16to32 x) (ZeroExt16to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
@@ -4931,9 +4761,8 @@ func rewriteValuePPC64_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v0.AddArg(x)
@@ -4948,9 +4777,8 @@ func rewriteValuePPC64_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -4965,9 +4793,8 @@ func rewriteValuePPC64_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -4982,9 +4809,8 @@ func rewriteValuePPC64_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (NotEqual (FCMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
                v0.AddArg(x)
@@ -5000,9 +4826,8 @@ func rewriteValuePPC64_OpNeq8_0(v *Value) bool {
        // cond: isSigned(x.Type) && isSigned(y.Type)
        // result: (NotEqual (CMPW (SignExt8to32 x) (SignExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(isSigned(x.Type) && isSigned(y.Type)) {
                        break
                }
@@ -5021,9 +4846,8 @@ func rewriteValuePPC64_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMPW (ZeroExt8to32 x) (ZeroExt8to32 y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
                v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
@@ -5041,9 +4865,8 @@ func rewriteValuePPC64_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5056,9 +4879,8 @@ func rewriteValuePPC64_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (NotEqual (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64NotEqual)
                v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
                v0.AddArg(x)
@@ -5072,9 +4894,8 @@ func rewriteValuePPC64_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -5115,9 +4936,8 @@ func rewriteValuePPC64_OpOr16_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5129,9 +4949,8 @@ func rewriteValuePPC64_OpOr32_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5143,9 +4962,8 @@ func rewriteValuePPC64_OpOr64_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5157,9 +4975,8 @@ func rewriteValuePPC64_OpOr8_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5171,9 +4988,8 @@ func rewriteValuePPC64_OpOrB_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64OR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5566,13 +5382,12 @@ func rewriteValuePPC64_OpPPC64ADD_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -5647,9 +5462,8 @@ func rewriteValuePPC64_OpPPC64AND_0(v *Value) bool {
                if v_1.Op != OpPPC64NOR {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
-               if y != v_1.Args[1] {
+               y := v_1.Args[1]
+               if y != v_1.Args[0] {
                        break
                }
                v.reset(OpPPC64ANDN)
@@ -5661,17 +5475,15 @@ func rewriteValuePPC64_OpPPC64AND_0(v *Value) bool {
        // cond:
        // result: (ANDN x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64NOR {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
-               if y != v_0.Args[1] {
+               y := v_0.Args[1]
+               if y != v_0.Args[0] {
                        break
                }
-               x := v.Args[1]
                v.reset(OpPPC64ANDN)
                v.AddArg(x)
                v.AddArg(y)
@@ -5738,13 +5550,12 @@ func rewriteValuePPC64_OpPPC64AND_0(v *Value) bool {
        // cond: isU16Bit(c)
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU16Bit(c)) {
                        break
                }
@@ -6151,13 +5962,12 @@ func rewriteValuePPC64_OpPPC64CMP_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (InvertFlags (CMPconst y [c]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               y := v.Args[1]
                if !(is16Bit(c)) {
                        break
                }
@@ -6195,13 +6005,12 @@ func rewriteValuePPC64_OpPPC64CMPU_0(v *Value) bool {
        // cond: isU16Bit(c)
        // result: (InvertFlags (CMPUconst y [c]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               y := v.Args[1]
                if !(isU16Bit(c)) {
                        break
                }
@@ -6287,13 +6096,12 @@ func rewriteValuePPC64_OpPPC64CMPW_0(v *Value) bool {
        // cond:
        // result: (CMPW x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpPPC64CMPW)
                v.AddArg(x)
                v.AddArg(y)
@@ -6322,13 +6130,12 @@ func rewriteValuePPC64_OpPPC64CMPW_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (InvertFlags (CMPWconst y [c]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               y := v.Args[1]
                if !(is16Bit(c)) {
                        break
                }
@@ -6363,13 +6170,12 @@ func rewriteValuePPC64_OpPPC64CMPWU_0(v *Value) bool {
        // cond:
        // result: (CMPWU x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpPPC64CMPWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -6398,13 +6204,12 @@ func rewriteValuePPC64_OpPPC64CMPWU_0(v *Value) bool {
        // cond: isU16Bit(c)
        // result: (InvertFlags (CMPWUconst y [c]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               y := v.Args[1]
                if !(isU16Bit(c)) {
                        break
                }
@@ -6643,15 +6448,13 @@ func rewriteValuePPC64_OpPPC64FADD_0(v *Value) bool {
        // cond:
        // result: (FMADD x y z)
        for {
-               = v.Args[1]
+               z := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64FMUL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               z := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpPPC64FMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6668,9 +6471,8 @@ func rewriteValuePPC64_OpPPC64FADD_0(v *Value) bool {
                if v_1.Op != OpPPC64FMUL {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpPPC64FMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -6684,15 +6486,13 @@ func rewriteValuePPC64_OpPPC64FADDS_0(v *Value) bool {
        // cond:
        // result: (FMADDS x y z)
        for {
-               = v.Args[1]
+               z := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64FMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               z := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpPPC64FMADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6709,9 +6509,8 @@ func rewriteValuePPC64_OpPPC64FADDS_0(v *Value) bool {
                if v_1.Op != OpPPC64FMULS {
                        break
                }
-               _ = v_1.Args[1]
-               x := v_1.Args[0]
                y := v_1.Args[1]
+               x := v_1.Args[0]
                v.reset(OpPPC64FMADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -6786,7 +6585,7 @@ func rewriteValuePPC64_OpPPC64FMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -6794,7 +6593,6 @@ func rewriteValuePPC64_OpPPC64FMOVDload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -6811,14 +6609,13 @@ func rewriteValuePPC64_OpPPC64FMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -6838,14 +6635,13 @@ func rewriteValuePPC64_OpPPC64FMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MTVSRD {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVDstore)
                v.AuxInt = off
                v.Aux = sym
@@ -6860,7 +6656,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -6868,7 +6664,6 @@ func rewriteValuePPC64_OpPPC64FMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -6886,7 +6681,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -6895,7 +6690,6 @@ func rewriteValuePPC64_OpPPC64FMOVDstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -6916,7 +6710,7 @@ func rewriteValuePPC64_OpPPC64FMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -6924,7 +6718,6 @@ func rewriteValuePPC64_OpPPC64FMOVSload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -6941,14 +6734,13 @@ func rewriteValuePPC64_OpPPC64FMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -6968,7 +6760,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -6976,7 +6768,6 @@ func rewriteValuePPC64_OpPPC64FMOVSstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -6994,7 +6785,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -7003,7 +6794,6 @@ func rewriteValuePPC64_OpPPC64FMOVSstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -7067,15 +6857,13 @@ func rewriteValuePPC64_OpPPC64FSUB_0(v *Value) bool {
        // cond:
        // result: (FMSUB x y z)
        for {
-               = v.Args[1]
+               z := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64FMUL {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               z := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpPPC64FMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -7089,15 +6877,13 @@ func rewriteValuePPC64_OpPPC64FSUBS_0(v *Value) bool {
        // cond:
        // result: (FMSUBS x y z)
        for {
-               = v.Args[1]
+               z := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64FMULS {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               z := v.Args[1]
+               x := v_0.Args[0]
                v.reset(OpPPC64FMSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -7356,9 +7142,8 @@ func rewriteValuePPC64_OpPPC64MFVSRD_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -7381,7 +7166,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -7389,7 +7174,6 @@ func rewriteValuePPC64_OpPPC64MOVBZload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -7406,14 +7190,13 @@ func rewriteValuePPC64_OpPPC64MOVBZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -7432,15 +7215,13 @@ func rewriteValuePPC64_OpPPC64MOVBZload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -7457,14 +7238,13 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVBZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -7478,14 +7258,13 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVBZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -7880,7 +7659,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -7888,7 +7667,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                x := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -7906,7 +7684,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -7915,7 +7693,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -7933,7 +7710,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -7942,7 +7719,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -7956,16 +7732,14 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
+               ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil && p.Uses == 1) {
                        break
                }
@@ -7982,14 +7756,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8004,14 +7777,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVBZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8026,14 +7798,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8048,14 +7819,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8070,14 +7840,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8092,14 +7861,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -8120,7 +7888,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64SRWconst {
@@ -8132,7 +7900,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                        break
                }
                x := v_1_0.Args[0]
-               mem := v.Args[2]
                if !(c <= 8) {
                        break
                }
@@ -8153,7 +7920,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64SRWconst {
@@ -8165,7 +7932,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                        break
                }
                x := v_1_0.Args[0]
-               mem := v.Args[2]
                if !(c <= 8) {
                        break
                }
@@ -8186,7 +7952,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64SRWconst {
@@ -8198,7 +7964,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                        break
                }
                x := v_1_0.Args[0]
-               mem := v.Args[2]
                if !(c <= 24) {
                        break
                }
@@ -8219,7 +7984,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64SRWconst {
@@ -8231,7 +7996,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                        break
                }
                x := v_1_0.Args[0]
-               mem := v.Args[2]
                if !(c <= 24) {
                        break
                }
@@ -8270,7 +8034,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -8284,7 +8048,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+1 && clobber(x0)) {
                        break
                }
@@ -8323,7 +8086,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -8337,7 +8100,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+1 && clobber(x0)) {
                        break
                }
@@ -8376,14 +8138,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
                if w != x0.Args[1] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+1 && clobber(x0)) {
                        break
                }
@@ -8419,14 +8180,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
                if w != x0.Args[1] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+1 && clobber(x0)) {
                        break
                }
@@ -8499,7 +8259,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x2.Aux != s {
                        break
                }
-               = x2.Args[2]
+               mem := x2.Args[2]
                if p != x2.Args[0] {
                        break
                }
@@ -8513,7 +8273,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if w != x2_1.Args[0] {
                        break
                }
-               mem := x2.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && i1 == i0+1 && i2 == i0+2 && i3 == i0+3 && clobber(x0) && clobber(x1) && clobber(x2)) {
                        break
                }
@@ -8544,7 +8303,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
@@ -8558,7 +8317,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_10(v *Value) bool {
                if w != x0_1.Args[0] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+1 && clobber(x0)) {
                        break
                }
@@ -8668,14 +8426,13 @@ func rewriteValuePPC64_OpPPC64MOVBstore_20(v *Value) bool {
                if x3.Aux != s {
                        break
                }
-               = x3.Args[2]
+               mem := x3.Args[2]
                if p != x3.Args[0] {
                        break
                }
                if w != x3.Args[1] {
                        break
                }
-               mem := x3.Args[2]
                if !(!config.BigEndian && i0%4 == 0 && x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && i4 == i0+4 && i5 == i0+5 && i6 == i0+6 && i7 == i0+7 && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3)) {
                        break
                }
@@ -8836,7 +8593,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore_20(v *Value) bool {
                if x6.Aux != s {
                        break
                }
-               = x6.Args[2]
+               mem := x6.Args[2]
                if p != x6.Args[0] {
                        break
                }
@@ -8850,7 +8607,6 @@ func rewriteValuePPC64_OpPPC64MOVBstore_20(v *Value) bool {
                if w != x6_1.Args[0] {
                        break
                }
-               mem := x6.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && x1.Uses == 1 && x2.Uses == 1 && x3.Uses == 1 && x4.Uses == 1 && x5.Uses == 1 && x6.Uses == 1 && i1 == i0+1 && i2 == i0+2 && i3 == i0+3 && i4 == i0+4 && i5 == i0+5 && i6 == i0+6 && i7 == i0+7 && clobber(x0) && clobber(x1) && clobber(x2) && clobber(x3) && clobber(x4) && clobber(x5) && clobber(x6)) {
                        break
                }
@@ -8873,7 +8629,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVBstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -8881,7 +8637,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -8896,7 +8651,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVBstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
@@ -8904,7 +8659,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -8921,7 +8675,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -8929,7 +8683,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -8945,7 +8698,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -8953,7 +8706,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -8969,7 +8721,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -8977,7 +8729,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -8993,7 +8744,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9001,7 +8752,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -9017,7 +8767,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9025,7 +8775,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -9041,7 +8790,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9049,7 +8798,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVBstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -9065,7 +8813,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9078,7 +8826,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2_0.Args[0]
-               mem := v.Args[3]
                if !(c <= 8) {
                        break
                }
@@ -9100,7 +8847,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9113,7 +8860,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2_0.Args[0]
-               mem := v.Args[3]
                if !(c <= 8) {
                        break
                }
@@ -9140,7 +8886,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9153,7 +8899,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_10(v *Value) bool {
                        break
                }
                x := v_2_0.Args[0]
-               mem := v.Args[3]
                if !(c <= 24) {
                        break
                }
@@ -9175,7 +8920,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_10(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -9188,7 +8933,6 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx_10(v *Value) bool {
                        break
                }
                x := v_2_0.Args[0]
-               mem := v.Args[3]
                if !(c <= 24) {
                        break
                }
@@ -9213,14 +8957,13 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -9237,7 +8980,7 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -9245,7 +8988,6 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                x := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (x.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -9292,7 +9034,7 @@ func rewriteValuePPC64_OpPPC64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -9300,7 +9042,6 @@ func rewriteValuePPC64_OpPPC64MOVDload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -9317,14 +9058,13 @@ func rewriteValuePPC64_OpPPC64MOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -9343,15 +9083,13 @@ func rewriteValuePPC64_OpPPC64MOVDload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -9368,14 +9106,13 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -9389,14 +9126,13 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVDload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -9415,14 +9151,13 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MFVSRD {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64FMOVDstore)
                v.AuxInt = off
                v.Aux = sym
@@ -9437,7 +9172,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -9445,7 +9180,6 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                x := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -9463,7 +9197,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -9472,7 +9206,6 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -9490,7 +9223,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -9499,7 +9232,6 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpPPC64MOVDstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -9513,16 +9245,14 @@ func rewriteValuePPC64_OpPPC64MOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
+               ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil && p.Uses == 1) {
                        break
                }
@@ -9540,7 +9270,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVDstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -9548,7 +9278,6 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -9563,7 +9292,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVDstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
@@ -9571,7 +9300,6 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -9591,14 +9319,13 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -9615,7 +9342,7 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -9623,7 +9350,6 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                x := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (x.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -9642,14 +9368,13 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore_0(v *Value) bool {
        // result: (MOVHBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -9662,14 +9387,13 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore_0(v *Value) bool {
        // result: (MOVHBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -9682,14 +9406,13 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore_0(v *Value) bool {
        // result: (MOVHBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -9702,14 +9425,13 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore_0(v *Value) bool {
        // result: (MOVHBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -9726,7 +9448,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -9734,7 +9456,6 @@ func rewriteValuePPC64_OpPPC64MOVHZload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -9751,14 +9472,13 @@ func rewriteValuePPC64_OpPPC64MOVHZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -9777,15 +9497,13 @@ func rewriteValuePPC64_OpPPC64MOVHZload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -9802,14 +9520,13 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -9823,14 +9540,13 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -10109,7 +9825,7 @@ func rewriteValuePPC64_OpPPC64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -10117,7 +9833,6 @@ func rewriteValuePPC64_OpPPC64MOVHload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -10134,14 +9849,13 @@ func rewriteValuePPC64_OpPPC64MOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -10160,15 +9874,13 @@ func rewriteValuePPC64_OpPPC64MOVHload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -10185,14 +9897,13 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -10206,14 +9917,13 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -10488,7 +10198,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -10496,7 +10206,6 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                x := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -10514,7 +10223,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -10523,7 +10232,6 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -10541,7 +10249,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -10550,7 +10258,6 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -10564,16 +10271,14 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
+               ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil && p.Uses == 1) {
                        break
                }
@@ -10590,14 +10295,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -10612,14 +10316,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVHZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -10634,14 +10337,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -10656,14 +10358,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -10696,14 +10397,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
                if w != x0.Args[1] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+2 && clobber(x0)) {
                        break
                }
@@ -10739,14 +10439,13 @@ func rewriteValuePPC64_OpPPC64MOVHstore_0(v *Value) bool {
                if x0.Aux != s {
                        break
                }
-               = x0.Args[2]
+               mem := x0.Args[2]
                if p != x0.Args[0] {
                        break
                }
                if w != x0.Args[1] {
                        break
                }
-               mem := x0.Args[2]
                if !(!config.BigEndian && x0.Uses == 1 && i1 == i0+2 && clobber(x0)) {
                        break
                }
@@ -10765,7 +10464,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -10773,7 +10472,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -10788,7 +10486,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVHstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
@@ -10796,7 +10494,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -10813,7 +10510,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -10821,7 +10518,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVHstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -10837,7 +10533,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -10845,7 +10541,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVHstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -10861,7 +10556,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -10869,7 +10564,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVHstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -10885,7 +10579,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -10893,7 +10587,6 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVHstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -10912,14 +10605,13 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -10936,7 +10628,7 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -10944,7 +10636,6 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                x := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (x.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -10963,14 +10654,13 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore_0(v *Value) bool {
        // result: (MOVWBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -10983,14 +10673,13 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore_0(v *Value) bool {
        // result: (MOVWBRstore {sym} ptr x mem)
        for {
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWBRstore)
                v.Aux = sym
                v.AddArg(ptr)
@@ -11007,7 +10696,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -11015,7 +10704,6 @@ func rewriteValuePPC64_OpPPC64MOVWZload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -11032,14 +10720,13 @@ func rewriteValuePPC64_OpPPC64MOVWZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -11058,15 +10745,13 @@ func rewriteValuePPC64_OpPPC64MOVWZload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -11083,14 +10768,13 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -11104,14 +10788,13 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWZload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -11495,7 +11178,7 @@ func rewriteValuePPC64_OpPPC64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -11503,7 +11186,6 @@ func rewriteValuePPC64_OpPPC64MOVWload_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                ptr := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -11520,14 +11202,13 @@ func rewriteValuePPC64_OpPPC64MOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -11546,15 +11227,13 @@ func rewriteValuePPC64_OpPPC64MOVWload_0(v *Value) bool {
                        break
                }
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
-               mem := v.Args[1]
+               ptr := p.Args[0]
                if !(sym == nil && p.Uses == 1) {
                        break
                }
@@ -11571,14 +11250,13 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -11592,14 +11270,13 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWload [c] ptr mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(c)) {
                        break
                }
@@ -11942,7 +11619,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
@@ -11950,7 +11627,6 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                x := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -11968,7 +11644,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -11977,7 +11653,6 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
                sym2 := p.Aux
                ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(canMergeSym(sym1, sym2) && (ptr.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -11995,7 +11670,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -12004,7 +11679,6 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
                if v_1.AuxInt != 0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWstorezero)
                v.AuxInt = off
                v.Aux = sym
@@ -12018,16 +11692,14 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p := v.Args[0]
                if p.Op != OpPPC64ADD {
                        break
                }
-               _ = p.Args[1]
-               ptr := p.Args[0]
                idx := p.Args[1]
+               ptr := p.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(off == 0 && sym == nil && p.Uses == 1) {
                        break
                }
@@ -12044,14 +11716,13 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -12066,14 +11737,13 @@ func rewriteValuePPC64_OpPPC64MOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpPPC64MOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -12089,7 +11759,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpPPC64MOVDconst {
@@ -12097,7 +11767,6 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
                }
                c := v_1.AuxInt
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -12112,7 +11781,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
        // cond: is16Bit(c)
        // result: (MOVWstore [c] ptr val mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
@@ -12120,7 +11789,6 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
                c := v_0.AuxInt
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is16Bit(c)) {
                        break
                }
@@ -12137,7 +11805,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12145,7 +11813,6 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVWstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -12161,7 +11828,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                idx := v.Args[1]
                v_2 := v.Args[2]
@@ -12169,7 +11836,6 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx_0(v *Value) bool {
                        break
                }
                x := v_2.Args[0]
-               mem := v.Args[3]
                v.reset(OpPPC64MOVWstoreidx)
                v.AuxInt = off
                v.Aux = sym
@@ -12188,14 +11854,13 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64ADDconst {
                        break
                }
                off2 := v_0.AuxInt
                x := v_0.Args[0]
-               mem := v.Args[1]
                if !(is16Bit(off1 + off2)) {
                        break
                }
@@ -12212,7 +11877,7 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                p := v.Args[0]
                if p.Op != OpPPC64MOVDaddr {
                        break
@@ -12220,7 +11885,6 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero_0(v *Value) bool {
                off2 := p.AuxInt
                sym2 := p.Aux
                x := p.Args[0]
-               mem := v.Args[1]
                if !(canMergeSym(sym1, sym2) && (x.Op != OpSB || p.Uses == 1)) {
                        break
                }
@@ -12259,9 +11923,8 @@ func rewriteValuePPC64_OpPPC64MTVSRD_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12783,13 +12446,12 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
        // cond: isU32Bit(c)
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU32Bit(c)) {
                        break
                }
@@ -12810,9 +12472,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o1 := v.Args[1]
                if o1.Op != OpPPC64SLWconst {
                        break
@@ -12867,9 +12528,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpPPC64MOVBZload {
                        break
@@ -12910,9 +12570,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o1 := v.Args[1]
                if o1.Op != OpPPC64SLDconst {
                        break
@@ -12967,9 +12626,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpPPC64MOVBZload {
                        break
@@ -13010,9 +12668,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i1 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o1 := v.Args[1]
                if o1.Op != OpPPC64SLWconst {
                        break
@@ -13069,9 +12726,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i0 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpPPC64MOVBZload {
                        break
@@ -13114,9 +12770,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i1 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o1 := v.Args[1]
                if o1.Op != OpPPC64SLDconst {
                        break
@@ -13173,9 +12828,8 @@ func rewriteValuePPC64_OpPPC64OR_10(v *Value) bool {
                }
                i0 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpPPC64MOVBZload {
                        break
@@ -13229,9 +12883,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i1 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpPPC64SLWconst {
                        break
@@ -13287,9 +12940,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i0 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpPPC64SLWconst {
                        break
@@ -13345,9 +12997,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i1 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpPPC64SLDconst {
                        break
@@ -13403,9 +13054,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i0 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -13463,9 +13113,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -13543,9 +13192,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -13631,9 +13279,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := o0.Args[1]
                if x0.Op != OpPPC64MOVHZload {
                        break
@@ -13704,9 +13351,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLWconst {
                        break
@@ -13783,9 +13429,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -13863,9 +13508,8 @@ func rewriteValuePPC64_OpPPC64OR_20(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -13957,9 +13601,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := o0.Args[1]
                if x0.Op != OpPPC64MOVHZload {
                        break
@@ -14030,9 +13673,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -14109,9 +13751,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -14201,9 +13842,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -14301,9 +13941,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := o0.Args[1]
                if x0.Op != OpPPC64MOVHBRload {
                        break
@@ -14387,7 +14026,7 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                if x0.Type != t {
                        break
                }
-               = x0.Args[1]
+               mem := x0.Args[1]
                x0_0 := x0.Args[0]
                if x0_0.Op != OpPPC64MOVDaddr {
                        break
@@ -14398,7 +14037,6 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                i2 := x0_0.AuxInt
                s := x0_0.Aux
                p := x0_0.Args[0]
-               mem := x0.Args[1]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLWconst {
                        break
@@ -14477,9 +14115,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -14569,9 +14206,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -14669,9 +14305,8 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := o0.Args[1]
                if x0.Op != OpPPC64MOVHBRload {
                        break
@@ -14755,7 +14390,7 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                if x0.Type != t {
                        break
                }
-               = x0.Args[1]
+               mem := x0.Args[1]
                x0_0 := x0.Args[0]
                if x0_0.Op != OpPPC64MOVDaddr {
                        break
@@ -14766,7 +14401,6 @@ func rewriteValuePPC64_OpPPC64OR_30(v *Value) bool {
                i2 := x0_0.AuxInt
                s := x0_0.Aux
                p := x0_0.Args[0]
-               mem := x0.Args[1]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -14844,9 +14478,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -14936,9 +14569,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -15043,9 +14675,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s1 := o0.Args[1]
                if s1.Op != OpPPC64SLWconst {
                        break
@@ -15136,7 +14767,7 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                if x2.Type != t {
                        break
                }
-               = x2.Args[1]
+               mem := x2.Args[1]
                x2_0 := x2.Args[0]
                if x2_0.Op != OpPPC64MOVDaddr {
                        break
@@ -15147,7 +14778,6 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                i0 := x2_0.AuxInt
                s := x2_0.Aux
                p := x2_0.Args[0]
-               mem := x2.Args[1]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLWconst {
                        break
@@ -15212,9 +14842,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -15304,9 +14933,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -15411,9 +15039,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s1 := o0.Args[1]
                if s1.Op != OpPPC64SLDconst {
                        break
@@ -15504,7 +15131,7 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                if x2.Type != t {
                        break
                }
-               = x2.Args[1]
+               mem := x2.Args[1]
                x2_0 := x2.Args[0]
                if x2_0.Op != OpPPC64MOVDaddr {
                        break
@@ -15515,7 +15142,6 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                i0 := x2_0.AuxInt
                s := x2_0.Aux
                p := x2_0.Args[0]
-               mem := x2.Args[1]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -15587,9 +15213,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -15689,9 +15314,8 @@ func rewriteValuePPC64_OpPPC64OR_40(v *Value) bool {
                }
                i3 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -15805,9 +15429,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i2 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -15908,7 +15531,7 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                if x0.Type != t {
                        break
                }
-               = x0.Args[1]
+               mem := x0.Args[1]
                x0_0 := x0.Args[0]
                if x0_0.Op != OpPPC64MOVDaddr {
                        break
@@ -15919,7 +15542,6 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                i0 := x0_0.AuxInt
                s := x0_0.Aux
                p := x0_0.Args[0]
-               mem := x0.Args[1]
                s1 := o0.Args[1]
                if s1.Op != OpPPC64SLDconst {
                        break
@@ -16001,9 +15623,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -16103,9 +15724,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i0 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -16213,9 +15833,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := o0.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -16316,7 +15935,7 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                if x0.Type != t {
                        break
                }
-               = x0.Args[1]
+               mem := x0.Args[1]
                x0_0 := x0.Args[0]
                if x0_0.Op != OpPPC64MOVDaddr {
                        break
@@ -16327,7 +15946,6 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                i2 := x0_0.AuxInt
                s := x0_0.Aux
                p := x0_0.Args[0]
-               mem := x0.Args[1]
                s1 := o0.Args[1]
                if s1.Op != OpPPC64SLDconst {
                        break
@@ -16409,9 +16027,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -16549,9 +16166,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -16689,9 +16305,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -16829,9 +16444,8 @@ func rewriteValuePPC64_OpPPC64OR_50(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -16974,9 +16588,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -17114,9 +16727,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -17254,9 +16866,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -17394,9 +17005,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -17542,9 +17152,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -17682,9 +17291,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -17822,9 +17430,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -17962,9 +17569,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -18110,9 +17716,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -18250,9 +17855,8 @@ func rewriteValuePPC64_OpPPC64OR_60(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -18404,9 +18008,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i4 := x4.AuxInt
                s := x4.Aux
-               _ = x4.Args[1]
-               p := x4.Args[0]
                mem := x4.Args[1]
+               p := x4.Args[0]
                x0 := o3.Args[1]
                if x0.Op != OpPPC64MOVWZload {
                        break
@@ -18537,9 +18140,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s3 := o3.Args[1]
                if s3.Op != OpPPC64SLDconst {
                        break
@@ -18660,9 +18262,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -18809,9 +18410,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -18958,9 +18558,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19107,9 +18706,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19256,9 +18854,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19405,9 +19002,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19554,9 +19150,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19703,9 +19298,8 @@ func rewriteValuePPC64_OpPPC64OR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                o0 := v.Args[1]
                if o0.Op != OpPPC64OR {
                        break
@@ -19866,9 +19460,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                o1 := o0.Args[1]
                if o1.Op != OpPPC64OR {
                        break
@@ -20015,9 +19608,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                o1 := o0.Args[1]
                if o1.Op != OpPPC64OR {
                        break
@@ -20164,9 +19756,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                o1 := o0.Args[1]
                if o1.Op != OpPPC64OR {
                        break
@@ -20313,9 +19904,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                o1 := o0.Args[1]
                if o1.Op != OpPPC64OR {
                        break
@@ -20470,9 +20060,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i2 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o2 := o1.Args[1]
                if o2.Op != OpPPC64OR {
                        break
@@ -20619,9 +20208,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i2 := x2.AuxInt
                s := x2.Aux
-               _ = x2.Args[1]
-               p := x2.Args[0]
                mem := x2.Args[1]
+               p := x2.Args[0]
                o2 := o1.Args[1]
                if o2.Op != OpPPC64OR {
                        break
@@ -20776,9 +20364,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i3 := x3.AuxInt
                s := x3.Aux
-               _ = x3.Args[1]
-               p := x3.Args[0]
                mem := x3.Args[1]
+               p := x3.Args[0]
                x4 := o2.Args[1]
                if x4.Op != OpPPC64MOVWBRload {
                        break
@@ -20919,7 +20506,7 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                if x4.Type != t {
                        break
                }
-               = x4.Args[1]
+               mem := x4.Args[1]
                x4_0 := x4.Args[0]
                if x4_0.Op != OpPPC64MOVDaddr {
                        break
@@ -20929,7 +20516,6 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i4 := x4_0.AuxInt
                p := x4_0.Args[0]
-               mem := x4.Args[1]
                s3 := o2.Args[1]
                if s3.Op != OpPPC64SLDconst {
                        break
@@ -21043,9 +20629,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21195,9 +20780,8 @@ func rewriteValuePPC64_OpPPC64OR_80(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21353,9 +20937,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21505,9 +21088,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21657,9 +21239,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21809,9 +21390,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -21961,9 +21541,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -22113,9 +21692,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -22280,9 +21858,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -22432,9 +22009,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -22584,9 +22160,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -22736,9 +22311,8 @@ func rewriteValuePPC64_OpPPC64OR_90(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -22902,9 +22476,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -23054,9 +22627,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -23214,9 +22786,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i4 := x4.AuxInt
                s := x4.Aux
-               _ = x4.Args[1]
-               p := x4.Args[0]
                mem := x4.Args[1]
+               p := x4.Args[0]
                s0 := o3.Args[1]
                if s0.Op != OpPPC64SLWconst {
                        break
@@ -23367,7 +22938,7 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                if x3.Type != t {
                        break
                }
-               = x3.Args[1]
+               mem := x3.Args[1]
                x3_0 := x3.Args[0]
                if x3_0.Op != OpPPC64MOVDaddr {
                        break
@@ -23378,7 +22949,6 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                i0 := x3_0.AuxInt
                s := x3_0.Aux
                p := x3_0.Args[0]
-               mem := x3.Args[1]
                s4 := o3.Args[1]
                if s4.Op != OpPPC64SLDconst {
                        break
@@ -23487,9 +23057,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -23639,9 +23208,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -23791,9 +23359,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -23943,9 +23510,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -24095,9 +23661,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -24247,9 +23812,8 @@ func rewriteValuePPC64_OpPPC64OR_100(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -24405,9 +23969,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -24557,9 +24120,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i7 := x7.AuxInt
                s := x7.Aux
-               _ = x7.Args[1]
-               p := x7.Args[0]
                mem := x7.Args[1]
+               p := x7.Args[0]
                o5 := v.Args[1]
                if o5.Op != OpPPC64OR {
                        break
@@ -24724,9 +24286,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -24876,9 +24437,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -25028,9 +24588,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -25180,9 +24739,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i6 := x6.AuxInt
                s := x6.Aux
-               _ = x6.Args[1]
-               p := x6.Args[0]
                mem := x6.Args[1]
+               p := x6.Args[0]
                o4 := o5.Args[1]
                if o4.Op != OpPPC64OR {
                        break
@@ -25340,9 +24898,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -25492,9 +25049,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i5 := x5.AuxInt
                s := x5.Aux
-               _ = x5.Args[1]
-               p := x5.Args[0]
                mem := x5.Args[1]
+               p := x5.Args[0]
                o3 := o4.Args[1]
                if o3.Op != OpPPC64OR {
                        break
@@ -25652,9 +25208,8 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                }
                i4 := x4.AuxInt
                s := x4.Aux
-               _ = x4.Args[1]
-               p := x4.Args[0]
                mem := x4.Args[1]
+               p := x4.Args[0]
                s0 := o3.Args[1]
                if s0.Op != OpPPC64SLDconst {
                        break
@@ -25805,7 +25360,7 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                if x3.Type != t {
                        break
                }
-               = x3.Args[1]
+               mem := x3.Args[1]
                x3_0 := x3.Args[0]
                if x3_0.Op != OpPPC64MOVDaddr {
                        break
@@ -25816,7 +25371,6 @@ func rewriteValuePPC64_OpPPC64OR_110(v *Value) bool {
                i0 := x3_0.AuxInt
                s := x3_0.Aux
                p := x3_0.Args[0]
-               mem := x3.Args[1]
                s4 := o3.Args[1]
                if s4.Op != OpPPC64SLDconst {
                        break
@@ -26428,13 +25982,12 @@ func rewriteValuePPC64_OpPPC64XOR_10(v *Value) bool {
        // cond: isU32Bit(c)
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpPPC64MOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU32Bit(c)) {
                        break
                }
@@ -26573,9 +26126,8 @@ func rewriteValuePPC64_OpRsh16Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26590,9 +26142,8 @@ func rewriteValuePPC64_OpRsh16Ux16_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -26660,9 +26211,8 @@ func rewriteValuePPC64_OpRsh16Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26677,9 +26227,8 @@ func rewriteValuePPC64_OpRsh16Ux32_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -26764,9 +26313,8 @@ func rewriteValuePPC64_OpRsh16Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26781,9 +26329,8 @@ func rewriteValuePPC64_OpRsh16Ux64_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -26807,9 +26354,8 @@ func rewriteValuePPC64_OpRsh16Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26824,9 +26370,8 @@ func rewriteValuePPC64_OpRsh16Ux8_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
                v0.AddArg(x)
@@ -26852,9 +26397,8 @@ func rewriteValuePPC64_OpRsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26869,9 +26413,8 @@ func rewriteValuePPC64_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -26939,9 +26482,8 @@ func rewriteValuePPC64_OpRsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -26956,9 +26498,8 @@ func rewriteValuePPC64_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -27047,9 +26588,8 @@ func rewriteValuePPC64_OpRsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27064,9 +26604,8 @@ func rewriteValuePPC64_OpRsh16x64_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -27090,9 +26629,8 @@ func rewriteValuePPC64_OpRsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27107,9 +26645,8 @@ func rewriteValuePPC64_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt16to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-16] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
                v0.AddArg(x)
@@ -27135,9 +26672,8 @@ func rewriteValuePPC64_OpRsh32Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27150,9 +26686,8 @@ func rewriteValuePPC64_OpRsh32Ux16_0(v *Value) bool {
        // cond:
        // result: (SRW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27214,9 +26749,8 @@ func rewriteValuePPC64_OpRsh32Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27229,9 +26763,8 @@ func rewriteValuePPC64_OpRsh32Ux32_0(v *Value) bool {
        // cond:
        // result: (SRW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27310,9 +26843,8 @@ func rewriteValuePPC64_OpRsh32Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27358,7 +26890,7 @@ func rewriteValuePPC64_OpRsh32Ux64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -27366,7 +26898,6 @@ func rewriteValuePPC64_OpRsh32Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 31 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
@@ -27523,7 +27054,7 @@ func rewriteValuePPC64_OpRsh32Ux64_0(v *Value) bool {
                if v_1_1.Type != typ.UInt {
                        break
                }
-               = v_1_1.Args[1]
+               y := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -27531,7 +27062,6 @@ func rewriteValuePPC64_OpRsh32Ux64_0(v *Value) bool {
                if v_1_1_0.AuxInt != 31 {
                        break
                }
-               y := v_1_1.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
@@ -27554,9 +27084,8 @@ func rewriteValuePPC64_OpRsh32Ux64_10(v *Value) bool {
        // cond:
        // result: (SRW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27578,9 +27107,8 @@ func rewriteValuePPC64_OpRsh32Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27593,9 +27121,8 @@ func rewriteValuePPC64_OpRsh32Ux8_0(v *Value) bool {
        // cond:
        // result: (SRW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27619,9 +27146,8 @@ func rewriteValuePPC64_OpRsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27634,9 +27160,8 @@ func rewriteValuePPC64_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (SRAW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27698,9 +27223,8 @@ func rewriteValuePPC64_OpRsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27713,9 +27237,8 @@ func rewriteValuePPC64_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (SRAW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -27796,9 +27319,8 @@ func rewriteValuePPC64_OpRsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -27844,7 +27366,7 @@ func rewriteValuePPC64_OpRsh32x64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -27852,7 +27374,6 @@ func rewriteValuePPC64_OpRsh32x64_0(v *Value) bool {
                if v_1_0.AuxInt != 31 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
@@ -28009,7 +27530,7 @@ func rewriteValuePPC64_OpRsh32x64_0(v *Value) bool {
                if v_1_1.Type != typ.UInt {
                        break
                }
-               = v_1_1.Args[1]
+               y := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -28017,7 +27538,6 @@ func rewriteValuePPC64_OpRsh32x64_0(v *Value) bool {
                if v_1_1_0.AuxInt != 31 {
                        break
                }
-               y := v_1_1.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
@@ -28040,9 +27560,8 @@ func rewriteValuePPC64_OpRsh32x64_10(v *Value) bool {
        // cond:
        // result: (SRAW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28064,9 +27583,8 @@ func rewriteValuePPC64_OpRsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28079,9 +27597,8 @@ func rewriteValuePPC64_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (SRAW x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-32] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28105,9 +27622,8 @@ func rewriteValuePPC64_OpRsh64Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28120,9 +27636,8 @@ func rewriteValuePPC64_OpRsh64Ux16_0(v *Value) bool {
        // cond:
        // result: (SRD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28184,9 +27699,8 @@ func rewriteValuePPC64_OpRsh64Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28199,9 +27713,8 @@ func rewriteValuePPC64_OpRsh64Ux32_0(v *Value) bool {
        // cond:
        // result: (SRD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28280,9 +27793,8 @@ func rewriteValuePPC64_OpRsh64Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28328,7 +27840,7 @@ func rewriteValuePPC64_OpRsh64Ux64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -28336,7 +27848,6 @@ func rewriteValuePPC64_OpRsh64Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 63 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
@@ -28493,7 +28004,7 @@ func rewriteValuePPC64_OpRsh64Ux64_0(v *Value) bool {
                if v_1_1.Type != typ.UInt {
                        break
                }
-               = v_1_1.Args[1]
+               y := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -28501,7 +28012,6 @@ func rewriteValuePPC64_OpRsh64Ux64_0(v *Value) bool {
                if v_1_1_0.AuxInt != 63 {
                        break
                }
-               y := v_1_1.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
@@ -28524,9 +28034,8 @@ func rewriteValuePPC64_OpRsh64Ux64_10(v *Value) bool {
        // cond:
        // result: (SRD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28548,9 +28057,8 @@ func rewriteValuePPC64_OpRsh64Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28563,9 +28071,8 @@ func rewriteValuePPC64_OpRsh64Ux8_0(v *Value) bool {
        // cond:
        // result: (SRD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28589,9 +28096,8 @@ func rewriteValuePPC64_OpRsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28604,9 +28110,8 @@ func rewriteValuePPC64_OpRsh64x16_0(v *Value) bool {
        // cond:
        // result: (SRAD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28668,9 +28173,8 @@ func rewriteValuePPC64_OpRsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28683,9 +28187,8 @@ func rewriteValuePPC64_OpRsh64x32_0(v *Value) bool {
        // cond:
        // result: (SRAD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -28766,9 +28269,8 @@ func rewriteValuePPC64_OpRsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -28814,7 +28316,7 @@ func rewriteValuePPC64_OpRsh64x64_0(v *Value) bool {
                if v_1.Op != OpPPC64AND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -28822,7 +28324,6 @@ func rewriteValuePPC64_OpRsh64x64_0(v *Value) bool {
                if v_1_0.AuxInt != 63 {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
@@ -28979,7 +28480,7 @@ func rewriteValuePPC64_OpRsh64x64_0(v *Value) bool {
                if v_1_1.Type != typ.UInt {
                        break
                }
-               = v_1_1.Args[1]
+               y := v_1_1.Args[1]
                v_1_1_0 := v_1_1.Args[0]
                if v_1_1_0.Op != OpPPC64MOVDconst {
                        break
@@ -28987,7 +28488,6 @@ func rewriteValuePPC64_OpRsh64x64_0(v *Value) bool {
                if v_1_1_0.AuxInt != 63 {
                        break
                }
-               y := v_1_1.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
@@ -29010,9 +28510,8 @@ func rewriteValuePPC64_OpRsh64x64_10(v *Value) bool {
        // cond:
        // result: (SRAD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -29034,9 +28533,8 @@ func rewriteValuePPC64_OpRsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29049,9 +28547,8 @@ func rewriteValuePPC64_OpRsh64x8_0(v *Value) bool {
        // cond:
        // result: (SRAD x (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-64] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
@@ -29075,9 +28572,8 @@ func rewriteValuePPC64_OpRsh8Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29092,9 +28588,8 @@ func rewriteValuePPC64_OpRsh8Ux16_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -29162,9 +28657,8 @@ func rewriteValuePPC64_OpRsh8Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29179,9 +28673,8 @@ func rewriteValuePPC64_OpRsh8Ux32_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -29266,9 +28759,8 @@ func rewriteValuePPC64_OpRsh8Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29283,9 +28775,8 @@ func rewriteValuePPC64_OpRsh8Ux64_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -29309,9 +28800,8 @@ func rewriteValuePPC64_OpRsh8Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29326,9 +28816,8 @@ func rewriteValuePPC64_OpRsh8Ux8_0(v *Value) bool {
        // cond:
        // result: (SRW (ZeroExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRW)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
                v0.AddArg(x)
@@ -29354,9 +28843,8 @@ func rewriteValuePPC64_OpRsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29371,9 +28859,8 @@ func rewriteValuePPC64_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt16to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -29441,9 +28928,8 @@ func rewriteValuePPC64_OpRsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29458,9 +28944,8 @@ func rewriteValuePPC64_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt32to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -29549,9 +29034,8 @@ func rewriteValuePPC64_OpRsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29566,9 +29050,8 @@ func rewriteValuePPC64_OpRsh8x64_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -29592,9 +29075,8 @@ func rewriteValuePPC64_OpRsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -29609,9 +29091,8 @@ func rewriteValuePPC64_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (SRAW (SignExt8to32 x) (ORN y <typ.Int64> (MaskIfNotCarry (ADDconstForCarry [-8] (ZeroExt8to64 y)))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SRAW)
                v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
                v0.AddArg(x)
@@ -29744,10 +29225,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (FMOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -29762,10 +29242,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (FMOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is32BitFloat(val.Type)) {
                        break
                }
@@ -29780,10 +29259,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (FMOVSstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -29798,10 +29276,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && (is64BitInt(val.Type) || isPtr(val.Type))) {
                        break
                }
@@ -29816,10 +29293,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitInt(val.Type)) {
                        break
                }
@@ -29834,10 +29310,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -29852,10 +29327,9 @@ func rewriteValuePPC64_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -29872,9 +29346,8 @@ func rewriteValuePPC64_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -29886,9 +29359,8 @@ func rewriteValuePPC64_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -29900,9 +29372,8 @@ func rewriteValuePPC64_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (FSUBS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -29914,9 +29385,8 @@ func rewriteValuePPC64_OpSub64_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -29928,9 +29398,8 @@ func rewriteValuePPC64_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (FSUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64FSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -29942,9 +29411,8 @@ func rewriteValuePPC64_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -29956,9 +29424,8 @@ func rewriteValuePPC64_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -30126,10 +29593,9 @@ func rewriteValuePPC64_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpPPC64LoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -30143,9 +29609,8 @@ func rewriteValuePPC64_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -30157,9 +29622,8 @@ func rewriteValuePPC64_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -30171,9 +29635,8 @@ func rewriteValuePPC64_OpXor64_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -30185,9 +29648,8 @@ func rewriteValuePPC64_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpPPC64XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -30203,7 +29665,6 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -30217,9 +29678,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVBstorezero)
                v.AddArg(destptr)
                v.AddArg(mem)
@@ -30232,9 +29692,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVHstorezero)
                v.AddArg(destptr)
                v.AddArg(mem)
@@ -30247,9 +29706,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 2
                v.AddArg(destptr)
@@ -30266,9 +29724,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVWstorezero)
                v.AddArg(destptr)
                v.AddArg(mem)
@@ -30281,9 +29738,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 4
                v.AddArg(destptr)
@@ -30300,9 +29756,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVHstorezero)
                v.AuxInt = 4
                v.AddArg(destptr)
@@ -30319,9 +29774,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 6
                v.AddArg(destptr)
@@ -30343,9 +29797,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -30361,9 +29814,8 @@ func rewriteValuePPC64_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpPPC64MOVWstorezero)
                v.AuxInt = 4
                v.AddArg(destptr)
@@ -30386,9 +29838,8 @@ func rewriteValuePPC64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -30410,9 +29861,8 @@ func rewriteValuePPC64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -30434,9 +29884,8 @@ func rewriteValuePPC64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -30462,9 +29911,8 @@ func rewriteValuePPC64_OpZero_10(v *Value) bool {
                        break
                }
                t := v.Aux
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(t.(*types.Type).Alignment()%4 == 0) {
                        break
                }
@@ -30491,9 +29939,8 @@ func rewriteValuePPC64_OpZero_10(v *Value) bool {
        // result: (LoweredZero [s] ptr mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpPPC64LoweredZero)
                v.AuxInt = s
                v.AddArg(ptr)
@@ -30746,9 +30193,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -30775,9 +30221,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -30804,9 +30249,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -30938,9 +30382,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -30967,9 +30410,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -30996,9 +30438,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31131,9 +30572,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31160,9 +30600,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31189,9 +30628,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31479,9 +30917,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31508,9 +30945,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31537,9 +30973,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31672,9 +31107,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31701,9 +31135,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -31730,9 +31163,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -32124,9 +31556,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64AND {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -32153,9 +31584,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64OR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
@@ -32182,9 +31612,8 @@ func rewriteBlockPPC64(b *Block) bool {
                        if z.Op != OpPPC64XOR {
                                break
                        }
-                       _ = z.Args[1]
-                       x := z.Args[0]
                        y := z.Args[1]
+                       x := z.Args[0]
                        if !(z.Uses == 1) {
                                break
                        }
index 09b7fa44744106c2d23c034ef5ebe6ad7025e141..3ee004be9972eed63332bb383056613ab86833ec 100644 (file)
@@ -811,9 +811,8 @@ func rewriteValueS390X_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (ADDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -825,9 +824,8 @@ func rewriteValueS390X_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (ADDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -839,9 +837,8 @@ func rewriteValueS390X_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (FADDS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -853,9 +850,8 @@ func rewriteValueS390X_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -867,9 +863,8 @@ func rewriteValueS390X_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (FADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -881,9 +876,8 @@ func rewriteValueS390X_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (ADDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -895,9 +889,8 @@ func rewriteValueS390X_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (ADD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -922,9 +915,8 @@ func rewriteValueS390X_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (ANDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XANDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -936,9 +928,8 @@ func rewriteValueS390X_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (ANDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XANDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -950,9 +941,8 @@ func rewriteValueS390X_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (AND x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XAND)
                v.AddArg(x)
                v.AddArg(y)
@@ -964,9 +954,8 @@ func rewriteValueS390X_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (ANDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XANDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -978,9 +967,8 @@ func rewriteValueS390X_OpAndB_0(v *Value) bool {
        // cond:
        // result: (ANDW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XANDW)
                v.AddArg(x)
                v.AddArg(y)
@@ -994,10 +982,9 @@ func rewriteValueS390X_OpAtomicAdd32_0(v *Value) bool {
        // cond:
        // result: (AddTupleFirst32 val (LAA ptr val mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XAddTupleFirst32)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpS390XLAA, types.NewTuple(typ.UInt32, types.TypeMem))
@@ -1015,10 +1002,9 @@ func rewriteValueS390X_OpAtomicAdd64_0(v *Value) bool {
        // cond:
        // result: (AddTupleFirst64 val (LAAG ptr val mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XAddTupleFirst64)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpS390XLAAG, types.NewTuple(typ.UInt64, types.TypeMem))
@@ -1034,11 +1020,10 @@ func rewriteValueS390X_OpAtomicCompareAndSwap32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas32 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpS390XLoweredAtomicCas32)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -1052,11 +1037,10 @@ func rewriteValueS390X_OpAtomicCompareAndSwap64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicCas64 ptr old new_ mem)
        for {
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                old := v.Args[1]
                new_ := v.Args[2]
-               mem := v.Args[3]
                v.reset(OpS390XLoweredAtomicCas64)
                v.AddArg(ptr)
                v.AddArg(old)
@@ -1070,10 +1054,9 @@ func rewriteValueS390X_OpAtomicExchange32_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange32 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XLoweredAtomicExchange32)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1086,10 +1069,9 @@ func rewriteValueS390X_OpAtomicExchange64_0(v *Value) bool {
        // cond:
        // result: (LoweredAtomicExchange64 ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XLoweredAtomicExchange64)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1102,9 +1084,8 @@ func rewriteValueS390X_OpAtomicLoad32_0(v *Value) bool {
        // cond:
        // result: (MOVWZatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpS390XMOVWZatomicload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -1116,9 +1097,8 @@ func rewriteValueS390X_OpAtomicLoad64_0(v *Value) bool {
        // cond:
        // result: (MOVDatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpS390XMOVDatomicload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -1130,9 +1110,8 @@ func rewriteValueS390X_OpAtomicLoadPtr_0(v *Value) bool {
        // cond:
        // result: (MOVDatomicload ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpS390XMOVDatomicload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -1144,10 +1123,9 @@ func rewriteValueS390X_OpAtomicStore32_0(v *Value) bool {
        // cond:
        // result: (MOVWatomicstore ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVWatomicstore)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1160,10 +1138,9 @@ func rewriteValueS390X_OpAtomicStore64_0(v *Value) bool {
        // cond:
        // result: (MOVDatomicstore ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVDatomicstore)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1176,10 +1153,9 @@ func rewriteValueS390X_OpAtomicStorePtrNoWB_0(v *Value) bool {
        // cond:
        // result: (MOVDatomicstore ptr val mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVDatomicstore)
                v.AddArg(ptr)
                v.AddArg(val)
@@ -1194,9 +1170,8 @@ func rewriteValueS390X_OpAvg64u_0(v *Value) bool {
        // result: (ADD (SRDconst <t> (SUB <t> x y) [1]) y)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XADD)
                v0 := b.NewValue0(v.Pos, OpS390XSRDconst, t)
                v0.AuxInt = 1
@@ -1267,10 +1242,9 @@ func rewriteValueS390X_OpClosureCall_0(v *Value) bool {
        // result: (CALLclosure [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XCALLclosure)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1605,9 +1579,8 @@ func rewriteValueS390X_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (DIVW (MOVHreg x) (MOVHreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -1625,9 +1598,8 @@ func rewriteValueS390X_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (MOVHZreg x) (MOVHZreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
                v0.AddArg(x)
@@ -1645,9 +1617,8 @@ func rewriteValueS390X_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (DIVW (MOVWreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
                v0.AddArg(x)
@@ -1661,9 +1632,8 @@ func rewriteValueS390X_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (FDIVS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFDIVS)
                v.AddArg(x)
                v.AddArg(y)
@@ -1677,9 +1647,8 @@ func rewriteValueS390X_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (MOVWZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
                v0.AddArg(x)
@@ -1693,9 +1662,8 @@ func rewriteValueS390X_OpDiv64_0(v *Value) bool {
        // cond:
        // result: (DIVD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVD)
                v.AddArg(x)
                v.AddArg(y)
@@ -1707,9 +1675,8 @@ func rewriteValueS390X_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (FDIV x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFDIV)
                v.AddArg(x)
                v.AddArg(y)
@@ -1721,9 +1688,8 @@ func rewriteValueS390X_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (DIVDU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVDU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1737,9 +1703,8 @@ func rewriteValueS390X_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (DIVW (MOVBreg x) (MOVBreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -1757,9 +1722,8 @@ func rewriteValueS390X_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (DIVWU (MOVBZreg x) (MOVBZreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XDIVWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
                v0.AddArg(x)
@@ -1777,9 +1741,8 @@ func rewriteValueS390X_OpEq16_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1805,9 +1768,8 @@ func rewriteValueS390X_OpEq32_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1829,9 +1791,8 @@ func rewriteValueS390X_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1853,9 +1814,8 @@ func rewriteValueS390X_OpEq64_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1877,9 +1837,8 @@ func rewriteValueS390X_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (FCMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1901,9 +1860,8 @@ func rewriteValueS390X_OpEq8_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1929,9 +1887,8 @@ func rewriteValueS390X_OpEqB_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1957,9 +1914,8 @@ func rewriteValueS390X_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDEQ)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -1993,9 +1949,8 @@ func rewriteValueS390X_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2021,9 +1976,8 @@ func rewriteValueS390X_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVHZreg x) (MOVHZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2049,9 +2003,8 @@ func rewriteValueS390X_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2073,9 +2026,8 @@ func rewriteValueS390X_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGEnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2097,9 +2049,8 @@ func rewriteValueS390X_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2121,9 +2072,8 @@ func rewriteValueS390X_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2145,9 +2095,8 @@ func rewriteValueS390X_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGEnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2169,9 +2118,8 @@ func rewriteValueS390X_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2193,9 +2141,8 @@ func rewriteValueS390X_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2221,9 +2168,8 @@ func rewriteValueS390X_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (MOVDGE (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVBZreg x) (MOVBZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2287,9 +2233,8 @@ func rewriteValueS390X_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2315,9 +2260,8 @@ func rewriteValueS390X_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVHZreg x) (MOVHZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2343,9 +2287,8 @@ func rewriteValueS390X_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2367,9 +2310,8 @@ func rewriteValueS390X_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGTnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2391,9 +2333,8 @@ func rewriteValueS390X_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2415,9 +2356,8 @@ func rewriteValueS390X_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2439,9 +2379,8 @@ func rewriteValueS390X_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGTnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2463,9 +2402,8 @@ func rewriteValueS390X_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2487,9 +2425,8 @@ func rewriteValueS390X_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2515,9 +2452,8 @@ func rewriteValueS390X_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (MOVDGT (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVBZreg x) (MOVBZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2543,9 +2479,8 @@ func rewriteValueS390X_OpHmul32_0(v *Value) bool {
        // cond:
        // result: (SRDconst [32] (MULLD (MOVWreg x) (MOVWreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64)
@@ -2566,9 +2501,8 @@ func rewriteValueS390X_OpHmul32u_0(v *Value) bool {
        // cond:
        // result: (SRDconst [32] (MULLD (MOVWZreg x) (MOVWZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 32
                v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64)
@@ -2587,9 +2521,8 @@ func rewriteValueS390X_OpHmul64_0(v *Value) bool {
        // cond:
        // result: (MULHD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULHD)
                v.AddArg(x)
                v.AddArg(y)
@@ -2601,9 +2534,8 @@ func rewriteValueS390X_OpHmul64u_0(v *Value) bool {
        // cond:
        // result: (MULHDU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULHDU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2619,9 +2551,8 @@ func rewriteValueS390X_OpITab_0(v *Value) bool {
                if v_0.Op != OpLoad {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                mem := v_0.Args[1]
+               ptr := v_0.Args[0]
                v.reset(OpS390XMOVDload)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -2635,9 +2566,8 @@ func rewriteValueS390X_OpInterCall_0(v *Value) bool {
        // result: (CALLinter [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpS390XCALLinter)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -2652,9 +2582,8 @@ func rewriteValueS390X_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2698,9 +2627,8 @@ func rewriteValueS390X_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPU idx len))
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2722,9 +2650,8 @@ func rewriteValueS390X_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2750,9 +2677,8 @@ func rewriteValueS390X_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVHZreg x) (MOVHZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2778,9 +2704,8 @@ func rewriteValueS390X_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2802,9 +2727,8 @@ func rewriteValueS390X_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMPS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGEnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2826,9 +2750,8 @@ func rewriteValueS390X_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2850,9 +2773,8 @@ func rewriteValueS390X_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2874,9 +2796,8 @@ func rewriteValueS390X_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMP y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGEnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2898,9 +2819,8 @@ func rewriteValueS390X_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2922,9 +2842,8 @@ func rewriteValueS390X_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2950,9 +2869,8 @@ func rewriteValueS390X_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (MOVDLE (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVBZreg x) (MOVBZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -2978,9 +2896,8 @@ func rewriteValueS390X_OpLess16_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3006,9 +2923,8 @@ func rewriteValueS390X_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVHZreg x) (MOVHZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3034,9 +2950,8 @@ func rewriteValueS390X_OpLess32_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3058,9 +2973,8 @@ func rewriteValueS390X_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMPS y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGTnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3082,9 +2996,8 @@ func rewriteValueS390X_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPWU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3106,9 +3019,8 @@ func rewriteValueS390X_OpLess64_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3130,9 +3042,8 @@ func rewriteValueS390X_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) (FCMP y x))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGTnoinv)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3154,9 +3065,8 @@ func rewriteValueS390X_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPU x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3178,9 +3088,8 @@ func rewriteValueS390X_OpLess8_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3206,9 +3115,8 @@ func rewriteValueS390X_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (MOVDLT (MOVDconst [0]) (MOVDconst [1]) (CMPWU (MOVBZreg x) (MOVBZreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDLT)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -3233,9 +3141,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) || isPtr(t)) {
                        break
                }
@@ -3249,9 +3156,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVWload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && isSigned(t)) {
                        break
                }
@@ -3265,9 +3171,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVWZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -3281,9 +3186,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVHload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && isSigned(t)) {
                        break
                }
@@ -3297,9 +3201,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVHZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is16BitInt(t) && !isSigned(t)) {
                        break
                }
@@ -3313,9 +3216,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVBload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is8BitInt(t) && isSigned(t)) {
                        break
                }
@@ -3329,9 +3231,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (MOVBZload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsBoolean() || (is8BitInt(t) && !isSigned(t))) {
                        break
                }
@@ -3345,9 +3246,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (FMOVSload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -3361,9 +3261,8 @@ func rewriteValueS390X_OpLoad_0(v *Value) bool {
        // result: (FMOVDload ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -3395,9 +3294,8 @@ func rewriteValueS390X_OpLsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3411,9 +3309,8 @@ func rewriteValueS390X_OpLsh16x16_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3439,9 +3336,8 @@ func rewriteValueS390X_OpLsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3455,9 +3351,8 @@ func rewriteValueS390X_OpLsh16x32_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3481,9 +3376,8 @@ func rewriteValueS390X_OpLsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3497,9 +3391,8 @@ func rewriteValueS390X_OpLsh16x64_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3523,9 +3416,8 @@ func rewriteValueS390X_OpLsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3539,9 +3431,8 @@ func rewriteValueS390X_OpLsh16x8_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3567,9 +3458,8 @@ func rewriteValueS390X_OpLsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3583,9 +3473,8 @@ func rewriteValueS390X_OpLsh32x16_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3611,9 +3500,8 @@ func rewriteValueS390X_OpLsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3627,9 +3515,8 @@ func rewriteValueS390X_OpLsh32x32_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3653,9 +3540,8 @@ func rewriteValueS390X_OpLsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3669,9 +3555,8 @@ func rewriteValueS390X_OpLsh32x64_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3695,9 +3580,8 @@ func rewriteValueS390X_OpLsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3711,9 +3595,8 @@ func rewriteValueS390X_OpLsh32x8_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3739,9 +3622,8 @@ func rewriteValueS390X_OpLsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3755,9 +3637,8 @@ func rewriteValueS390X_OpLsh64x16_0(v *Value) bool {
        // result: (MOVDGE <t> (SLD <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
@@ -3783,9 +3664,8 @@ func rewriteValueS390X_OpLsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3799,9 +3679,8 @@ func rewriteValueS390X_OpLsh64x32_0(v *Value) bool {
        // result: (MOVDGE <t> (SLD <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
@@ -3825,9 +3704,8 @@ func rewriteValueS390X_OpLsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3841,9 +3719,8 @@ func rewriteValueS390X_OpLsh64x64_0(v *Value) bool {
        // result: (MOVDGE <t> (SLD <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
@@ -3867,9 +3744,8 @@ func rewriteValueS390X_OpLsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3883,9 +3759,8 @@ func rewriteValueS390X_OpLsh64x8_0(v *Value) bool {
        // result: (MOVDGE <t> (SLD <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
@@ -3911,9 +3786,8 @@ func rewriteValueS390X_OpLsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3927,9 +3801,8 @@ func rewriteValueS390X_OpLsh8x16_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3955,9 +3828,8 @@ func rewriteValueS390X_OpLsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -3971,9 +3843,8 @@ func rewriteValueS390X_OpLsh8x32_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -3997,9 +3868,8 @@ func rewriteValueS390X_OpLsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4013,9 +3883,8 @@ func rewriteValueS390X_OpLsh8x64_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -4039,9 +3908,8 @@ func rewriteValueS390X_OpLsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -4055,9 +3923,8 @@ func rewriteValueS390X_OpLsh8x8_0(v *Value) bool {
        // result: (MOVDGE <t> (SLW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
@@ -4083,9 +3950,8 @@ func rewriteValueS390X_OpMod16_0(v *Value) bool {
        // cond:
        // result: (MODW (MOVHreg x) (MOVHreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -4103,9 +3969,8 @@ func rewriteValueS390X_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (MODWU (MOVHZreg x) (MOVHZreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
                v0.AddArg(x)
@@ -4123,9 +3988,8 @@ func rewriteValueS390X_OpMod32_0(v *Value) bool {
        // cond:
        // result: (MODW (MOVWreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
                v0.AddArg(x)
@@ -4141,9 +4005,8 @@ func rewriteValueS390X_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (MODWU (MOVWZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
                v0.AddArg(x)
@@ -4157,9 +4020,8 @@ func rewriteValueS390X_OpMod64_0(v *Value) bool {
        // cond:
        // result: (MODD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODD)
                v.AddArg(x)
                v.AddArg(y)
@@ -4171,9 +4033,8 @@ func rewriteValueS390X_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (MODDU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODDU)
                v.AddArg(x)
                v.AddArg(y)
@@ -4187,9 +4048,8 @@ func rewriteValueS390X_OpMod8_0(v *Value) bool {
        // cond:
        // result: (MODW (MOVBreg x) (MOVBreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -4207,9 +4067,8 @@ func rewriteValueS390X_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (MODWU (MOVBZreg x) (MOVBZreg y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMODWU)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
                v0.AddArg(x)
@@ -4230,7 +4089,6 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -4244,10 +4102,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8)
@@ -4264,10 +4121,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVHstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16)
@@ -4284,10 +4140,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVWstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, typ.UInt32)
@@ -4304,10 +4159,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVDstore)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
@@ -4324,10 +4178,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVDstore)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -4353,10 +4206,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 24 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVDstore)
                v.AuxInt = 16
                v.AddArg(dst)
@@ -4391,10 +4243,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -4420,10 +4271,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -4449,10 +4299,9 @@ func rewriteValueS390X_OpMove_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -4483,10 +4332,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 6
                v.AddArg(dst)
@@ -4519,10 +4367,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
        // result: (MVC [makeValAndOff(s, 0)] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 0 && s <= 256) {
                        break
                }
@@ -4538,10 +4385,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
        // result: (MVC [makeValAndOff(s-256, 256)] dst src (MVC [makeValAndOff(256, 0)] dst src mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 256 && s <= 512) {
                        break
                }
@@ -4562,10 +4408,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
        // result: (MVC [makeValAndOff(s-512, 512)] dst src (MVC [makeValAndOff(256, 256)] dst src (MVC [makeValAndOff(256, 0)] dst src mem)))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 512 && s <= 768) {
                        break
                }
@@ -4591,10 +4436,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
        // result: (MVC [makeValAndOff(s-768, 768)] dst src (MVC [makeValAndOff(256, 512)] dst src (MVC [makeValAndOff(256, 256)] dst src (MVC [makeValAndOff(256, 0)] dst src mem))))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 768 && s <= 1024) {
                        break
                }
@@ -4625,10 +4469,9 @@ func rewriteValueS390X_OpMove_10(v *Value) bool {
        // result: (LoweredMove [s%256] dst src (ADD <src.Type> src (MOVDconst [(s/256)*256])) mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 1024) {
                        break
                }
@@ -4652,9 +4495,8 @@ func rewriteValueS390X_OpMul16_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4666,9 +4508,8 @@ func rewriteValueS390X_OpMul32_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4680,9 +4521,8 @@ func rewriteValueS390X_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (FMULS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFMULS)
                v.AddArg(x)
                v.AddArg(y)
@@ -4694,9 +4534,8 @@ func rewriteValueS390X_OpMul64_0(v *Value) bool {
        // cond:
        // result: (MULLD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULLD)
                v.AddArg(x)
                v.AddArg(y)
@@ -4708,9 +4547,8 @@ func rewriteValueS390X_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (FMUL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFMUL)
                v.AddArg(x)
                v.AddArg(y)
@@ -4722,9 +4560,8 @@ func rewriteValueS390X_OpMul8_0(v *Value) bool {
        // cond:
        // result: (MULLW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMULLW)
                v.AddArg(x)
                v.AddArg(y)
@@ -4804,9 +4641,8 @@ func rewriteValueS390X_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVHreg x) (MOVHreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4832,9 +4668,8 @@ func rewriteValueS390X_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMPW x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4856,9 +4691,8 @@ func rewriteValueS390X_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (FCMPS x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4880,9 +4714,8 @@ func rewriteValueS390X_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4904,9 +4737,8 @@ func rewriteValueS390X_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (FCMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4928,9 +4760,8 @@ func rewriteValueS390X_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4956,9 +4787,8 @@ func rewriteValueS390X_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMPW (MOVBreg x) (MOVBreg y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -4984,9 +4814,8 @@ func rewriteValueS390X_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (MOVDNE (MOVDconst [0]) (MOVDconst [1]) (CMP x y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDNE)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
                v0.AuxInt = 0
@@ -5006,9 +4835,8 @@ func rewriteValueS390X_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: (LoweredNilCheck ptr mem)
        for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpS390XLoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -5077,9 +4905,8 @@ func rewriteValueS390X_OpOr16_0(v *Value) bool {
        // cond:
        // result: (ORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -5091,9 +4918,8 @@ func rewriteValueS390X_OpOr32_0(v *Value) bool {
        // cond:
        // result: (ORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -5105,9 +4931,8 @@ func rewriteValueS390X_OpOr64_0(v *Value) bool {
        // cond:
        // result: (OR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -5119,9 +4944,8 @@ func rewriteValueS390X_OpOr8_0(v *Value) bool {
        // cond:
        // result: (ORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -5133,9 +4957,8 @@ func rewriteValueS390X_OpOrB_0(v *Value) bool {
        // cond:
        // result: (ORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -5213,9 +5036,8 @@ func rewriteValueS390X_OpRotateLeft32_0(v *Value) bool {
        // cond:
        // result: (RLL x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XRLL)
                v.AddArg(x)
                v.AddArg(y)
@@ -5227,9 +5049,8 @@ func rewriteValueS390X_OpRotateLeft64_0(v *Value) bool {
        // cond:
        // result: (RLLG x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XRLLG)
                v.AddArg(x)
                v.AddArg(y)
@@ -5289,9 +5110,8 @@ func rewriteValueS390X_OpRsh16Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5307,9 +5127,8 @@ func rewriteValueS390X_OpRsh16Ux16_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVHZreg x) y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5337,9 +5156,8 @@ func rewriteValueS390X_OpRsh16Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5355,9 +5173,8 @@ func rewriteValueS390X_OpRsh16Ux32_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVHZreg x) y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5383,9 +5200,8 @@ func rewriteValueS390X_OpRsh16Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5401,9 +5217,8 @@ func rewriteValueS390X_OpRsh16Ux64_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVHZreg x) y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5429,9 +5244,8 @@ func rewriteValueS390X_OpRsh16Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVHZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5447,9 +5261,8 @@ func rewriteValueS390X_OpRsh16Ux8_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVHZreg x) y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5477,9 +5290,8 @@ func rewriteValueS390X_OpRsh16x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5494,9 +5306,8 @@ func rewriteValueS390X_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVHreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVHZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -5523,9 +5334,8 @@ func rewriteValueS390X_OpRsh16x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5540,9 +5350,8 @@ func rewriteValueS390X_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVHreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -5567,9 +5376,8 @@ func rewriteValueS390X_OpRsh16x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5584,9 +5392,8 @@ func rewriteValueS390X_OpRsh16x64_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVHreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -5611,9 +5418,8 @@ func rewriteValueS390X_OpRsh16x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVHreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5628,9 +5434,8 @@ func rewriteValueS390X_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVHreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVBZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
                v0.AddArg(x)
@@ -5657,9 +5462,8 @@ func rewriteValueS390X_OpRsh32Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5673,9 +5477,8 @@ func rewriteValueS390X_OpRsh32Ux16_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5701,9 +5504,8 @@ func rewriteValueS390X_OpRsh32Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5717,9 +5519,8 @@ func rewriteValueS390X_OpRsh32Ux32_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5743,9 +5544,8 @@ func rewriteValueS390X_OpRsh32Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5759,9 +5559,8 @@ func rewriteValueS390X_OpRsh32Ux64_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5785,9 +5584,8 @@ func rewriteValueS390X_OpRsh32Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5801,9 +5599,8 @@ func rewriteValueS390X_OpRsh32Ux8_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -5829,9 +5626,8 @@ func rewriteValueS390X_OpRsh32x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5844,9 +5640,8 @@ func rewriteValueS390X_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (SRAW x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVHZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -5870,9 +5665,8 @@ func rewriteValueS390X_OpRsh32x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5885,9 +5679,8 @@ func rewriteValueS390X_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (SRAW x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -5909,9 +5702,8 @@ func rewriteValueS390X_OpRsh32x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5924,9 +5716,8 @@ func rewriteValueS390X_OpRsh32x64_0(v *Value) bool {
        // cond:
        // result: (SRAW x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -5949,9 +5740,8 @@ func rewriteValueS390X_OpRsh32x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -5964,9 +5754,8 @@ func rewriteValueS390X_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (SRAW x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVBZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -5991,9 +5780,8 @@ func rewriteValueS390X_OpRsh64Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6007,9 +5795,8 @@ func rewriteValueS390X_OpRsh64Ux16_0(v *Value) bool {
        // result: (MOVDGE <t> (SRD <t> x y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
@@ -6035,9 +5822,8 @@ func rewriteValueS390X_OpRsh64Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6051,9 +5837,8 @@ func rewriteValueS390X_OpRsh64Ux32_0(v *Value) bool {
        // result: (MOVDGE <t> (SRD <t> x y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
@@ -6077,9 +5862,8 @@ func rewriteValueS390X_OpRsh64Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6093,9 +5877,8 @@ func rewriteValueS390X_OpRsh64Ux64_0(v *Value) bool {
        // result: (MOVDGE <t> (SRD <t> x y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
@@ -6119,9 +5902,8 @@ func rewriteValueS390X_OpRsh64Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6135,9 +5917,8 @@ func rewriteValueS390X_OpRsh64Ux8_0(v *Value) bool {
        // result: (MOVDGE <t> (SRD <t> x y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
@@ -6163,9 +5944,8 @@ func rewriteValueS390X_OpRsh64x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6178,9 +5958,8 @@ func rewriteValueS390X_OpRsh64x16_0(v *Value) bool {
        // cond:
        // result: (SRAD x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVHZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -6204,9 +5983,8 @@ func rewriteValueS390X_OpRsh64x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6219,9 +5997,8 @@ func rewriteValueS390X_OpRsh64x32_0(v *Value) bool {
        // cond:
        // result: (SRAD x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -6243,9 +6020,8 @@ func rewriteValueS390X_OpRsh64x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6258,9 +6034,8 @@ func rewriteValueS390X_OpRsh64x64_0(v *Value) bool {
        // cond:
        // result: (SRAD x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -6283,9 +6058,8 @@ func rewriteValueS390X_OpRsh64x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAD x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6298,9 +6072,8 @@ func rewriteValueS390X_OpRsh64x8_0(v *Value) bool {
        // cond:
        // result: (SRAD x (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVBZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XMOVDGE, y.Type)
@@ -6325,9 +6098,8 @@ func rewriteValueS390X_OpRsh8Ux16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6343,9 +6115,8 @@ func rewriteValueS390X_OpRsh8Ux16_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVBZreg x) y) (MOVDconst [0]) (CMPWUconst (MOVHZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -6373,9 +6144,8 @@ func rewriteValueS390X_OpRsh8Ux32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6391,9 +6161,8 @@ func rewriteValueS390X_OpRsh8Ux32_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVBZreg x) y) (MOVDconst [0]) (CMPWUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -6419,9 +6188,8 @@ func rewriteValueS390X_OpRsh8Ux64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6437,9 +6205,8 @@ func rewriteValueS390X_OpRsh8Ux64_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVBZreg x) y) (MOVDconst [0]) (CMPUconst y [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -6465,9 +6232,8 @@ func rewriteValueS390X_OpRsh8Ux8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRW (MOVBZreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6483,9 +6249,8 @@ func rewriteValueS390X_OpRsh8Ux8_0(v *Value) bool {
        // result: (MOVDGE <t> (SRW <t> (MOVBZreg x) y) (MOVDconst [0]) (CMPWUconst (MOVBZreg y) [64]))
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XMOVDGE)
                v.Type = t
                v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
@@ -6513,9 +6278,8 @@ func rewriteValueS390X_OpRsh8x16_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6530,9 +6294,8 @@ func rewriteValueS390X_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVBreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVHZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -6559,9 +6322,8 @@ func rewriteValueS390X_OpRsh8x32_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6576,9 +6338,8 @@ func rewriteValueS390X_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVBreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -6603,9 +6364,8 @@ func rewriteValueS390X_OpRsh8x64_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6620,9 +6380,8 @@ func rewriteValueS390X_OpRsh8x64_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVBreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPUconst y [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -6647,9 +6406,8 @@ func rewriteValueS390X_OpRsh8x8_0(v *Value) bool {
        // cond: shiftIsBounded(v)
        // result: (SRAW (MOVBreg x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                if !(shiftIsBounded(v)) {
                        break
                }
@@ -6664,9 +6422,8 @@ func rewriteValueS390X_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (SRAW (MOVBreg x) (MOVDGE <y.Type> y (MOVDconst <y.Type> [63]) (CMPWUconst (MOVBZreg y) [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSRAW)
                v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
                v0.AddArg(x)
@@ -6710,13 +6467,12 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (ADDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -6806,7 +6562,7 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
        // cond: ptr.Op != OpSB && idx.Op != OpSB
        // result: (MOVDaddridx [c] {s} ptr idx)
        for {
-               = v.Args[1]
+               idx := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -6814,7 +6570,6 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
                c := v_0.AuxInt
                s := v_0.Aux
                ptr := v_0.Args[0]
-               idx := v.Args[1]
                if !(ptr.Op != OpSB && idx.Op != OpSB) {
                        break
                }
@@ -6845,13 +6600,12 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XNEG {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpS390XSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -6870,9 +6624,8 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -6890,17 +6643,15 @@ func rewriteValueS390X_OpS390XADD_0(v *Value) bool {
        // result: (ADDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -6921,17 +6672,15 @@ func rewriteValueS390X_OpS390XADD_10(v *Value) bool {
        // result: (ADDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -6957,9 +6706,8 @@ func rewriteValueS390X_OpS390XADD_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -6995,13 +6743,12 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
        // cond:
        // result: (ADDWconst [int64(int32(c))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XADDWconst)
                v.AuxInt = int64(int32(c))
                v.AddArg(x)
@@ -7081,13 +6828,12 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
        // cond:
        // result: (SUBW x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XNEGW {
                        break
                }
                y := v_0.Args[0]
-               x := v.Args[1]
                v.reset(OpS390XSUBW)
                v.AddArg(x)
                v.AddArg(y)
@@ -7106,9 +6852,8 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7126,17 +6871,15 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
        // result: (ADDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7154,17 +6897,15 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
        // result: (ADDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7190,9 +6931,8 @@ func rewriteValueS390X_OpS390XADDW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7221,9 +6961,8 @@ func rewriteValueS390X_OpS390XADDW_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7241,17 +6980,15 @@ func rewriteValueS390X_OpS390XADDW_10(v *Value) bool {
        // result: (ADDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7269,17 +7006,15 @@ func rewriteValueS390X_OpS390XADDW_10(v *Value) bool {
        // result: (ADDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7305,9 +7040,8 @@ func rewriteValueS390X_OpS390XADDW_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7376,7 +7110,7 @@ func rewriteValueS390X_OpS390XADDWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -7384,7 +7118,6 @@ func rewriteValueS390X_OpS390XADDWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -7402,7 +7135,7 @@ func rewriteValueS390X_OpS390XADDWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -7411,7 +7144,6 @@ func rewriteValueS390X_OpS390XADDWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -7482,9 +7214,8 @@ func rewriteValueS390X_OpS390XADDconst_0(v *Value) bool {
                }
                d := v_0.AuxInt
                s := v_0.Aux
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -7584,7 +7315,7 @@ func rewriteValueS390X_OpS390XADDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -7592,7 +7323,6 @@ func rewriteValueS390X_OpS390XADDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -7610,7 +7340,7 @@ func rewriteValueS390X_OpS390XADDload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -7619,7 +7349,6 @@ func rewriteValueS390X_OpS390XADDload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -7659,13 +7388,12 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
        // cond: is32Bit(c) && c < 0
        // result: (ANDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c) && c < 0) {
                        break
                }
@@ -7699,13 +7427,12 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
        // cond: is32Bit(c) && c >= 0
        // result: (MOVWZreg (ANDWconst <typ.UInt32> [int64(int32(c))] x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c) && c >= 0) {
                        break
                }
@@ -7737,7 +7464,7 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
        // cond:
        // result: (MOVBZreg x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
@@ -7745,7 +7472,6 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
                if v_0.AuxInt != 0xFF {
                        break
                }
-               x := v.Args[1]
                v.reset(OpS390XMOVBZreg)
                v.AddArg(x)
                return true
@@ -7771,7 +7497,7 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
        // cond:
        // result: (MOVHZreg x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
@@ -7779,7 +7505,6 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
                if v_0.AuxInt != 0xFFFF {
                        break
                }
-               x := v.Args[1]
                v.reset(OpS390XMOVHZreg)
                v.AddArg(x)
                return true
@@ -7805,7 +7530,7 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
        // cond:
        // result: (MOVWZreg x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
@@ -7813,7 +7538,6 @@ func rewriteValueS390X_OpS390XAND_0(v *Value) bool {
                if v_0.AuxInt != 0xFFFFFFFF {
                        break
                }
-               x := v.Args[1]
                v.reset(OpS390XMOVWZreg)
                v.AddArg(x)
                return true
@@ -7863,9 +7587,8 @@ func rewriteValueS390X_OpS390XAND_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -7886,9 +7609,8 @@ func rewriteValueS390X_OpS390XAND_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7906,17 +7628,15 @@ func rewriteValueS390X_OpS390XAND_10(v *Value) bool {
        // result: (ANDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7934,17 +7654,15 @@ func rewriteValueS390X_OpS390XAND_10(v *Value) bool {
        // result: (ANDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -7970,9 +7688,8 @@ func rewriteValueS390X_OpS390XAND_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8008,13 +7725,12 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // cond:
        // result: (ANDWconst [int64(int32(c))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XANDWconst)
                v.AuxInt = int64(int32(c))
                v.AddArg(x)
@@ -8024,9 +7740,8 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -8047,9 +7762,8 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8067,17 +7781,15 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // result: (ANDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8095,17 +7807,15 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // result: (ANDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8131,9 +7841,8 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8159,9 +7868,8 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8179,17 +7887,15 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // result: (ANDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8207,17 +7913,15 @@ func rewriteValueS390X_OpS390XANDW_0(v *Value) bool {
        // result: (ANDWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8246,9 +7950,8 @@ func rewriteValueS390X_OpS390XANDW_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -8353,7 +8056,7 @@ func rewriteValueS390X_OpS390XANDWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -8361,7 +8064,6 @@ func rewriteValueS390X_OpS390XANDWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -8379,7 +8081,7 @@ func rewriteValueS390X_OpS390XANDWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -8388,7 +8090,6 @@ func rewriteValueS390X_OpS390XANDWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -8500,7 +8201,7 @@ func rewriteValueS390X_OpS390XANDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -8508,7 +8209,6 @@ func rewriteValueS390X_OpS390XANDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -8526,7 +8226,7 @@ func rewriteValueS390X_OpS390XANDload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -8535,7 +8235,6 @@ func rewriteValueS390X_OpS390XANDload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -8574,13 +8273,12 @@ func rewriteValueS390X_OpS390XCMP_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (InvertFlags (CMPconst x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -8618,13 +8316,12 @@ func rewriteValueS390X_OpS390XCMPU_0(v *Value) bool {
        // cond: isU32Bit(c)
        // result: (InvertFlags (CMPUconst x [int64(int32(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU32Bit(c)) {
                        break
                }
@@ -8844,13 +8541,12 @@ func rewriteValueS390X_OpS390XCMPW_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPWconst x [int64(int32(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XInvertFlags)
                v0 := b.NewValue0(v.Pos, OpS390XCMPWconst, types.TypeFlags)
                v0.AuxInt = int64(int32(c))
@@ -8894,13 +8590,12 @@ func rewriteValueS390X_OpS390XCMPW_0(v *Value) bool {
        // cond:
        // result: (CMPW x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVWreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpS390XCMPW)
                v.AddArg(x)
                v.AddArg(y)
@@ -8910,13 +8605,12 @@ func rewriteValueS390X_OpS390XCMPW_0(v *Value) bool {
        // cond:
        // result: (CMPW x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVWZreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpS390XCMPW)
                v.AddArg(x)
                v.AddArg(y)
@@ -8946,13 +8640,12 @@ func rewriteValueS390X_OpS390XCMPWU_0(v *Value) bool {
        // cond:
        // result: (InvertFlags (CMPWUconst x [int64(int32(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XInvertFlags)
                v0 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
                v0.AuxInt = int64(int32(c))
@@ -8996,13 +8689,12 @@ func rewriteValueS390X_OpS390XCMPWU_0(v *Value) bool {
        // cond:
        // result: (CMPWU x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVWreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpS390XCMPWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -9012,13 +8704,12 @@ func rewriteValueS390X_OpS390XCMPWU_0(v *Value) bool {
        // cond:
        // result: (CMPWU x y)
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVWZreg {
                        break
                }
                x := v_0.Args[0]
-               y := v.Args[1]
                v.reset(OpS390XCMPWU)
                v.AddArg(x)
                v.AddArg(y)
@@ -9577,15 +9268,13 @@ func rewriteValueS390X_OpS390XFADD_0(v *Value) bool {
        // cond:
        // result: (FMADD x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XFMUL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpS390XFMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -9602,9 +9291,8 @@ func rewriteValueS390X_OpS390XFADD_0(v *Value) bool {
                if v_1.Op != OpS390XFMUL {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpS390XFMADD)
                v.AddArg(x)
                v.AddArg(y)
@@ -9618,15 +9306,13 @@ func rewriteValueS390X_OpS390XFADDS_0(v *Value) bool {
        // cond:
        // result: (FMADDS x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XFMULS {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpS390XFMADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -9643,9 +9329,8 @@ func rewriteValueS390X_OpS390XFADDS_0(v *Value) bool {
                if v_1.Op != OpS390XFMULS {
                        break
                }
-               _ = v_1.Args[1]
-               y := v_1.Args[0]
                z := v_1.Args[1]
+               y := v_1.Args[0]
                v.reset(OpS390XFMADDS)
                v.AddArg(x)
                v.AddArg(y)
@@ -9718,14 +9403,13 @@ func rewriteValueS390X_OpS390XFMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -9742,7 +9426,7 @@ func rewriteValueS390X_OpS390XFMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -9750,7 +9434,6 @@ func rewriteValueS390X_OpS390XFMOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9767,17 +9450,15 @@ func rewriteValueS390X_OpS390XFMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9795,15 +9476,13 @@ func rewriteValueS390X_OpS390XFMOVDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -9824,7 +9503,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -9832,7 +9511,6 @@ func rewriteValueS390X_OpS390XFMOVDloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -9850,7 +9528,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -9858,7 +9536,6 @@ func rewriteValueS390X_OpS390XFMOVDloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -9879,7 +9556,7 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -9887,7 +9564,6 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -9905,7 +9581,7 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -9914,7 +9590,6 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9932,18 +9607,16 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -9962,16 +9635,14 @@ func rewriteValueS390X_OpS390XFMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -9993,7 +9664,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10002,7 +9673,6 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10021,7 +9691,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -10030,7 +9700,6 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10081,14 +9750,13 @@ func rewriteValueS390X_OpS390XFMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -10105,7 +9773,7 @@ func rewriteValueS390X_OpS390XFMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -10113,7 +9781,6 @@ func rewriteValueS390X_OpS390XFMOVSload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10130,17 +9797,15 @@ func rewriteValueS390X_OpS390XFMOVSload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10158,15 +9823,13 @@ func rewriteValueS390X_OpS390XFMOVSload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10187,7 +9850,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10195,7 +9858,6 @@ func rewriteValueS390X_OpS390XFMOVSloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10213,7 +9875,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -10221,7 +9883,6 @@ func rewriteValueS390X_OpS390XFMOVSloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10242,7 +9903,7 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10250,7 +9911,6 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -10268,7 +9928,7 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -10277,7 +9937,6 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10295,18 +9954,16 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10325,16 +9982,14 @@ func rewriteValueS390X_OpS390XFMOVSstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10356,7 +10011,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10365,7 +10020,6 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10384,7 +10038,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -10393,7 +10047,6 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10471,15 +10124,13 @@ func rewriteValueS390X_OpS390XFSUB_0(v *Value) bool {
        // cond:
        // result: (FMSUB x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XFMUL {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpS390XFMSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -10493,15 +10144,13 @@ func rewriteValueS390X_OpS390XFSUBS_0(v *Value) bool {
        // cond:
        // result: (FMSUBS x y z)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XFMULS {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                z := v_0.Args[1]
-               x := v.Args[1]
+               y := v_0.Args[0]
                v.reset(OpS390XFMSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -10547,7 +10196,7 @@ func rewriteValueS390X_OpS390XLDGR_0(v *Value) bool {
                if v_0.Op != OpS390XOR {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpS390XMOVDconst {
                        break
@@ -10555,7 +10204,6 @@ func rewriteValueS390X_OpS390XLDGR_0(v *Value) bool {
                if v_0_0.AuxInt != -1<<63 {
                        break
                }
-               x := v_0.Args[1]
                v.reset(OpS390XLNDFR)
                v0 := b.NewValue0(v.Pos, OpS390XLDGR, t)
                v0.AddArg(x)
@@ -10598,7 +10246,7 @@ func rewriteValueS390X_OpS390XLDGR_0(v *Value) bool {
                t1 := x.Type
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                x_0 := x.Args[0]
                if x_0.Op != OpS390XMOVDconst {
                        break
@@ -10607,7 +10255,6 @@ func rewriteValueS390X_OpS390XLDGR_0(v *Value) bool {
                        break
                }
                ptr := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -10761,14 +10408,13 @@ func rewriteValueS390X_OpS390XMOVBZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -10785,7 +10431,7 @@ func rewriteValueS390X_OpS390XMOVBZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -10793,7 +10439,6 @@ func rewriteValueS390X_OpS390XMOVBZload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10810,17 +10455,15 @@ func rewriteValueS390X_OpS390XMOVBZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -10838,15 +10481,13 @@ func rewriteValueS390X_OpS390XMOVBZload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -10867,7 +10508,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10875,7 +10516,6 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10893,7 +10533,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -10901,7 +10541,6 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10919,7 +10558,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -10927,7 +10566,6 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -10945,7 +10583,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -10953,7 +10591,6 @@ func rewriteValueS390X_OpS390XMOVBZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -11258,9 +10895,8 @@ func rewriteValueS390X_OpS390XMOVBZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11284,9 +10920,8 @@ func rewriteValueS390X_OpS390XMOVBZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11310,10 +10945,9 @@ func rewriteValueS390X_OpS390XMOVBZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11338,10 +10972,9 @@ func rewriteValueS390X_OpS390XMOVBZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11410,14 +11043,13 @@ func rewriteValueS390X_OpS390XMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -11434,7 +11066,7 @@ func rewriteValueS390X_OpS390XMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -11442,7 +11074,6 @@ func rewriteValueS390X_OpS390XMOVBload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11459,17 +11090,15 @@ func rewriteValueS390X_OpS390XMOVBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11487,15 +11116,13 @@ func rewriteValueS390X_OpS390XMOVBload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -11516,7 +11143,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -11524,7 +11151,6 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -11542,7 +11168,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -11550,7 +11176,6 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -11568,7 +11193,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -11576,7 +11201,6 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -11594,7 +11218,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -11602,7 +11226,6 @@ func rewriteValueS390X_OpS390XMOVBloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -11696,9 +11319,8 @@ func rewriteValueS390X_OpS390XMOVBreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11722,9 +11344,8 @@ func rewriteValueS390X_OpS390XMOVBreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11748,10 +11369,9 @@ func rewriteValueS390X_OpS390XMOVBreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11776,10 +11396,9 @@ func rewriteValueS390X_OpS390XMOVBreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -11823,14 +11442,13 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVBreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -11845,14 +11463,13 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVBZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVBstore)
                v.AuxInt = off
                v.Aux = sym
@@ -11867,7 +11484,7 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -11875,7 +11492,6 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -11893,14 +11509,13 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is20Bit(off) && ptr.Op != OpSB) {
                        break
                }
@@ -11917,7 +11532,7 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -11926,7 +11541,6 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11944,18 +11558,16 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -11974,16 +11586,14 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -12015,7 +11625,7 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12029,7 +11639,6 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12065,7 +11674,7 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12079,7 +11688,6 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12110,7 +11718,7 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12124,7 +11732,6 @@ func rewriteValueS390X_OpS390XMOVBstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12163,7 +11770,7 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12177,7 +11784,6 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12215,14 +11821,13 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12258,7 +11863,7 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12272,7 +11877,6 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12310,14 +11914,13 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12353,7 +11956,7 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -12367,7 +11970,6 @@ func rewriteValueS390X_OpS390XMOVBstore_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12388,14 +11990,13 @@ func rewriteValueS390X_OpS390XMOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(ValAndOff(sc).Off() + off)) {
                        break
                }
@@ -12412,7 +12013,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -12420,7 +12021,6 @@ func rewriteValueS390X_OpS390XMOVBstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ptr.Op != OpSB && canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -12447,11 +12047,10 @@ func rewriteValueS390X_OpS390XMOVBstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(p.Op != OpSB && x.Uses == 1 && ValAndOff(a).Off()+1 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -12471,7 +12070,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -12480,7 +12079,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -12499,7 +12097,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -12508,7 +12106,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -12527,7 +12124,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -12536,7 +12133,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -12555,7 +12151,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -12564,7 +12160,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -12597,7 +12192,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12614,7 +12209,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12647,7 +12241,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12664,7 +12258,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12697,7 +12290,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12714,7 +12307,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12747,7 +12339,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12764,7 +12356,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12802,7 +12393,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12819,7 +12410,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12857,7 +12447,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12874,7 +12464,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12915,7 +12504,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -12932,7 +12521,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -12970,7 +12558,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -12987,7 +12575,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13020,7 +12607,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13037,7 +12624,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13070,7 +12656,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13087,7 +12673,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13120,7 +12705,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13137,7 +12722,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13170,7 +12754,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13187,7 +12771,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13225,7 +12808,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13242,7 +12825,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13280,7 +12862,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13297,7 +12879,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13335,7 +12916,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13352,7 +12933,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13390,7 +12970,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13407,7 +12987,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13450,7 +13029,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13460,7 +13039,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13500,7 +13078,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13510,7 +13088,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13550,7 +13127,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13560,7 +13137,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13600,7 +13176,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13610,7 +13186,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13648,7 +13223,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13665,7 +13240,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13703,7 +13277,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13720,7 +13294,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13758,7 +13331,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13775,7 +13348,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13813,7 +13385,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13830,7 +13402,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13870,7 +13441,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13880,7 +13451,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13920,7 +13490,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -13930,7 +13500,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_20(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -13973,7 +13542,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -13983,7 +13552,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14023,7 +13591,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -14033,7 +13601,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14071,7 +13638,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14088,7 +13655,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14126,7 +13692,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -14143,7 +13709,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14181,7 +13746,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -14198,7 +13763,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14236,7 +13800,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -14253,7 +13817,6 @@ func rewriteValueS390X_OpS390XMOVBstoreidx_30(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -14671,14 +14234,13 @@ func rewriteValueS390X_OpS390XMOVDaddridx_0(v *Value) bool {
        for {
                c := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                d := v_0.AuxInt
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is20Bit(c+d) && x.Op != OpSB) {
                        break
                }
@@ -14719,7 +14281,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -14727,7 +14289,6 @@ func rewriteValueS390X_OpS390XMOVDaddridx_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                x := v_0.Args[0]
-               y := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
                        break
                }
@@ -14828,14 +14389,13 @@ func rewriteValueS390X_OpS390XMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -14852,7 +14412,7 @@ func rewriteValueS390X_OpS390XMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -14861,7 +14421,6 @@ func rewriteValueS390X_OpS390XMOVDload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%8 == 0 && (off1+off2)%8 == 0))) {
                        break
                }
@@ -14878,17 +14437,15 @@ func rewriteValueS390X_OpS390XMOVDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -14906,15 +14463,13 @@ func rewriteValueS390X_OpS390XMOVDload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -14935,7 +14490,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -14943,7 +14498,6 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -14961,7 +14515,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -14969,7 +14523,6 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -14987,7 +14540,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -14995,7 +14548,6 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -15013,7 +14565,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -15021,7 +14573,6 @@ func rewriteValueS390X_OpS390XMOVDloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -15075,9 +14626,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15102,9 +14652,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15129,9 +14678,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15156,9 +14704,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15183,9 +14730,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15210,9 +14756,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15237,9 +14782,8 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15264,10 +14808,9 @@ func rewriteValueS390X_OpS390XMOVDnop_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15297,10 +14840,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15326,10 +14868,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15355,10 +14896,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15384,10 +14924,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15413,10 +14952,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15442,10 +14980,9 @@ func rewriteValueS390X_OpS390XMOVDnop_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15514,9 +15051,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15541,9 +15077,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15568,9 +15103,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15595,9 +15129,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15622,9 +15155,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15649,9 +15181,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15676,9 +15207,8 @@ func rewriteValueS390X_OpS390XMOVDreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15707,10 +15237,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15736,10 +15265,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15765,10 +15293,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15794,10 +15321,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15823,10 +15349,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15852,10 +15377,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15881,10 +15405,9 @@ func rewriteValueS390X_OpS390XMOVDreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -15908,7 +15431,7 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -15916,7 +15439,6 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -15934,14 +15456,13 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c) && isU12Bit(off) && ptr.Op != OpSB) {
                        break
                }
@@ -15958,7 +15479,7 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -15968,7 +15489,6 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%8 == 0 && (off1+off2)%8 == 0))) {
                        break
                }
@@ -15986,18 +15506,16 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -16016,16 +15534,14 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -16057,12 +15573,11 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && is20Bit(i-8) && clobber(x)) {
                        break
                }
@@ -16094,13 +15609,12 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
-               mem := x.Args[3]
                if !(x.Uses == 1 && is20Bit(i-16) && clobber(x)) {
                        break
                }
@@ -16133,14 +15647,13 @@ func rewriteValueS390X_OpS390XMOVDstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[4]
+               mem := x.Args[4]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
                w2 := x.Args[3]
-               mem := x.Args[4]
                if !(x.Uses == 1 && is20Bit(i-24) && clobber(x)) {
                        break
                }
@@ -16164,14 +15677,13 @@ func rewriteValueS390X_OpS390XMOVDstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU12Bit(ValAndOff(sc).Off() + off)) {
                        break
                }
@@ -16188,7 +15700,7 @@ func rewriteValueS390X_OpS390XMOVDstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -16196,7 +15708,6 @@ func rewriteValueS390X_OpS390XMOVDstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ptr.Op != OpSB && canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -16216,7 +15727,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -16225,7 +15736,6 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -16244,7 +15754,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -16253,7 +15763,6 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -16272,7 +15781,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -16281,7 +15790,6 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -16300,7 +15808,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -16309,7 +15817,6 @@ func rewriteValueS390X_OpS390XMOVDstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -16351,14 +15858,13 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16394,7 +15900,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -16408,7 +15914,6 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16446,14 +15951,13 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16489,7 +15993,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -16503,7 +16007,6 @@ func rewriteValueS390X_OpS390XMOVHBRstore_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16545,7 +16048,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -16555,7 +16058,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16595,7 +16097,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -16605,7 +16107,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16645,7 +16146,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -16655,7 +16156,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16695,7 +16195,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -16705,7 +16205,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16743,7 +16242,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -16760,7 +16259,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16798,7 +16296,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -16815,7 +16313,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16853,7 +16350,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -16870,7 +16367,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16908,7 +16404,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -16925,7 +16421,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -16965,7 +16460,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -16975,7 +16470,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17015,7 +16509,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -17025,7 +16519,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17068,7 +16561,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -17078,7 +16571,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17118,7 +16610,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -17128,7 +16620,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17166,7 +16657,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -17183,7 +16674,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17221,7 +16711,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -17238,7 +16728,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17276,7 +16765,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -17293,7 +16782,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17331,7 +16819,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -17348,7 +16836,6 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx_10(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17398,14 +16885,13 @@ func rewriteValueS390X_OpS390XMOVHZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -17422,7 +16908,7 @@ func rewriteValueS390X_OpS390XMOVHZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -17431,7 +16917,6 @@ func rewriteValueS390X_OpS390XMOVHZload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%2 == 0 && (off1+off2)%2 == 0))) {
                        break
                }
@@ -17448,17 +16933,15 @@ func rewriteValueS390X_OpS390XMOVHZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -17476,15 +16959,13 @@ func rewriteValueS390X_OpS390XMOVHZload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -17505,7 +16986,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -17513,7 +16994,6 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -17531,7 +17011,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -17539,7 +17019,6 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -17557,7 +17036,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -17565,7 +17044,6 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -17583,7 +17061,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -17591,7 +17069,6 @@ func rewriteValueS390X_OpS390XMOVHZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -17709,9 +17186,8 @@ func rewriteValueS390X_OpS390XMOVHZreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17735,9 +17211,8 @@ func rewriteValueS390X_OpS390XMOVHZreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17761,10 +17236,9 @@ func rewriteValueS390X_OpS390XMOVHZreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17794,10 +17268,9 @@ func rewriteValueS390X_OpS390XMOVHZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -17866,14 +17339,13 @@ func rewriteValueS390X_OpS390XMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -17890,7 +17362,7 @@ func rewriteValueS390X_OpS390XMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -17899,7 +17371,6 @@ func rewriteValueS390X_OpS390XMOVHload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%2 == 0 && (off1+off2)%2 == 0))) {
                        break
                }
@@ -17916,17 +17387,15 @@ func rewriteValueS390X_OpS390XMOVHload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -17944,15 +17413,13 @@ func rewriteValueS390X_OpS390XMOVHload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -17973,7 +17440,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -17981,7 +17448,6 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -17999,7 +17465,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -18007,7 +17473,6 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18025,7 +17490,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -18033,7 +17498,6 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18051,7 +17515,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -18059,7 +17523,6 @@ func rewriteValueS390X_OpS390XMOVHloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18202,9 +17665,8 @@ func rewriteValueS390X_OpS390XMOVHreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18233,9 +17695,8 @@ func rewriteValueS390X_OpS390XMOVHreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18259,10 +17720,9 @@ func rewriteValueS390X_OpS390XMOVHreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18287,10 +17747,9 @@ func rewriteValueS390X_OpS390XMOVHreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18334,14 +17793,13 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVHreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -18356,14 +17814,13 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVHZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVHstore)
                v.AuxInt = off
                v.Aux = sym
@@ -18378,7 +17835,7 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -18386,7 +17843,6 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -18404,14 +17860,13 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(isU12Bit(off) && ptr.Op != OpSB) {
                        break
                }
@@ -18428,7 +17883,7 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -18438,7 +17893,6 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%2 == 0 && (off1+off2)%2 == 0))) {
                        break
                }
@@ -18456,18 +17910,16 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -18486,16 +17938,14 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -18527,7 +17977,7 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -18541,7 +17991,6 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18577,7 +18026,7 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -18591,7 +18040,6 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18622,7 +18070,7 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -18636,7 +18084,6 @@ func rewriteValueS390X_OpS390XMOVHstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18675,7 +18122,7 @@ func rewriteValueS390X_OpS390XMOVHstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -18689,7 +18136,6 @@ func rewriteValueS390X_OpS390XMOVHstore_10(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18712,14 +18158,13 @@ func rewriteValueS390X_OpS390XMOVHstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU12Bit(ValAndOff(sc).Off() + off)) {
                        break
                }
@@ -18736,7 +18181,7 @@ func rewriteValueS390X_OpS390XMOVHstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -18744,7 +18189,6 @@ func rewriteValueS390X_OpS390XMOVHstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ptr.Op != OpSB && canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -18771,11 +18215,10 @@ func rewriteValueS390X_OpS390XMOVHstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(p.Op != OpSB && x.Uses == 1 && ValAndOff(a).Off()+2 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -18798,7 +18241,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -18807,7 +18250,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18826,7 +18268,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -18835,7 +18277,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18854,7 +18295,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -18863,7 +18304,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18882,7 +18322,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -18891,7 +18331,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -18924,7 +18363,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -18941,7 +18380,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -18974,7 +18412,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -18991,7 +18429,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19024,7 +18461,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19041,7 +18478,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19074,7 +18510,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19091,7 +18527,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19129,7 +18564,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19146,7 +18581,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19184,7 +18618,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19201,7 +18635,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19242,7 +18675,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19259,7 +18692,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19297,7 +18729,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19314,7 +18746,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19347,7 +18778,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19364,7 +18795,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19397,7 +18827,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19414,7 +18844,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19447,7 +18876,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19464,7 +18893,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19497,7 +18925,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19514,7 +18942,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19552,7 +18979,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19569,7 +18996,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19607,7 +19033,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19624,7 +19050,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19662,7 +19087,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19679,7 +19104,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19717,7 +19141,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19734,7 +19158,6 @@ func rewriteValueS390X_OpS390XMOVHstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19776,14 +19199,13 @@ func rewriteValueS390X_OpS390XMOVWBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19819,7 +19241,7 @@ func rewriteValueS390X_OpS390XMOVWBRstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -19833,7 +19255,6 @@ func rewriteValueS390X_OpS390XMOVWBRstore_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19875,7 +19296,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19885,7 +19306,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19925,7 +19345,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -19935,7 +19355,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -19975,7 +19394,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -19985,7 +19404,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20025,7 +19443,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -20035,7 +19453,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != x.Args[2] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20073,7 +19490,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -20090,7 +19507,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20128,7 +19544,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -20145,7 +19561,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20183,7 +19598,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -20200,7 +19615,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20238,7 +19652,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -20255,7 +19669,6 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx_0(v *Value) bool {
                if w != w0.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20305,14 +19718,13 @@ func rewriteValueS390X_OpS390XMOVWZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -20329,7 +19741,7 @@ func rewriteValueS390X_OpS390XMOVWZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -20338,7 +19750,6 @@ func rewriteValueS390X_OpS390XMOVWZload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%4 == 0 && (off1+off2)%4 == 0))) {
                        break
                }
@@ -20355,17 +19766,15 @@ func rewriteValueS390X_OpS390XMOVWZload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -20383,15 +19792,13 @@ func rewriteValueS390X_OpS390XMOVWZload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -20412,7 +19819,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -20420,7 +19827,6 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20438,7 +19844,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -20446,7 +19852,6 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20464,7 +19869,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -20472,7 +19877,6 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20490,7 +19894,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -20498,7 +19902,6 @@ func rewriteValueS390X_OpS390XMOVWZloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20641,9 +20044,8 @@ func rewriteValueS390X_OpS390XMOVWZreg_0(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20671,9 +20073,8 @@ func rewriteValueS390X_OpS390XMOVWZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20697,10 +20098,9 @@ func rewriteValueS390X_OpS390XMOVWZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20725,10 +20125,9 @@ func rewriteValueS390X_OpS390XMOVWZreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -20780,14 +20179,13 @@ func rewriteValueS390X_OpS390XMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -20804,7 +20202,7 @@ func rewriteValueS390X_OpS390XMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -20813,7 +20211,6 @@ func rewriteValueS390X_OpS390XMOVWload_0(v *Value) bool {
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
                base := v_0.Args[0]
-               mem := v.Args[1]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%4 == 0 && (off1+off2)%4 == 0))) {
                        break
                }
@@ -20830,17 +20227,15 @@ func rewriteValueS390X_OpS390XMOVWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -20858,15 +20253,13 @@ func rewriteValueS390X_OpS390XMOVWload_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
-               mem := v.Args[1]
+               ptr := v_0.Args[0]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -20887,7 +20280,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -20895,7 +20288,6 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                ptr := v_0.Args[0]
                idx := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20913,7 +20305,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -20921,7 +20313,6 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20939,7 +20330,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -20947,7 +20338,6 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
                }
                d := v_1.AuxInt
                idx := v_1.Args[0]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -20965,7 +20355,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -20973,7 +20363,6 @@ func rewriteValueS390X_OpS390XMOVWloadidx_0(v *Value) bool {
                d := v_0.AuxInt
                idx := v_0.Args[0]
                ptr := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -21169,9 +20558,8 @@ func rewriteValueS390X_OpS390XMOVWreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21195,9 +20583,8 @@ func rewriteValueS390X_OpS390XMOVWreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21221,10 +20608,9 @@ func rewriteValueS390X_OpS390XMOVWreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21249,10 +20635,9 @@ func rewriteValueS390X_OpS390XMOVWreg_10(v *Value) bool {
                }
                off := x.AuxInt
                sym := x.Aux
-               = x.Args[2]
+               mem := x.Args[2]
                ptr := x.Args[0]
                idx := x.Args[1]
-               mem := x.Args[2]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21276,14 +20661,13 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVWreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -21298,14 +20682,13 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVWZreg {
                        break
                }
                x := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpS390XMOVWstore)
                v.AuxInt = off
                v.Aux = sym
@@ -21320,7 +20703,7 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -21328,7 +20711,6 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is20Bit(off1 + off2)) {
                        break
                }
@@ -21346,14 +20728,13 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1.AuxInt
-               mem := v.Args[2]
                if !(is16Bit(c) && isU12Bit(off) && ptr.Op != OpSB) {
                        break
                }
@@ -21370,7 +20751,7 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -21380,7 +20761,6 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                sym2 := v_0.Aux
                base := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && (base.Op != OpSB || (t.IsPtr() && t.Elem().Alignment()%4 == 0 && (off1+off2)%4 == 0))) {
                        break
                }
@@ -21398,18 +20778,16 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddridx {
                        break
                }
                off2 := v_0.AuxInt
                sym2 := v_0.Aux
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
                        break
                }
@@ -21428,16 +20806,14 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
        for {
                off := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADD {
                        break
                }
-               _ = v_0.Args[1]
-               ptr := v_0.Args[0]
                idx := v_0.Args[1]
+               ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB) {
                        break
                }
@@ -21476,14 +20852,13 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                if w != x.Args[1] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21519,7 +20894,7 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
@@ -21533,7 +20908,6 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                if w != x_1.Args[0] {
                        break
                }
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21564,12 +20938,11 @@ func rewriteValueS390X_OpS390XMOVWstore_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[2]
+               mem := x.Args[2]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
-               mem := x.Args[2]
                if !(p.Op != OpSB && x.Uses == 1 && is20Bit(i-4) && clobber(x)) {
                        break
                }
@@ -21604,13 +20977,12 @@ func rewriteValueS390X_OpS390XMOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
-               mem := x.Args[3]
                if !(x.Uses == 1 && is20Bit(i-8) && clobber(x)) {
                        break
                }
@@ -21643,14 +21015,13 @@ func rewriteValueS390X_OpS390XMOVWstore_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[4]
+               mem := x.Args[4]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
                w2 := x.Args[3]
-               mem := x.Args[4]
                if !(x.Uses == 1 && is20Bit(i-12) && clobber(x)) {
                        break
                }
@@ -21676,14 +21047,13 @@ func rewriteValueS390X_OpS390XMOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                s := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
                }
                off := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU12Bit(ValAndOff(sc).Off() + off)) {
                        break
                }
@@ -21700,7 +21070,7 @@ func rewriteValueS390X_OpS390XMOVWstoreconst_0(v *Value) bool {
        for {
                sc := v.AuxInt
                sym1 := v.Aux
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDaddr {
                        break
@@ -21708,7 +21078,6 @@ func rewriteValueS390X_OpS390XMOVWstoreconst_0(v *Value) bool {
                off := v_0.AuxInt
                sym2 := v_0.Aux
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(ptr.Op != OpSB && canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
                        break
                }
@@ -21735,11 +21104,10 @@ func rewriteValueS390X_OpS390XMOVWstoreconst_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[1]
+               mem := x.Args[1]
                if p != x.Args[0] {
                        break
                }
-               mem := x.Args[1]
                if !(p.Op != OpSB && x.Uses == 1 && ValAndOff(a).Off()+4 == ValAndOff(c).Off() && clobber(x)) {
                        break
                }
@@ -21762,7 +21130,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -21771,7 +21139,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                ptr := v_0.Args[0]
                idx := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -21790,7 +21157,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                idx := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -21799,7 +21166,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                ptr := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -21818,7 +21184,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                ptr := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -21827,7 +21193,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                d := v_1.AuxInt
                idx := v_1.Args[0]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -21846,7 +21211,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
        for {
                c := v.AuxInt
                sym := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XADDconst {
                        break
@@ -21855,7 +21220,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                idx := v_0.Args[0]
                ptr := v.Args[1]
                val := v.Args[2]
-               mem := v.Args[3]
                if !(is20Bit(c + d)) {
                        break
                }
@@ -21888,7 +21252,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -21905,7 +21269,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21938,7 +21301,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -21955,7 +21318,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -21988,7 +21350,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -22005,7 +21367,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22038,7 +21399,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -22055,7 +21416,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22093,7 +21453,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -22110,7 +21470,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22148,7 +21507,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -22165,7 +21524,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_0(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22206,7 +21564,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
@@ -22223,7 +21581,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22261,7 +21618,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_10(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if idx != x.Args[0] {
                        break
                }
@@ -22278,7 +21635,6 @@ func rewriteValueS390X_OpS390XMOVWstoreidx_10(v *Value) bool {
                if w != x_2.Args[0] {
                        break
                }
-               mem := x.Args[3]
                if !(x.Uses == 1 && clobber(x)) {
                        break
                }
@@ -22317,13 +21673,12 @@ func rewriteValueS390X_OpS390XMULLD_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (MULLDconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -22345,9 +21700,8 @@ func rewriteValueS390X_OpS390XMULLD_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22365,17 +21719,15 @@ func rewriteValueS390X_OpS390XMULLD_0(v *Value) bool {
        // result: (MULLDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22393,17 +21745,15 @@ func rewriteValueS390X_OpS390XMULLD_0(v *Value) bool {
        // result: (MULLDload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22429,9 +21779,8 @@ func rewriteValueS390X_OpS390XMULLD_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22589,7 +21938,7 @@ func rewriteValueS390X_OpS390XMULLDload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -22597,7 +21946,6 @@ func rewriteValueS390X_OpS390XMULLDload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -22615,7 +21963,7 @@ func rewriteValueS390X_OpS390XMULLDload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -22624,7 +21972,6 @@ func rewriteValueS390X_OpS390XMULLDload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -22659,13 +22006,12 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
        // cond:
        // result: (MULLWconst [int64(int32(c))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XMULLWconst)
                v.AuxInt = int64(int32(c))
                v.AddArg(x)
@@ -22684,9 +22030,8 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22704,17 +22049,15 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
        // result: (MULLWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22732,17 +22075,15 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
        // result: (MULLWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22768,9 +22109,8 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22796,9 +22136,8 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22816,17 +22155,15 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
        // result: (MULLWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22844,17 +22181,15 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
        // result: (MULLWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -22880,9 +22215,8 @@ func rewriteValueS390X_OpS390XMULLW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -23006,7 +22340,7 @@ func rewriteValueS390X_OpS390XMULLWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -23014,7 +22348,6 @@ func rewriteValueS390X_OpS390XMULLWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -23032,7 +22365,7 @@ func rewriteValueS390X_OpS390XMULLWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -23041,7 +22374,6 @@ func rewriteValueS390X_OpS390XMULLWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -23170,13 +22502,12 @@ func rewriteValueS390X_OpS390XOR_0(v *Value) bool {
        // cond: isU32Bit(c)
        // result: (ORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU32Bit(c)) {
                        break
                }
@@ -23500,9 +22831,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -23523,9 +22853,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -23543,17 +22872,15 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
        // result: (ORload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -23571,17 +22898,15 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
        // result: (ORload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -23607,9 +22932,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -23633,9 +22957,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -23689,9 +23012,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZload {
                        break
@@ -23731,9 +23053,8 @@ func rewriteValueS390X_OpS390XOR_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -23792,9 +23113,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZload {
                        break
@@ -23834,9 +23154,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -23890,9 +23209,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVWZload {
                        break
@@ -23937,14 +23255,13 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -23965,7 +23282,6 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -24001,9 +23317,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -24058,7 +23373,7 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -24070,10 +23385,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -24135,9 +23448,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -24193,14 +23505,13 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -24221,7 +23532,6 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -24257,9 +23567,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -24314,7 +23623,7 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -24326,10 +23635,8 @@ func rewriteValueS390X_OpS390XOR_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -24396,9 +23703,8 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -24449,10 +23755,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24503,10 +23808,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24557,10 +23861,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24611,10 +23914,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24672,10 +23974,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -24726,10 +24027,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -24780,10 +24080,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -24834,10 +24133,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -24881,10 +24179,9 @@ func rewriteValueS390X_OpS390XOR_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24940,10 +24237,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -24994,10 +24290,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25048,10 +24343,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25109,10 +24403,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -25163,10 +24456,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -25217,10 +24509,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -25271,10 +24562,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -25318,10 +24608,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25372,10 +24661,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25426,10 +24714,9 @@ func rewriteValueS390X_OpS390XOR_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25485,10 +24772,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -25546,10 +24832,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVWZloadidx {
                        break
@@ -25600,10 +24885,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVWZloadidx {
                        break
@@ -25654,10 +24938,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVWZloadidx {
                        break
@@ -25708,10 +24991,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVWZloadidx {
                        break
@@ -25760,15 +25042,14 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -25792,7 +25073,6 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -25829,15 +25109,14 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -25861,7 +25140,6 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -25898,15 +25176,14 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -25930,7 +25207,6 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -25967,15 +25243,14 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -25999,7 +25274,6 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -26036,10 +25310,9 @@ func rewriteValueS390X_OpS390XOR_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -26110,10 +25383,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -26179,10 +25451,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -26248,10 +25519,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -26310,7 +25580,7 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26322,11 +25592,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26379,7 +25647,7 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26391,11 +25659,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26461,10 +25727,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26530,10 +25795,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26586,7 +25850,7 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26598,11 +25862,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26655,7 +25917,7 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26667,11 +25929,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26737,10 +25997,9 @@ func rewriteValueS390X_OpS390XOR_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26811,10 +26070,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -26874,15 +26132,14 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26906,7 +26163,6 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -26943,15 +26199,14 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -26975,7 +26230,6 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -27012,15 +26266,14 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27044,7 +26297,6 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -27081,15 +26333,14 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27113,7 +26364,6 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0-16 && j1%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -27150,10 +26400,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -27219,10 +26468,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -27288,10 +26536,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -27357,10 +26604,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -27419,7 +26665,7 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27431,11 +26677,9 @@ func rewriteValueS390X_OpS390XOR_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27493,7 +26737,7 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27505,11 +26749,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27575,10 +26817,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27644,10 +26885,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27700,7 +26940,7 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27712,11 +26952,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27769,7 +27007,7 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -27781,11 +27019,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27851,10 +27087,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27920,10 +27155,9 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -27978,9 +27212,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -28036,9 +27269,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZload {
                        break
@@ -28084,9 +27316,8 @@ func rewriteValueS390X_OpS390XOR_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -28155,9 +27386,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -28207,9 +27437,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -28271,9 +27500,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVWZreg {
                        break
@@ -28322,14 +27550,13 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -28350,7 +27577,6 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -28388,9 +27614,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -28447,7 +27672,7 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -28459,10 +27684,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -28526,9 +27749,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -28590,14 +27812,13 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -28622,7 +27843,6 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -28664,9 +27884,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -28727,7 +27946,7 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -28743,10 +27962,8 @@ func rewriteValueS390X_OpS390XOR_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -28823,9 +28040,8 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -28882,10 +28098,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -28938,10 +28153,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -28994,10 +28208,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29050,10 +28263,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29113,10 +28325,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -29169,10 +28380,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -29225,10 +28435,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -29281,10 +28490,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -29334,10 +28542,9 @@ func rewriteValueS390X_OpS390XOR_100(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29403,10 +28610,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29467,10 +28673,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29531,10 +28736,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29602,10 +28806,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -29666,10 +28869,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -29730,10 +28932,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -29794,10 +28995,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -29851,10 +29051,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29913,10 +29112,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -29975,10 +29173,9 @@ func rewriteValueS390X_OpS390XOR_110(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -30042,10 +29239,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLDconst {
                        break
@@ -30111,10 +29307,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVWZreg {
                        break
@@ -30173,10 +29368,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVWZreg {
                        break
@@ -30235,10 +29429,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVWZreg {
                        break
@@ -30297,10 +29490,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVWZreg {
                        break
@@ -30353,15 +29545,14 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -30385,7 +29576,6 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -30424,15 +29614,14 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -30456,7 +29645,6 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -30495,15 +29683,14 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -30527,7 +29714,6 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -30566,15 +29752,14 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -30598,7 +29783,6 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -30637,10 +29821,9 @@ func rewriteValueS390X_OpS390XOR_120(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -30713,10 +29896,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -30784,10 +29966,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -30855,10 +30036,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -30919,7 +30099,7 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -30931,11 +30111,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -30990,7 +30168,7 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31002,11 +30180,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31074,10 +30250,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31145,10 +30320,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31203,7 +30377,7 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31215,11 +30389,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31274,7 +30446,7 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31286,11 +30458,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31358,10 +30528,9 @@ func rewriteValueS390X_OpS390XOR_130(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31434,10 +30603,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -31503,15 +30671,14 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31539,7 +30706,6 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31582,15 +30748,14 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31618,7 +30783,6 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31661,15 +30825,14 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31697,7 +30860,6 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31740,15 +30902,14 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -31776,7 +30937,6 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+2 && j1 == j0+16 && j0%32 == 0 && x0.Uses == 1 && x1.Uses == 1 && r0.Uses == 1 && r1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(r0) && clobber(r1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -31819,10 +30979,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -31898,10 +31057,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -31977,10 +31135,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -32056,10 +31213,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XOR {
                        break
@@ -32124,7 +31280,7 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -32140,11 +31296,9 @@ func rewriteValueS390X_OpS390XOR_140(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32208,7 +31362,7 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -32224,11 +31378,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32304,10 +31456,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32383,10 +31534,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32445,7 +31595,7 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -32461,11 +31611,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32524,7 +31672,7 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                if or.Op != OpS390XOR {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLDconst {
                        break
@@ -32540,11 +31688,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32620,10 +31766,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32699,10 +31844,9 @@ func rewriteValueS390X_OpS390XOR_150(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLDconst {
                        break
@@ -32775,13 +31919,12 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
        // cond:
        // result: (ORWconst [int64(int32(c))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XORWconst)
                v.AuxInt = int64(int32(c))
                v.AddArg(x)
@@ -32845,9 +31988,8 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -32868,9 +32010,8 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -32888,17 +32029,15 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
        // result: (ORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -32916,17 +32055,15 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
        // result: (ORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -32952,9 +32089,8 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -32980,9 +32116,8 @@ func rewriteValueS390X_OpS390XORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -33005,17 +32140,15 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
        // result: (ORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -33033,17 +32166,15 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
        // result: (ORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -33069,9 +32200,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -33095,9 +32225,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33151,9 +32280,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZload {
                        break
@@ -33193,9 +32321,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33249,9 +32376,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZload {
                        break
@@ -33296,14 +32422,13 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -33324,7 +32449,6 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                if mem != x1.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -33360,9 +32484,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -33417,7 +32540,7 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -33429,10 +32552,8 @@ func rewriteValueS390X_OpS390XORW_10(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
-               y := or.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -33499,9 +32620,8 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -33552,10 +32672,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33606,10 +32725,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33660,10 +32778,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33714,10 +32831,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -33775,10 +32891,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -33829,10 +32944,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -33883,10 +32997,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -33937,10 +33050,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVBZloadidx {
                        break
@@ -33984,10 +33096,9 @@ func rewriteValueS390X_OpS390XORW_20(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -34043,10 +33154,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -34097,10 +33207,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -34151,10 +33260,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -34212,10 +33320,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -34266,10 +33373,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -34320,10 +33426,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -34374,10 +33479,9 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                x1 := v.Args[1]
                if x1.Op != OpS390XMOVHZloadidx {
                        break
@@ -34426,15 +33530,14 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -34458,7 +33561,6 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34495,15 +33597,14 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -34527,7 +33628,6 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34564,15 +33664,14 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -34596,7 +33695,6 @@ func rewriteValueS390X_OpS390XORW_30(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34638,15 +33736,14 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -34670,7 +33767,6 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                if mem != x1.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(i1 == i0+1 && j1 == j0-8 && j1%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -34707,10 +33803,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -34776,10 +33871,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -34845,10 +33939,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -34914,10 +34007,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -34976,7 +34068,7 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -34988,11 +34080,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35045,7 +34135,7 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -35057,11 +34147,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35127,10 +34215,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35196,10 +34283,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35252,7 +34338,7 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -35264,11 +34350,9 @@ func rewriteValueS390X_OpS390XORW_40(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35326,7 +34410,7 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s1 := or.Args[0]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -35338,11 +34422,9 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
-               y := or.Args[1]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35408,10 +34490,9 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35477,10 +34558,9 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                s0 := v.Args[1]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35535,9 +34615,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -35593,9 +34672,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZload {
                        break
@@ -35641,9 +34719,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -35705,9 +34782,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -35756,14 +34832,13 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35784,7 +34859,6 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                if mem != x0.Args[1] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -35822,9 +34896,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               _ = x1.Args[1]
-               p := x1.Args[0]
                mem := x1.Args[1]
+               p := x1.Args[0]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -35881,7 +34954,7 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -35893,10 +34966,8 @@ func rewriteValueS390X_OpS390XORW_50(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
-               y := or.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -35965,9 +35036,8 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               _ = x0.Args[1]
-               p := x0.Args[0]
                mem := x0.Args[1]
+               p := x0.Args[0]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -36020,10 +35090,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36076,10 +35145,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36132,10 +35200,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36188,10 +35255,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36251,10 +35317,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -36307,10 +35372,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -36363,10 +35427,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -36419,10 +35482,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                x0 := v.Args[1]
                if x0.Op != OpS390XMOVBZloadidx {
                        break
@@ -36472,10 +35534,9 @@ func rewriteValueS390X_OpS390XORW_60(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36539,10 +35600,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36601,10 +35661,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36663,10 +35722,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                sh := v.Args[1]
                if sh.Op != OpS390XSLWconst {
                        break
@@ -36732,10 +35790,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -36794,10 +35851,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -36856,10 +35912,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -36918,10 +35973,9 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                r0 := v.Args[1]
                if r0.Op != OpS390XMOVHZreg {
                        break
@@ -36974,15 +36028,14 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37006,7 +36059,6 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37045,15 +36097,14 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37077,7 +36128,6 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37116,15 +36166,14 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37148,7 +36197,6 @@ func rewriteValueS390X_OpS390XORW_70(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37192,15 +36240,14 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37224,7 +36271,6 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                if mem != x0.Args[2] {
                        break
                }
-               y := or.Args[1]
                if !(p.Op != OpSB && i1 == i0+1 && j1 == j0+8 && j0%16 == 0 && x0.Uses == 1 && x1.Uses == 1 && s0.Uses == 1 && s1.Uses == 1 && or.Uses == 1 && mergePoint(b, x0, x1) != nil && clobber(x0) && clobber(x1) && clobber(s0) && clobber(s1) && clobber(or)) {
                        break
                }
@@ -37263,10 +36309,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -37334,10 +36379,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -37405,10 +36449,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                p := x1.Args[0]
                idx := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -37476,10 +36519,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i1 := x1.AuxInt
                s := x1.Aux
-               = x1.Args[2]
+               mem := x1.Args[2]
                idx := x1.Args[0]
                p := x1.Args[1]
-               mem := x1.Args[2]
                or := v.Args[1]
                if or.Op != OpS390XORW {
                        break
@@ -37540,7 +36582,7 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37552,11 +36594,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37611,7 +36651,7 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37623,11 +36663,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37695,10 +36733,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37766,10 +36803,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37824,7 +36860,7 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37836,11 +36872,9 @@ func rewriteValueS390X_OpS390XORW_80(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37900,7 +36934,7 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool {
                if or.Op != OpS390XORW {
                        break
                }
-               = or.Args[1]
+               y := or.Args[1]
                s0 := or.Args[0]
                if s0.Op != OpS390XSLWconst {
                        break
@@ -37912,11 +36946,9 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
-               y := or.Args[1]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -37984,10 +37016,9 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                p := x0.Args[0]
                idx := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -38055,10 +37086,9 @@ func rewriteValueS390X_OpS390XORW_90(v *Value) bool {
                }
                i0 := x0.AuxInt
                s := x0.Aux
-               = x0.Args[2]
+               mem := x0.Args[2]
                idx := x0.Args[0]
                p := x0.Args[1]
-               mem := x0.Args[2]
                s1 := v.Args[1]
                if s1.Op != OpS390XSLWconst {
                        break
@@ -38156,7 +37186,7 @@ func rewriteValueS390X_OpS390XORWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -38164,7 +37194,6 @@ func rewriteValueS390X_OpS390XORWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -38182,7 +37211,7 @@ func rewriteValueS390X_OpS390XORWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -38191,7 +37220,6 @@ func rewriteValueS390X_OpS390XORWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -38287,7 +37315,7 @@ func rewriteValueS390X_OpS390XORload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -38295,7 +37323,6 @@ func rewriteValueS390X_OpS390XORload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -38313,7 +37340,7 @@ func rewriteValueS390X_OpS390XORload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -38322,7 +37349,6 @@ func rewriteValueS390X_OpS390XORload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -38403,13 +37429,12 @@ func rewriteValueS390X_OpS390XSLD_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSLD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -38609,13 +37634,12 @@ func rewriteValueS390X_OpS390XSLW_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSLW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -38815,13 +37839,12 @@ func rewriteValueS390X_OpS390XSRAD_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSRAD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -39038,13 +38061,12 @@ func rewriteValueS390X_OpS390XSRAW_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSRAW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -39261,13 +38283,12 @@ func rewriteValueS390X_OpS390XSRD_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSRD)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -39498,13 +38519,12 @@ func rewriteValueS390X_OpS390XSRW_0(v *Value) bool {
                if v_1.Op != OpS390XAND {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_1_0.AuxInt
-               y := v_1.Args[1]
                v.reset(OpS390XSRW)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32)
@@ -39696,13 +38716,12 @@ func rewriteValueS390X_OpS390XSTM2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
-               mem := x.Args[3]
                if !(x.Uses == 1 && is20Bit(i-8) && clobber(x)) {
                        break
                }
@@ -39723,7 +38742,7 @@ func rewriteValueS390X_OpS390XSTM2_0(v *Value) bool {
        for {
                i := v.AuxInt
                s := v.Aux
-               = v.Args[3]
+               mem := v.Args[3]
                p := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XSRDconst {
@@ -39736,7 +38755,6 @@ func rewriteValueS390X_OpS390XSTM2_0(v *Value) bool {
                if x != v.Args[2] {
                        break
                }
-               mem := v.Args[3]
                v.reset(OpS390XMOVDstore)
                v.AuxInt = i
                v.Aux = s
@@ -39768,13 +38786,12 @@ func rewriteValueS390X_OpS390XSTMG2_0(v *Value) bool {
                if x.Aux != s {
                        break
                }
-               = x.Args[3]
+               mem := x.Args[3]
                if p != x.Args[0] {
                        break
                }
                w0 := x.Args[1]
                w1 := x.Args[2]
-               mem := x.Args[3]
                if !(x.Uses == 1 && is20Bit(i-16) && clobber(x)) {
                        break
                }
@@ -39816,13 +38833,12 @@ func rewriteValueS390X_OpS390XSUB_0(v *Value) bool {
        // cond: is32Bit(c)
        // result: (NEG (SUBconst <v.Type> x [c]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(is32Bit(c)) {
                        break
                }
@@ -39837,9 +38853,8 @@ func rewriteValueS390X_OpS390XSUB_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpS390XMOVDconst)
@@ -39859,9 +38874,8 @@ func rewriteValueS390X_OpS390XSUB_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -39898,13 +38912,12 @@ func rewriteValueS390X_OpS390XSUBW_0(v *Value) bool {
        // cond:
        // result: (NEGW (SUBWconst <v.Type> x [int64(int32(c))]))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XNEGW)
                v0 := b.NewValue0(v.Pos, OpS390XSUBWconst, v.Type)
                v0.AuxInt = int64(int32(c))
@@ -39916,9 +38929,8 @@ func rewriteValueS390X_OpS390XSUBW_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpS390XMOVDconst)
@@ -39938,9 +38950,8 @@ func rewriteValueS390X_OpS390XSUBW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -39966,9 +38977,8 @@ func rewriteValueS390X_OpS390XSUBW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40017,7 +39027,7 @@ func rewriteValueS390X_OpS390XSUBWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -40025,7 +39035,6 @@ func rewriteValueS390X_OpS390XSUBWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -40043,7 +39052,7 @@ func rewriteValueS390X_OpS390XSUBWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -40052,7 +39061,6 @@ func rewriteValueS390X_OpS390XSUBWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -40170,7 +39178,7 @@ func rewriteValueS390X_OpS390XSUBload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -40178,7 +39186,6 @@ func rewriteValueS390X_OpS390XSUBload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -40196,7 +39203,7 @@ func rewriteValueS390X_OpS390XSUBload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -40205,7 +39212,6 @@ func rewriteValueS390X_OpS390XSUBload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -40298,13 +39304,12 @@ func rewriteValueS390X_OpS390XXOR_0(v *Value) bool {
        // cond: isU32Bit(c)
        // result: (XORconst [c] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                if !(isU32Bit(c)) {
                        break
                }
@@ -40409,9 +39414,8 @@ func rewriteValueS390X_OpS390XXOR_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpS390XMOVDconst)
@@ -40431,9 +39435,8 @@ func rewriteValueS390X_OpS390XXOR_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40451,17 +39454,15 @@ func rewriteValueS390X_OpS390XXOR_0(v *Value) bool {
        // result: (XORload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40479,17 +39480,15 @@ func rewriteValueS390X_OpS390XXOR_0(v *Value) bool {
        // result: (XORload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVDload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40518,9 +39517,8 @@ func rewriteValueS390X_OpS390XXOR_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40556,13 +39554,12 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
        // cond:
        // result: (XORWconst [int64(int32(c))] x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpS390XMOVDconst {
                        break
                }
                c := v_0.AuxInt
-               x := v.Args[1]
                v.reset(OpS390XXORWconst)
                v.AuxInt = int64(int32(c))
                v.AddArg(x)
@@ -40626,9 +39623,8 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
        // cond:
        // result: (MOVDconst [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpS390XMOVDconst)
@@ -40648,9 +39644,8 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40668,17 +39663,15 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
        // result: (XORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40696,17 +39689,15 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
        // result: (XORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40732,9 +39723,8 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40760,9 +39750,8 @@ func rewriteValueS390X_OpS390XXORW_0(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40783,17 +39772,15 @@ func rewriteValueS390X_OpS390XXORW_10(v *Value) bool {
        // result: (XORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40811,17 +39798,15 @@ func rewriteValueS390X_OpS390XXORW_10(v *Value) bool {
        // result: (XORWload <t> [off] {sym} x ptr mem)
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                g := v.Args[0]
                if g.Op != OpS390XMOVWZload {
                        break
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
-               x := v.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40847,9 +39832,8 @@ func rewriteValueS390X_OpS390XXORW_10(v *Value) bool {
                }
                off := g.AuxInt
                sym := g.Aux
-               _ = g.Args[1]
-               ptr := g.Args[0]
                mem := g.Args[1]
+               ptr := g.Args[0]
                if !(ptr.Op != OpSB && is20Bit(off) && canMergeLoadClobber(v, g, x) && clobber(g)) {
                        break
                }
@@ -40902,7 +39886,7 @@ func rewriteValueS390X_OpS390XXORWload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -40910,7 +39894,6 @@ func rewriteValueS390X_OpS390XXORWload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -40928,7 +39911,7 @@ func rewriteValueS390X_OpS390XXORWload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -40937,7 +39920,6 @@ func rewriteValueS390X_OpS390XXORWload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -41022,7 +40004,7 @@ func rewriteValueS390X_OpS390XXORload_0(v *Value) bool {
        for {
                off1 := v.AuxInt
                sym := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XADDconst {
@@ -41030,7 +40012,6 @@ func rewriteValueS390X_OpS390XXORload_0(v *Value) bool {
                }
                off2 := v_1.AuxInt
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(off1+off2)) {
                        break
                }
@@ -41048,7 +40029,7 @@ func rewriteValueS390X_OpS390XXORload_0(v *Value) bool {
        for {
                o1 := v.AuxInt
                s1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                x := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpS390XMOVDaddr {
@@ -41057,7 +40038,6 @@ func rewriteValueS390X_OpS390XXORload_0(v *Value) bool {
                o2 := v_1.AuxInt
                s2 := v_1.Aux
                ptr := v_1.Args[0]
-               mem := v.Args[2]
                if !(ptr.Op != OpSB && is20Bit(o1+o2) && canMergeSym(s1, s2)) {
                        break
                }
@@ -41082,9 +40062,8 @@ func rewriteValueS390X_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpS390XAddTupleFirst32 {
                        break
                }
-               _ = v_0.Args[1]
-               val := v_0.Args[0]
                tuple := v_0.Args[1]
+               val := v_0.Args[0]
                v.reset(OpS390XADDW)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpSelect0, t)
@@ -41101,9 +40080,8 @@ func rewriteValueS390X_OpSelect0_0(v *Value) bool {
                if v_0.Op != OpS390XAddTupleFirst64 {
                        break
                }
-               _ = v_0.Args[1]
-               val := v_0.Args[0]
                tuple := v_0.Args[1]
+               val := v_0.Args[0]
                v.reset(OpS390XADD)
                v.AddArg(val)
                v0 := b.NewValue0(v.Pos, OpSelect0, t)
@@ -41122,7 +40100,6 @@ func rewriteValueS390X_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpS390XAddTupleFirst32 {
                        break
                }
-               _ = v_0.Args[1]
                tuple := v_0.Args[1]
                v.reset(OpSelect1)
                v.AddArg(tuple)
@@ -41136,7 +40113,6 @@ func rewriteValueS390X_OpSelect1_0(v *Value) bool {
                if v_0.Op != OpS390XAddTupleFirst64 {
                        break
                }
-               _ = v_0.Args[1]
                tuple := v_0.Args[1]
                v.reset(OpSelect1)
                v.AddArg(tuple)
@@ -41258,10 +40234,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (FMOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8 && is64BitFloat(val.Type)) {
                        break
                }
@@ -41276,10 +40251,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (FMOVSstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4 && is32BitFloat(val.Type)) {
                        break
                }
@@ -41294,10 +40268,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (MOVDstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8) {
                        break
                }
@@ -41312,10 +40285,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (MOVWstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4) {
                        break
                }
@@ -41330,10 +40302,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (MOVHstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -41348,10 +40319,9 @@ func rewriteValueS390X_OpStore_0(v *Value) bool {
        // result: (MOVBstore ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -41368,9 +40338,8 @@ func rewriteValueS390X_OpSub16_0(v *Value) bool {
        // cond:
        // result: (SUBW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSUBW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41382,9 +40351,8 @@ func rewriteValueS390X_OpSub32_0(v *Value) bool {
        // cond:
        // result: (SUBW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSUBW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41396,9 +40364,8 @@ func rewriteValueS390X_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (FSUBS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFSUBS)
                v.AddArg(x)
                v.AddArg(y)
@@ -41410,9 +40377,8 @@ func rewriteValueS390X_OpSub64_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -41424,9 +40390,8 @@ func rewriteValueS390X_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (FSUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XFSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -41438,9 +40403,8 @@ func rewriteValueS390X_OpSub8_0(v *Value) bool {
        // cond:
        // result: (SUBW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSUBW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41452,9 +40416,8 @@ func rewriteValueS390X_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (SUB x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XSUB)
                v.AddArg(x)
                v.AddArg(y)
@@ -41551,10 +40514,9 @@ func rewriteValueS390X_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpS390XLoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -41568,9 +40530,8 @@ func rewriteValueS390X_OpXor16_0(v *Value) bool {
        // cond:
        // result: (XORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XXORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41582,9 +40543,8 @@ func rewriteValueS390X_OpXor32_0(v *Value) bool {
        // cond:
        // result: (XORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XXORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41596,9 +40556,8 @@ func rewriteValueS390X_OpXor64_0(v *Value) bool {
        // cond:
        // result: (XOR x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XXOR)
                v.AddArg(x)
                v.AddArg(y)
@@ -41610,9 +40569,8 @@ func rewriteValueS390X_OpXor8_0(v *Value) bool {
        // cond:
        // result: (XORW x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpS390XXORW)
                v.AddArg(x)
                v.AddArg(y)
@@ -41628,7 +40586,6 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -41642,9 +40599,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVBstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -41658,9 +40614,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVHstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -41674,9 +40629,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVWstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -41690,9 +40644,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVDstoreconst)
                v.AuxInt = 0
                v.AddArg(destptr)
@@ -41706,9 +40659,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
@@ -41726,9 +40678,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -41746,9 +40697,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVHstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
@@ -41766,9 +40716,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpS390XMOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
@@ -41784,9 +40733,8 @@ func rewriteValueS390X_OpZero_0(v *Value) bool {
        // result: (CLEAR [makeValAndOff(s, 0)] destptr mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s > 0 && s <= 1024) {
                        break
                }
@@ -41805,9 +40753,8 @@ func rewriteValueS390X_OpZero_10(v *Value) bool {
        // result: (LoweredZero [s%256] destptr (ADDconst <destptr.Type> destptr [(s/256)*256]) mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s > 1024) {
                        break
                }
@@ -42073,7 +41020,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDLT {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42088,7 +41035,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XLT
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42102,7 +41048,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDLE {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42117,7 +41063,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XLE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42131,7 +41076,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDGT {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42146,7 +41091,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XGT
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42160,7 +41104,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDGE {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42175,7 +41119,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XGE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42189,7 +41132,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDEQ {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42204,7 +41147,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XEQ
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42218,7 +41160,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDNE {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42233,7 +41175,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XNE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42247,7 +41188,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDGTnoinv {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42262,7 +41203,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XGTF
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42276,7 +41216,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v.Op != OpS390XMOVDGEnoinv {
                                break
                        }
-                       = v.Args[2]
+                       cmp := v.Args[2]
                        v_0 := v.Args[0]
                        if v_0.Op != OpS390XMOVDconst {
                                break
@@ -42291,7 +41231,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v.Args[2]
                        b.Kind = BlockS390XGEF
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42441,7 +41380,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDLT {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42456,7 +41395,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XLT
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42477,7 +41415,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDLE {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42492,7 +41430,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XLE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42513,7 +41450,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDGT {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42528,7 +41465,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XGT
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42549,7 +41485,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDGE {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42564,7 +41500,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XGE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42585,7 +41520,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDEQ {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42600,7 +41535,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XEQ
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42621,7 +41555,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDNE {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42636,7 +41570,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XNE
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42657,7 +41590,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDGTnoinv {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42672,7 +41605,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XGTF
                        b.SetControl(cmp)
                        b.Aux = nil
@@ -42693,7 +41625,7 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0.Op != OpS390XMOVDGEnoinv {
                                break
                        }
-                       = v_0.Args[2]
+                       cmp := v_0.Args[2]
                        v_0_0 := v_0.Args[0]
                        if v_0_0.Op != OpS390XMOVDconst {
                                break
@@ -42708,7 +41640,6 @@ func rewriteBlockS390X(b *Block) bool {
                        if v_0_1.AuxInt != 1 {
                                break
                        }
-                       cmp := v_0.Args[2]
                        b.Kind = BlockS390XGEF
                        b.SetControl(cmp)
                        b.Aux = nil
index 9e0eee8fa0fe33d19fa71a90d061711d06ae4279..8418e51f6a5c3d015b909a3d2c4d2484b25a76b6 100644 (file)
@@ -541,9 +541,8 @@ func rewriteValueWasm_OpAdd16_0(v *Value) bool {
        // cond:
        // result: (I64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -555,9 +554,8 @@ func rewriteValueWasm_OpAdd32_0(v *Value) bool {
        // cond:
        // result: (I64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -569,9 +567,8 @@ func rewriteValueWasm_OpAdd32F_0(v *Value) bool {
        // cond:
        // result: (F64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -583,9 +580,8 @@ func rewriteValueWasm_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (I64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -597,9 +593,8 @@ func rewriteValueWasm_OpAdd64F_0(v *Value) bool {
        // cond:
        // result: (F64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -611,9 +606,8 @@ func rewriteValueWasm_OpAdd8_0(v *Value) bool {
        // cond:
        // result: (I64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -625,9 +619,8 @@ func rewriteValueWasm_OpAddPtr_0(v *Value) bool {
        // cond:
        // result: (I64Add x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Add)
                v.AddArg(x)
                v.AddArg(y)
@@ -652,9 +645,8 @@ func rewriteValueWasm_OpAnd16_0(v *Value) bool {
        // cond:
        // result: (I64And x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64And)
                v.AddArg(x)
                v.AddArg(y)
@@ -666,9 +658,8 @@ func rewriteValueWasm_OpAnd32_0(v *Value) bool {
        // cond:
        // result: (I64And x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64And)
                v.AddArg(x)
                v.AddArg(y)
@@ -680,9 +671,8 @@ func rewriteValueWasm_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (I64And x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64And)
                v.AddArg(x)
                v.AddArg(y)
@@ -694,9 +684,8 @@ func rewriteValueWasm_OpAnd8_0(v *Value) bool {
        // cond:
        // result: (I64And x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64And)
                v.AddArg(x)
                v.AddArg(y)
@@ -708,9 +697,8 @@ func rewriteValueWasm_OpAndB_0(v *Value) bool {
        // cond:
        // result: (I64And x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64And)
                v.AddArg(x)
                v.AddArg(y)
@@ -723,10 +711,9 @@ func rewriteValueWasm_OpClosureCall_0(v *Value) bool {
        // result: (LoweredClosureCall [argwid] entry closure mem)
        for {
                argwid := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                entry := v.Args[0]
                closure := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmLoweredClosureCall)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -892,9 +879,8 @@ func rewriteValueWasm_OpConvert_0(v *Value) bool {
        // result: (LoweredConvert <t> x mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               x := v.Args[0]
                mem := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmLoweredConvert)
                v.Type = t
                v.AddArg(x)
@@ -1136,9 +1122,8 @@ func rewriteValueWasm_OpDiv16_0(v *Value) bool {
        // cond:
        // result: (I64DivS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -1156,9 +1141,8 @@ func rewriteValueWasm_OpDiv16u_0(v *Value) bool {
        // cond:
        // result: (I64DivU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1176,9 +1160,8 @@ func rewriteValueWasm_OpDiv32_0(v *Value) bool {
        // cond:
        // result: (I64DivS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -1194,9 +1177,8 @@ func rewriteValueWasm_OpDiv32F_0(v *Value) bool {
        // cond:
        // result: (F64Div x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Div)
                v.AddArg(x)
                v.AddArg(y)
@@ -1210,9 +1192,8 @@ func rewriteValueWasm_OpDiv32u_0(v *Value) bool {
        // cond:
        // result: (I64DivU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -1228,9 +1209,8 @@ func rewriteValueWasm_OpDiv64_0(v *Value) bool {
        // cond:
        // result: (I64DivS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivS)
                v.AddArg(x)
                v.AddArg(y)
@@ -1242,9 +1222,8 @@ func rewriteValueWasm_OpDiv64F_0(v *Value) bool {
        // cond:
        // result: (F64Div x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Div)
                v.AddArg(x)
                v.AddArg(y)
@@ -1256,9 +1235,8 @@ func rewriteValueWasm_OpDiv64u_0(v *Value) bool {
        // cond:
        // result: (I64DivU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1272,9 +1250,8 @@ func rewriteValueWasm_OpDiv8_0(v *Value) bool {
        // cond:
        // result: (I64DivS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -1292,9 +1269,8 @@ func rewriteValueWasm_OpDiv8u_0(v *Value) bool {
        // cond:
        // result: (I64DivU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64DivU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -1312,9 +1288,8 @@ func rewriteValueWasm_OpEq16_0(v *Value) bool {
        // cond:
        // result: (I64Eq (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1332,9 +1307,8 @@ func rewriteValueWasm_OpEq32_0(v *Value) bool {
        // cond:
        // result: (I64Eq (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -1352,9 +1326,8 @@ func rewriteValueWasm_OpEq32F_0(v *Value) bool {
        // cond:
        // result: (F64Eq (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Eq)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -1370,9 +1343,8 @@ func rewriteValueWasm_OpEq64_0(v *Value) bool {
        // cond:
        // result: (I64Eq x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v.AddArg(x)
                v.AddArg(y)
@@ -1384,9 +1356,8 @@ func rewriteValueWasm_OpEq64F_0(v *Value) bool {
        // cond:
        // result: (F64Eq x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Eq)
                v.AddArg(x)
                v.AddArg(y)
@@ -1400,9 +1371,8 @@ func rewriteValueWasm_OpEq8_0(v *Value) bool {
        // cond:
        // result: (I64Eq (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -1418,9 +1388,8 @@ func rewriteValueWasm_OpEqB_0(v *Value) bool {
        // cond:
        // result: (I64Eq x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v.AddArg(x)
                v.AddArg(y)
@@ -1432,9 +1401,8 @@ func rewriteValueWasm_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (I64Eq x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Eq)
                v.AddArg(x)
                v.AddArg(y)
@@ -1448,9 +1416,8 @@ func rewriteValueWasm_OpGeq16_0(v *Value) bool {
        // cond:
        // result: (I64GeS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -1468,9 +1435,8 @@ func rewriteValueWasm_OpGeq16U_0(v *Value) bool {
        // cond:
        // result: (I64GeU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1488,9 +1454,8 @@ func rewriteValueWasm_OpGeq32_0(v *Value) bool {
        // cond:
        // result: (I64GeS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -1508,9 +1473,8 @@ func rewriteValueWasm_OpGeq32F_0(v *Value) bool {
        // cond:
        // result: (F64Ge (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Ge)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -1528,9 +1492,8 @@ func rewriteValueWasm_OpGeq32U_0(v *Value) bool {
        // cond:
        // result: (I64GeU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -1546,9 +1509,8 @@ func rewriteValueWasm_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (I64GeS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeS)
                v.AddArg(x)
                v.AddArg(y)
@@ -1560,9 +1522,8 @@ func rewriteValueWasm_OpGeq64F_0(v *Value) bool {
        // cond:
        // result: (F64Ge x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Ge)
                v.AddArg(x)
                v.AddArg(y)
@@ -1574,9 +1535,8 @@ func rewriteValueWasm_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (I64GeU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1590,9 +1550,8 @@ func rewriteValueWasm_OpGeq8_0(v *Value) bool {
        // cond:
        // result: (I64GeS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -1610,9 +1569,8 @@ func rewriteValueWasm_OpGeq8U_0(v *Value) bool {
        // cond:
        // result: (I64GeU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -1657,9 +1615,8 @@ func rewriteValueWasm_OpGreater16_0(v *Value) bool {
        // cond:
        // result: (I64GtS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -1677,9 +1634,8 @@ func rewriteValueWasm_OpGreater16U_0(v *Value) bool {
        // cond:
        // result: (I64GtU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1697,9 +1653,8 @@ func rewriteValueWasm_OpGreater32_0(v *Value) bool {
        // cond:
        // result: (I64GtS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -1717,9 +1672,8 @@ func rewriteValueWasm_OpGreater32F_0(v *Value) bool {
        // cond:
        // result: (F64Gt (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Gt)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -1737,9 +1691,8 @@ func rewriteValueWasm_OpGreater32U_0(v *Value) bool {
        // cond:
        // result: (I64GtU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -1755,9 +1708,8 @@ func rewriteValueWasm_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (I64GtS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtS)
                v.AddArg(x)
                v.AddArg(y)
@@ -1769,9 +1721,8 @@ func rewriteValueWasm_OpGreater64F_0(v *Value) bool {
        // cond:
        // result: (F64Gt x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Gt)
                v.AddArg(x)
                v.AddArg(y)
@@ -1783,9 +1734,8 @@ func rewriteValueWasm_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (I64GtU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtU)
                v.AddArg(x)
                v.AddArg(y)
@@ -1799,9 +1749,8 @@ func rewriteValueWasm_OpGreater8_0(v *Value) bool {
        // cond:
        // result: (I64GtS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -1819,9 +1768,8 @@ func rewriteValueWasm_OpGreater8U_0(v *Value) bool {
        // cond:
        // result: (I64GtU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64GtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -1838,9 +1786,8 @@ func rewriteValueWasm_OpInterCall_0(v *Value) bool {
        // result: (LoweredInterCall [argwid] entry mem)
        for {
                argwid := v.AuxInt
-               _ = v.Args[1]
-               entry := v.Args[0]
                mem := v.Args[1]
+               entry := v.Args[0]
                v.reset(OpWasmLoweredInterCall)
                v.AuxInt = argwid
                v.AddArg(entry)
@@ -1853,9 +1800,8 @@ func rewriteValueWasm_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (I64LtU idx len)
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpWasmI64LtU)
                v.AddArg(idx)
                v.AddArg(len)
@@ -1882,9 +1828,8 @@ func rewriteValueWasm_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (I64LeU idx len)
        for {
-               _ = v.Args[1]
-               idx := v.Args[0]
                len := v.Args[1]
+               idx := v.Args[0]
                v.reset(OpWasmI64LeU)
                v.AddArg(idx)
                v.AddArg(len)
@@ -1898,9 +1843,8 @@ func rewriteValueWasm_OpLeq16_0(v *Value) bool {
        // cond:
        // result: (I64LeS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -1918,9 +1862,8 @@ func rewriteValueWasm_OpLeq16U_0(v *Value) bool {
        // cond:
        // result: (I64LeU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -1938,9 +1881,8 @@ func rewriteValueWasm_OpLeq32_0(v *Value) bool {
        // cond:
        // result: (I64LeS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -1958,9 +1900,8 @@ func rewriteValueWasm_OpLeq32F_0(v *Value) bool {
        // cond:
        // result: (F64Le (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Le)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -1978,9 +1919,8 @@ func rewriteValueWasm_OpLeq32U_0(v *Value) bool {
        // cond:
        // result: (I64LeU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -1996,9 +1936,8 @@ func rewriteValueWasm_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (I64LeS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeS)
                v.AddArg(x)
                v.AddArg(y)
@@ -2010,9 +1949,8 @@ func rewriteValueWasm_OpLeq64F_0(v *Value) bool {
        // cond:
        // result: (F64Le x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Le)
                v.AddArg(x)
                v.AddArg(y)
@@ -2024,9 +1962,8 @@ func rewriteValueWasm_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (I64LeU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2040,9 +1977,8 @@ func rewriteValueWasm_OpLeq8_0(v *Value) bool {
        // cond:
        // result: (I64LeS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -2060,9 +1996,8 @@ func rewriteValueWasm_OpLeq8U_0(v *Value) bool {
        // cond:
        // result: (I64LeU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LeU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -2080,9 +2015,8 @@ func rewriteValueWasm_OpLess16_0(v *Value) bool {
        // cond:
        // result: (I64LtS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -2100,9 +2034,8 @@ func rewriteValueWasm_OpLess16U_0(v *Value) bool {
        // cond:
        // result: (I64LtU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -2120,9 +2053,8 @@ func rewriteValueWasm_OpLess32_0(v *Value) bool {
        // cond:
        // result: (I64LtS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -2140,9 +2072,8 @@ func rewriteValueWasm_OpLess32F_0(v *Value) bool {
        // cond:
        // result: (F64Lt (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Lt)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -2160,9 +2091,8 @@ func rewriteValueWasm_OpLess32U_0(v *Value) bool {
        // cond:
        // result: (I64LtU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -2178,9 +2108,8 @@ func rewriteValueWasm_OpLess64_0(v *Value) bool {
        // cond:
        // result: (I64LtS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtS)
                v.AddArg(x)
                v.AddArg(y)
@@ -2192,9 +2121,8 @@ func rewriteValueWasm_OpLess64F_0(v *Value) bool {
        // cond:
        // result: (F64Lt x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Lt)
                v.AddArg(x)
                v.AddArg(y)
@@ -2206,9 +2134,8 @@ func rewriteValueWasm_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (I64LtU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2222,9 +2149,8 @@ func rewriteValueWasm_OpLess8_0(v *Value) bool {
        // cond:
        // result: (I64LtS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -2242,9 +2168,8 @@ func rewriteValueWasm_OpLess8U_0(v *Value) bool {
        // cond:
        // result: (I64LtU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64LtU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -2261,9 +2186,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (F32Load ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is32BitFloat(t)) {
                        break
                }
@@ -2277,9 +2201,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (F64Load ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitFloat(t)) {
                        break
                }
@@ -2293,9 +2216,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 8) {
                        break
                }
@@ -2309,9 +2231,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load32U ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 4 && !t.IsSigned()) {
                        break
                }
@@ -2325,9 +2246,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load32S ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 4 && t.IsSigned()) {
                        break
                }
@@ -2341,9 +2261,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load16U ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 2 && !t.IsSigned()) {
                        break
                }
@@ -2357,9 +2276,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load16S ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 2 && t.IsSigned()) {
                        break
                }
@@ -2373,9 +2291,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load8U ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 1 && !t.IsSigned()) {
                        break
                }
@@ -2389,9 +2306,8 @@ func rewriteValueWasm_OpLoad_0(v *Value) bool {
        // result: (I64Load8S ptr mem)
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.Size() == 1 && t.IsSigned()) {
                        break
                }
@@ -2423,9 +2339,8 @@ func rewriteValueWasm_OpLsh16x16_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -2441,9 +2356,8 @@ func rewriteValueWasm_OpLsh16x32_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -2457,9 +2371,8 @@ func rewriteValueWasm_OpLsh16x64_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v.AddArg(y)
@@ -2473,9 +2386,8 @@ func rewriteValueWasm_OpLsh16x8_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -2491,9 +2403,8 @@ func rewriteValueWasm_OpLsh32x16_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -2509,9 +2420,8 @@ func rewriteValueWasm_OpLsh32x32_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -2525,9 +2435,8 @@ func rewriteValueWasm_OpLsh32x64_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v.AddArg(y)
@@ -2541,9 +2450,8 @@ func rewriteValueWasm_OpLsh32x8_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -2559,9 +2467,8 @@ func rewriteValueWasm_OpLsh64x16_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -2577,9 +2484,8 @@ func rewriteValueWasm_OpLsh64x32_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -2595,9 +2501,8 @@ func rewriteValueWasm_OpLsh64x64_0(v *Value) bool {
        // cond:
        // result: (Select (I64Shl x y) (I64Const [0]) (I64LtU y (I64Const [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmSelect)
                v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64)
                v0.AddArg(x)
@@ -2622,9 +2527,8 @@ func rewriteValueWasm_OpLsh64x8_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -2640,9 +2544,8 @@ func rewriteValueWasm_OpLsh8x16_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -2658,9 +2561,8 @@ func rewriteValueWasm_OpLsh8x32_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -2674,9 +2576,8 @@ func rewriteValueWasm_OpLsh8x64_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v.AddArg(y)
@@ -2690,9 +2591,8 @@ func rewriteValueWasm_OpLsh8x8_0(v *Value) bool {
        // cond:
        // result: (Lsh64x64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpLsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -2708,9 +2608,8 @@ func rewriteValueWasm_OpMod16_0(v *Value) bool {
        // cond:
        // result: (I64RemS (SignExt16to64 x) (SignExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemS)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -2728,9 +2627,8 @@ func rewriteValueWasm_OpMod16u_0(v *Value) bool {
        // cond:
        // result: (I64RemU (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemU)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -2748,9 +2646,8 @@ func rewriteValueWasm_OpMod32_0(v *Value) bool {
        // cond:
        // result: (I64RemS (SignExt32to64 x) (SignExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemS)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -2768,9 +2665,8 @@ func rewriteValueWasm_OpMod32u_0(v *Value) bool {
        // cond:
        // result: (I64RemU (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemU)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -2786,9 +2682,8 @@ func rewriteValueWasm_OpMod64_0(v *Value) bool {
        // cond:
        // result: (I64RemS x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemS)
                v.AddArg(x)
                v.AddArg(y)
@@ -2800,9 +2695,8 @@ func rewriteValueWasm_OpMod64u_0(v *Value) bool {
        // cond:
        // result: (I64RemU x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemU)
                v.AddArg(x)
                v.AddArg(y)
@@ -2816,9 +2710,8 @@ func rewriteValueWasm_OpMod8_0(v *Value) bool {
        // cond:
        // result: (I64RemS (SignExt8to64 x) (SignExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemS)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -2836,9 +2729,8 @@ func rewriteValueWasm_OpMod8u_0(v *Value) bool {
        // cond:
        // result: (I64RemU (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64RemU)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -2859,7 +2751,6 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[2]
                mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -2873,10 +2764,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store8)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpWasmI64Load8U, typ.UInt8)
@@ -2893,10 +2783,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store16)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpWasmI64Load16U, typ.UInt16)
@@ -2913,10 +2802,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store32)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpWasmI64Load32U, typ.UInt32)
@@ -2933,10 +2821,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store)
                v.AddArg(dst)
                v0 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64)
@@ -2953,10 +2840,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store)
                v.AuxInt = 8
                v.AddArg(dst)
@@ -2982,10 +2868,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store8)
                v.AuxInt = 2
                v.AddArg(dst)
@@ -3011,10 +2896,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store8)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -3040,10 +2924,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store16)
                v.AuxInt = 4
                v.AddArg(dst)
@@ -3069,10 +2952,9 @@ func rewriteValueWasm_OpMove_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmI64Store32)
                v.AuxInt = 3
                v.AddArg(dst)
@@ -3101,10 +2983,9 @@ func rewriteValueWasm_OpMove_10(v *Value) bool {
        // result: (I64Store [s-8] dst (I64Load [s-8] src mem) (I64Store dst (I64Load src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 8 && s < 16) {
                        break
                }
@@ -3131,10 +3012,9 @@ func rewriteValueWasm_OpMove_10(v *Value) bool {
        // result: (Move [s-s%16] (OffPtr <dst.Type> dst [s%16]) (OffPtr <src.Type> src [s%16]) (I64Store dst (I64Load src mem) mem))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 && s%16 != 0 && s%16 <= 8) {
                        break
                }
@@ -3163,10 +3043,9 @@ func rewriteValueWasm_OpMove_10(v *Value) bool {
        // result: (Move [s-s%16] (OffPtr <dst.Type> dst [s%16]) (OffPtr <src.Type> src [s%16]) (I64Store [8] dst (I64Load [8] src mem) (I64Store dst (I64Load src mem) mem)))
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s > 16 && s%16 != 0 && s%16 > 8) {
                        break
                }
@@ -3204,10 +3083,9 @@ func rewriteValueWasm_OpMove_10(v *Value) bool {
        // result: (LoweredMove [s/8] dst src mem)
        for {
                s := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(s%8 == 0) {
                        break
                }
@@ -3225,9 +3103,8 @@ func rewriteValueWasm_OpMul16_0(v *Value) bool {
        // cond:
        // result: (I64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3239,9 +3116,8 @@ func rewriteValueWasm_OpMul32_0(v *Value) bool {
        // cond:
        // result: (I64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3253,9 +3129,8 @@ func rewriteValueWasm_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (F64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3267,9 +3142,8 @@ func rewriteValueWasm_OpMul64_0(v *Value) bool {
        // cond:
        // result: (I64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3281,9 +3155,8 @@ func rewriteValueWasm_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (F64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3295,9 +3168,8 @@ func rewriteValueWasm_OpMul8_0(v *Value) bool {
        // cond:
        // result: (I64Mul x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Mul)
                v.AddArg(x)
                v.AddArg(y)
@@ -3397,9 +3269,8 @@ func rewriteValueWasm_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (I64Ne (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -3417,9 +3288,8 @@ func rewriteValueWasm_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (I64Ne (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -3437,9 +3307,8 @@ func rewriteValueWasm_OpNeq32F_0(v *Value) bool {
        // cond:
        // result: (F64Ne (LoweredRound32F x) (LoweredRound32F y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Ne)
                v0 := b.NewValue0(v.Pos, OpWasmLoweredRound32F, typ.Float32)
                v0.AddArg(x)
@@ -3455,9 +3324,8 @@ func rewriteValueWasm_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (I64Ne x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v.AddArg(x)
                v.AddArg(y)
@@ -3469,9 +3337,8 @@ func rewriteValueWasm_OpNeq64F_0(v *Value) bool {
        // cond:
        // result: (F64Ne x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Ne)
                v.AddArg(x)
                v.AddArg(y)
@@ -3485,9 +3352,8 @@ func rewriteValueWasm_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (I64Ne (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -3503,9 +3369,8 @@ func rewriteValueWasm_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (I64Ne x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v.AddArg(x)
                v.AddArg(y)
@@ -3517,9 +3382,8 @@ func rewriteValueWasm_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (I64Ne x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Ne)
                v.AddArg(x)
                v.AddArg(y)
@@ -3530,10 +3394,9 @@ func rewriteValueWasm_OpNilCheck_0(v *Value) bool {
        // match: (NilCheck ptr mem)
        // cond:
        // result: (LoweredNilCheck ptr mem)
-       for {
-               _ = v.Args[1]
-               ptr := v.Args[0]
+       for {
                mem := v.Args[1]
+               ptr := v.Args[0]
                v.reset(OpWasmLoweredNilCheck)
                v.AddArg(ptr)
                v.AddArg(mem)
@@ -3569,9 +3432,8 @@ func rewriteValueWasm_OpOr16_0(v *Value) bool {
        // cond:
        // result: (I64Or x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Or)
                v.AddArg(x)
                v.AddArg(y)
@@ -3583,9 +3445,8 @@ func rewriteValueWasm_OpOr32_0(v *Value) bool {
        // cond:
        // result: (I64Or x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Or)
                v.AddArg(x)
                v.AddArg(y)
@@ -3597,9 +3458,8 @@ func rewriteValueWasm_OpOr64_0(v *Value) bool {
        // cond:
        // result: (I64Or x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Or)
                v.AddArg(x)
                v.AddArg(y)
@@ -3611,9 +3471,8 @@ func rewriteValueWasm_OpOr8_0(v *Value) bool {
        // cond:
        // result: (I64Or x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Or)
                v.AddArg(x)
                v.AddArg(y)
@@ -3625,9 +3484,8 @@ func rewriteValueWasm_OpOrB_0(v *Value) bool {
        // cond:
        // result: (I64Or x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Or)
                v.AddArg(x)
                v.AddArg(y)
@@ -3664,9 +3522,8 @@ func rewriteValueWasm_OpRsh16Ux16_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -3684,9 +3541,8 @@ func rewriteValueWasm_OpRsh16Ux32_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt16to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -3704,9 +3560,8 @@ func rewriteValueWasm_OpRsh16Ux64_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt16to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -3722,9 +3577,8 @@ func rewriteValueWasm_OpRsh16Ux8_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt16to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
                v0.AddArg(x)
@@ -3742,9 +3596,8 @@ func rewriteValueWasm_OpRsh16x16_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt16to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -3762,9 +3615,8 @@ func rewriteValueWasm_OpRsh16x32_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt16to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -3782,9 +3634,8 @@ func rewriteValueWasm_OpRsh16x64_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt16to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -3800,9 +3651,8 @@ func rewriteValueWasm_OpRsh16x8_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt16to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
                v0.AddArg(x)
@@ -3820,9 +3670,8 @@ func rewriteValueWasm_OpRsh32Ux16_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt32to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -3840,9 +3689,8 @@ func rewriteValueWasm_OpRsh32Ux32_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -3860,9 +3708,8 @@ func rewriteValueWasm_OpRsh32Ux64_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt32to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -3878,9 +3725,8 @@ func rewriteValueWasm_OpRsh32Ux8_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt32to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
                v0.AddArg(x)
@@ -3898,9 +3744,8 @@ func rewriteValueWasm_OpRsh32x16_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt32to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -3918,9 +3763,8 @@ func rewriteValueWasm_OpRsh32x32_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt32to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -3938,9 +3782,8 @@ func rewriteValueWasm_OpRsh32x64_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt32to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -3956,9 +3799,8 @@ func rewriteValueWasm_OpRsh32x8_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt32to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
                v0.AddArg(x)
@@ -3976,9 +3818,8 @@ func rewriteValueWasm_OpRsh64Ux16_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -3994,9 +3835,8 @@ func rewriteValueWasm_OpRsh64Ux32_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -4012,9 +3852,8 @@ func rewriteValueWasm_OpRsh64Ux64_0(v *Value) bool {
        // cond:
        // result: (Select (I64ShrU x y) (I64Const [0]) (I64LtU y (I64Const [64])))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmSelect)
                v0 := b.NewValue0(v.Pos, OpWasmI64ShrU, typ.Int64)
                v0.AddArg(x)
@@ -4039,9 +3878,8 @@ func rewriteValueWasm_OpRsh64Ux8_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -4057,9 +3895,8 @@ func rewriteValueWasm_OpRsh64x16_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 x (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
@@ -4075,9 +3912,8 @@ func rewriteValueWasm_OpRsh64x32_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 x (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
@@ -4093,9 +3929,8 @@ func rewriteValueWasm_OpRsh64x64_0(v *Value) bool {
        // cond:
        // result: (I64ShrS x (Select <typ.Int64> y (I64Const [63]) (I64LtU y (I64Const [64]))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64ShrS)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpWasmSelect, typ.Int64)
@@ -4120,9 +3955,8 @@ func rewriteValueWasm_OpRsh64x8_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 x (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
@@ -4138,9 +3972,8 @@ func rewriteValueWasm_OpRsh8Ux16_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt8to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -4158,9 +3991,8 @@ func rewriteValueWasm_OpRsh8Ux32_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt8to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -4178,9 +4010,8 @@ func rewriteValueWasm_OpRsh8Ux64_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt8to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -4196,9 +4027,8 @@ func rewriteValueWasm_OpRsh8Ux8_0(v *Value) bool {
        // cond:
        // result: (Rsh64Ux64 (ZeroExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64Ux64)
                v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
                v0.AddArg(x)
@@ -4216,9 +4046,8 @@ func rewriteValueWasm_OpRsh8x16_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt8to64 x) (ZeroExt16to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -4236,9 +4065,8 @@ func rewriteValueWasm_OpRsh8x32_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt8to64 x) (ZeroExt32to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -4256,9 +4084,8 @@ func rewriteValueWasm_OpRsh8x64_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt8to64 x) y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -4274,9 +4101,8 @@ func rewriteValueWasm_OpRsh8x8_0(v *Value) bool {
        // cond:
        // result: (Rsh64x64 (SignExt8to64 x) (ZeroExt8to64 y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpRsh64x64)
                v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
                v0.AddArg(x)
@@ -4539,10 +4365,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (F64Store ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is64BitFloat(t.(*types.Type))) {
                        break
                }
@@ -4557,10 +4382,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (F32Store ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(is32BitFloat(t.(*types.Type))) {
                        break
                }
@@ -4575,10 +4399,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (I64Store ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 8) {
                        break
                }
@@ -4593,10 +4416,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (I64Store32 ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 4) {
                        break
                }
@@ -4611,10 +4433,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (I64Store16 ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 2) {
                        break
                }
@@ -4629,10 +4450,9 @@ func rewriteValueWasm_OpStore_0(v *Value) bool {
        // result: (I64Store8 ptr val mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                ptr := v.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(t.(*types.Type).Size() == 1) {
                        break
                }
@@ -4649,9 +4469,8 @@ func rewriteValueWasm_OpSub16_0(v *Value) bool {
        // cond:
        // result: (I64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4663,9 +4482,8 @@ func rewriteValueWasm_OpSub32_0(v *Value) bool {
        // cond:
        // result: (I64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4677,9 +4495,8 @@ func rewriteValueWasm_OpSub32F_0(v *Value) bool {
        // cond:
        // result: (F64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4691,9 +4508,8 @@ func rewriteValueWasm_OpSub64_0(v *Value) bool {
        // cond:
        // result: (I64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4705,9 +4521,8 @@ func rewriteValueWasm_OpSub64F_0(v *Value) bool {
        // cond:
        // result: (F64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmF64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4719,9 +4534,8 @@ func rewriteValueWasm_OpSub8_0(v *Value) bool {
        // cond:
        // result: (I64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4733,9 +4547,8 @@ func rewriteValueWasm_OpSubPtr_0(v *Value) bool {
        // cond:
        // result: (I64Sub x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Sub)
                v.AddArg(x)
                v.AddArg(y)
@@ -4820,10 +4633,9 @@ func rewriteValueWasm_OpWB_0(v *Value) bool {
        // result: (LoweredWB {fn} destptr srcptr mem)
        for {
                fn := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                destptr := v.Args[0]
                srcptr := v.Args[1]
-               mem := v.Args[2]
                v.reset(OpWasmLoweredWB)
                v.Aux = fn
                v.AddArg(destptr)
@@ -4858,13 +4670,12 @@ func rewriteValueWasm_OpWasmF64Add_0(v *Value) bool {
        // cond:
        // result: (F64Add y (F64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmF64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmF64Add)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmF64Const, typ.Float64)
@@ -4900,13 +4711,12 @@ func rewriteValueWasm_OpWasmF64Mul_0(v *Value) bool {
        // cond:
        // result: (F64Mul y (F64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmF64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmF64Mul)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmF64Const, typ.Float64)
@@ -4942,13 +4752,12 @@ func rewriteValueWasm_OpWasmI64Add_0(v *Value) bool {
        // cond:
        // result: (I64Add y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Add)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5037,13 +4846,12 @@ func rewriteValueWasm_OpWasmI64And_0(v *Value) bool {
        // cond:
        // result: (I64And y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64And)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5104,13 +4912,12 @@ func rewriteValueWasm_OpWasmI64Eq_0(v *Value) bool {
        // cond:
        // result: (I64Eq y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Eq)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5163,14 +4970,13 @@ func rewriteValueWasm_OpWasmI64Load_0(v *Value) bool {
        // result: (I64Load [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5188,14 +4994,13 @@ func rewriteValueWasm_OpWasmI64Load16S_0(v *Value) bool {
        // result: (I64Load16S [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5213,14 +5018,13 @@ func rewriteValueWasm_OpWasmI64Load16U_0(v *Value) bool {
        // result: (I64Load16U [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5238,14 +5042,13 @@ func rewriteValueWasm_OpWasmI64Load32S_0(v *Value) bool {
        // result: (I64Load32S [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5263,14 +5066,13 @@ func rewriteValueWasm_OpWasmI64Load32U_0(v *Value) bool {
        // result: (I64Load32U [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5288,14 +5090,13 @@ func rewriteValueWasm_OpWasmI64Load8S_0(v *Value) bool {
        // result: (I64Load8S [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5313,14 +5114,13 @@ func rewriteValueWasm_OpWasmI64Load8U_0(v *Value) bool {
        // result: (I64Load8U [off+off2] ptr mem)
        for {
                off := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
                }
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
-               mem := v.Args[1]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5358,13 +5158,12 @@ func rewriteValueWasm_OpWasmI64Mul_0(v *Value) bool {
        // cond:
        // result: (I64Mul y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Mul)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5425,13 +5224,12 @@ func rewriteValueWasm_OpWasmI64Ne_0(v *Value) bool {
        // cond:
        // result: (I64Ne y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Ne)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5486,13 +5284,12 @@ func rewriteValueWasm_OpWasmI64Or_0(v *Value) bool {
        // cond:
        // result: (I64Or y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Or)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5574,7 +5371,7 @@ func rewriteValueWasm_OpWasmI64Store_0(v *Value) bool {
        // result: (I64Store [off+off2] ptr val mem)
        for {
                off := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
@@ -5582,7 +5379,6 @@ func rewriteValueWasm_OpWasmI64Store_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5601,7 +5397,7 @@ func rewriteValueWasm_OpWasmI64Store16_0(v *Value) bool {
        // result: (I64Store16 [off+off2] ptr val mem)
        for {
                off := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
@@ -5609,7 +5405,6 @@ func rewriteValueWasm_OpWasmI64Store16_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5628,7 +5423,7 @@ func rewriteValueWasm_OpWasmI64Store32_0(v *Value) bool {
        // result: (I64Store32 [off+off2] ptr val mem)
        for {
                off := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
@@ -5636,7 +5431,6 @@ func rewriteValueWasm_OpWasmI64Store32_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5655,7 +5449,7 @@ func rewriteValueWasm_OpWasmI64Store8_0(v *Value) bool {
        // result: (I64Store8 [off+off2] ptr val mem)
        for {
                off := v.AuxInt
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64AddConst {
                        break
@@ -5663,7 +5457,6 @@ func rewriteValueWasm_OpWasmI64Store8_0(v *Value) bool {
                off2 := v_0.AuxInt
                ptr := v_0.Args[0]
                val := v.Args[1]
-               mem := v.Args[2]
                if !(isU32Bit(off + off2)) {
                        break
                }
@@ -5702,13 +5495,12 @@ func rewriteValueWasm_OpWasmI64Xor_0(v *Value) bool {
        // cond:
        // result: (I64Xor y (I64Const [x]))
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpWasmI64Const {
                        break
                }
                x := v_0.AuxInt
-               y := v.Args[1]
                v.reset(OpWasmI64Xor)
                v.AddArg(y)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5723,9 +5515,8 @@ func rewriteValueWasm_OpXor16_0(v *Value) bool {
        // cond:
        // result: (I64Xor x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Xor)
                v.AddArg(x)
                v.AddArg(y)
@@ -5737,9 +5528,8 @@ func rewriteValueWasm_OpXor32_0(v *Value) bool {
        // cond:
        // result: (I64Xor x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Xor)
                v.AddArg(x)
                v.AddArg(y)
@@ -5751,9 +5541,8 @@ func rewriteValueWasm_OpXor64_0(v *Value) bool {
        // cond:
        // result: (I64Xor x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Xor)
                v.AddArg(x)
                v.AddArg(y)
@@ -5765,9 +5554,8 @@ func rewriteValueWasm_OpXor8_0(v *Value) bool {
        // cond:
        // result: (I64Xor x y)
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpWasmI64Xor)
                v.AddArg(x)
                v.AddArg(y)
@@ -5784,7 +5572,6 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 0 {
                        break
                }
-               _ = v.Args[1]
                mem := v.Args[1]
                v.reset(OpCopy)
                v.Type = mem.Type
@@ -5798,9 +5585,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 1 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store8)
                v.AddArg(destptr)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5816,9 +5602,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 2 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store16)
                v.AddArg(destptr)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5834,9 +5619,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 4 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store32)
                v.AddArg(destptr)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5852,9 +5636,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 8 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store)
                v.AddArg(destptr)
                v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
@@ -5870,9 +5653,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 3 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store8)
                v.AuxInt = 2
                v.AddArg(destptr)
@@ -5895,9 +5677,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 5 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store8)
                v.AuxInt = 4
                v.AddArg(destptr)
@@ -5920,9 +5701,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 6 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store16)
                v.AuxInt = 4
                v.AddArg(destptr)
@@ -5945,9 +5725,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
                if v.AuxInt != 7 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store32)
                v.AuxInt = 3
                v.AddArg(destptr)
@@ -5968,9 +5747,8 @@ func rewriteValueWasm_OpZero_0(v *Value) bool {
        // result: (Zero [s-s%8] (OffPtr <destptr.Type> destptr [s%8]) (I64Store destptr (I64Const [0]) mem))
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%8 != 0 && s > 8) {
                        break
                }
@@ -6001,9 +5779,8 @@ func rewriteValueWasm_OpZero_10(v *Value) bool {
                if v.AuxInt != 16 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store)
                v.AuxInt = 8
                v.AddArg(destptr)
@@ -6026,9 +5803,8 @@ func rewriteValueWasm_OpZero_10(v *Value) bool {
                if v.AuxInt != 24 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store)
                v.AuxInt = 16
                v.AddArg(destptr)
@@ -6058,9 +5834,8 @@ func rewriteValueWasm_OpZero_10(v *Value) bool {
                if v.AuxInt != 32 {
                        break
                }
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                v.reset(OpWasmI64Store)
                v.AuxInt = 24
                v.AddArg(destptr)
@@ -6095,9 +5870,8 @@ func rewriteValueWasm_OpZero_10(v *Value) bool {
        // result: (LoweredZero [s/8] destptr mem)
        for {
                s := v.AuxInt
-               _ = v.Args[1]
-               destptr := v.Args[0]
                mem := v.Args[1]
+               destptr := v.Args[0]
                if !(s%8 == 0 && s > 32) {
                        break
                }
index 97fd67d65b31c7e4628f67220ee86ac69f1b8df3..b61886c98955eec5ac4070d25838c66d99646cab 100644 (file)
@@ -51,7 +51,6 @@ func rewriteValuedec_OpComplexImag_0(v *Value) bool {
                if v_0.Op != OpComplexMake {
                        break
                }
-               _ = v_0.Args[1]
                imag := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = imag.Type
@@ -87,7 +86,6 @@ func rewriteValuedec_OpIData_0(v *Value) bool {
                if v_0.Op != OpIMake {
                        break
                }
-               _ = v_0.Args[1]
                data := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = data.Type
@@ -123,9 +121,8 @@ func rewriteValuedec_OpLoad_0(v *Value) bool {
        // result: (ComplexMake (Load <typ.Float32> ptr mem) (Load <typ.Float32> (OffPtr <typ.Float32Ptr> [4] ptr) mem) )
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsComplex() && t.Size() == 8) {
                        break
                }
@@ -148,9 +145,8 @@ func rewriteValuedec_OpLoad_0(v *Value) bool {
        // result: (ComplexMake (Load <typ.Float64> ptr mem) (Load <typ.Float64> (OffPtr <typ.Float64Ptr> [8] ptr) mem) )
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsComplex() && t.Size() == 16) {
                        break
                }
@@ -173,9 +169,8 @@ func rewriteValuedec_OpLoad_0(v *Value) bool {
        // result: (StringMake (Load <typ.BytePtr> ptr mem) (Load <typ.Int> (OffPtr <typ.IntPtr> [config.PtrSize] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsString()) {
                        break
                }
@@ -198,9 +193,8 @@ func rewriteValuedec_OpLoad_0(v *Value) bool {
        // result: (SliceMake (Load <t.Elem().PtrTo()> ptr mem) (Load <typ.Int> (OffPtr <typ.IntPtr> [config.PtrSize] ptr) mem) (Load <typ.Int> (OffPtr <typ.IntPtr> [2*config.PtrSize] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsSlice()) {
                        break
                }
@@ -230,9 +224,8 @@ func rewriteValuedec_OpLoad_0(v *Value) bool {
        // result: (IMake (Load <typ.Uintptr> ptr mem) (Load <typ.BytePtr> (OffPtr <typ.BytePtrPtr> [config.PtrSize] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsInterface()) {
                        break
                }
@@ -261,7 +254,6 @@ func rewriteValuedec_OpSliceCap_0(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
                cap := v_0.Args[2]
                v.reset(OpCopy)
                v.Type = cap.Type
@@ -315,16 +307,14 @@ func rewriteValuedec_OpStore_0(v *Value) bool {
        // result: (Store {typ.Float32} (OffPtr <typ.Float32Ptr> [4] dst) imag (Store {typ.Float32} dst real mem))
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpComplexMake {
                        break
                }
-               _ = v_1.Args[1]
-               real := v_1.Args[0]
                imag := v_1.Args[1]
-               mem := v.Args[2]
+               real := v_1.Args[0]
                if !(t.(*types.Type).Size() == 8) {
                        break
                }
@@ -348,16 +338,14 @@ func rewriteValuedec_OpStore_0(v *Value) bool {
        // result: (Store {typ.Float64} (OffPtr <typ.Float64Ptr> [8] dst) imag (Store {typ.Float64} dst real mem))
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpComplexMake {
                        break
                }
-               _ = v_1.Args[1]
-               real := v_1.Args[0]
                imag := v_1.Args[1]
-               mem := v.Args[2]
+               real := v_1.Args[0]
                if !(t.(*types.Type).Size() == 16) {
                        break
                }
@@ -380,16 +368,14 @@ func rewriteValuedec_OpStore_0(v *Value) bool {
        // cond:
        // result: (Store {typ.Int} (OffPtr <typ.IntPtr> [config.PtrSize] dst) len (Store {typ.BytePtr} dst ptr mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpStringMake {
                        break
                }
-               _ = v_1.Args[1]
-               ptr := v_1.Args[0]
                len := v_1.Args[1]
-               mem := v.Args[2]
+               ptr := v_1.Args[0]
                v.reset(OpStore)
                v.Aux = typ.Int
                v0 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr)
@@ -409,17 +395,15 @@ func rewriteValuedec_OpStore_0(v *Value) bool {
        // cond:
        // result: (Store {typ.Int} (OffPtr <typ.IntPtr> [2*config.PtrSize] dst) cap (Store {typ.Int} (OffPtr <typ.IntPtr> [config.PtrSize] dst) len (Store {typ.BytePtr} dst ptr mem)))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpSliceMake {
                        break
                }
-               = v_1.Args[2]
+               cap := v_1.Args[2]
                ptr := v_1.Args[0]
                len := v_1.Args[1]
-               cap := v_1.Args[2]
-               mem := v.Args[2]
                v.reset(OpStore)
                v.Aux = typ.Int
                v0 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr)
@@ -447,16 +431,14 @@ func rewriteValuedec_OpStore_0(v *Value) bool {
        // cond:
        // result: (Store {typ.BytePtr} (OffPtr <typ.BytePtrPtr> [config.PtrSize] dst) data (Store {typ.Uintptr} dst itab mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpIMake {
                        break
                }
-               _ = v_1.Args[1]
-               itab := v_1.Args[0]
                data := v_1.Args[1]
-               mem := v.Args[2]
+               itab := v_1.Args[0]
                v.reset(OpStore)
                v.Aux = typ.BytePtr
                v0 := b.NewValue0(v.Pos, OpOffPtr, typ.BytePtrPtr)
@@ -483,7 +465,6 @@ func rewriteValuedec_OpStringLen_0(v *Value) bool {
                if v_0.Op != OpStringMake {
                        break
                }
-               _ = v_0.Args[1]
                len := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = len.Type
index eef5483c30dbad2767f0ff6829ddc654fa5c6679..5a143a92a75a3cd2475a4189e8c1850cb6c8f4dd 100644 (file)
@@ -143,9 +143,8 @@ func rewriteValuedec64_OpAdd64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Add32withcarry <typ.Int32> (Int64Hi x) (Int64Hi y) (Select1 <types.TypeFlags> (Add32carry (Int64Lo x) (Int64Lo y)))) (Select0 <typ.UInt32> (Add32carry (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpAdd32withcarry, typ.Int32)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -185,9 +184,8 @@ func rewriteValuedec64_OpAnd64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (And32 <typ.UInt32> (Int64Hi x) (Int64Hi y)) (And32 <typ.UInt32> (Int64Lo x) (Int64Lo y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -459,9 +457,8 @@ func rewriteValuedec64_OpEq64_0(v *Value) bool {
        // cond:
        // result: (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Eq32 (Int64Lo x) (Int64Lo y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpAndB)
                v0 := b.NewValue0(v.Pos, OpEq32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -489,9 +486,8 @@ func rewriteValuedec64_OpGeq64_0(v *Value) bool {
        // cond:
        // result: (OrB (Greater32 (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Geq32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpGreater32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -529,9 +525,8 @@ func rewriteValuedec64_OpGeq64U_0(v *Value) bool {
        // cond:
        // result: (OrB (Greater32U (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Geq32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpGreater32U, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -569,9 +564,8 @@ func rewriteValuedec64_OpGreater64_0(v *Value) bool {
        // cond:
        // result: (OrB (Greater32 (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Greater32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpGreater32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -609,9 +603,8 @@ func rewriteValuedec64_OpGreater64U_0(v *Value) bool {
        // cond:
        // result: (OrB (Greater32U (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Greater32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpGreater32U, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -669,7 +662,6 @@ func rewriteValuedec64_OpInt64Lo_0(v *Value) bool {
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
                lo := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = lo.Type
@@ -685,9 +677,8 @@ func rewriteValuedec64_OpLeq64_0(v *Value) bool {
        // cond:
        // result: (OrB (Less32 (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Leq32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -725,9 +716,8 @@ func rewriteValuedec64_OpLeq64U_0(v *Value) bool {
        // cond:
        // result: (OrB (Less32U (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Leq32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -765,9 +755,8 @@ func rewriteValuedec64_OpLess64_0(v *Value) bool {
        // cond:
        // result: (OrB (Less32 (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Less32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -805,9 +794,8 @@ func rewriteValuedec64_OpLess64U_0(v *Value) bool {
        // cond:
        // result: (OrB (Less32U (Int64Hi x) (Int64Hi y)) (AndB (Eq32 (Int64Hi x) (Int64Hi y)) (Less32U (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -847,9 +835,8 @@ func rewriteValuedec64_OpLoad_0(v *Value) bool {
        // result: (Int64Make (Load <typ.Int32> (OffPtr <typ.Int32Ptr> [4] ptr) mem) (Load <typ.UInt32> ptr mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) && !config.BigEndian && t.IsSigned()) {
                        break
                }
@@ -872,9 +859,8 @@ func rewriteValuedec64_OpLoad_0(v *Value) bool {
        // result: (Int64Make (Load <typ.UInt32> (OffPtr <typ.UInt32Ptr> [4] ptr) mem) (Load <typ.UInt32> ptr mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) && !config.BigEndian && !t.IsSigned()) {
                        break
                }
@@ -897,9 +883,8 @@ func rewriteValuedec64_OpLoad_0(v *Value) bool {
        // result: (Int64Make (Load <typ.Int32> ptr mem) (Load <typ.UInt32> (OffPtr <typ.UInt32Ptr> [4] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) && config.BigEndian && t.IsSigned()) {
                        break
                }
@@ -922,9 +907,8 @@ func rewriteValuedec64_OpLoad_0(v *Value) bool {
        // result: (Int64Make (Load <typ.UInt32> ptr mem) (Load <typ.UInt32> (OffPtr <typ.UInt32Ptr> [4] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(is64BitInt(t) && config.BigEndian && !t.IsSigned()) {
                        break
                }
@@ -979,7 +963,7 @@ func rewriteValuedec64_OpLsh16x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -987,7 +971,6 @@ func rewriteValuedec64_OpLsh16x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpLsh16x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1003,9 +986,8 @@ func rewriteValuedec64_OpLsh16x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1056,7 +1038,7 @@ func rewriteValuedec64_OpLsh32x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1064,7 +1046,6 @@ func rewriteValuedec64_OpLsh32x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpLsh32x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1080,9 +1061,8 @@ func rewriteValuedec64_OpLsh32x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1105,15 +1085,13 @@ func rewriteValuedec64_OpLsh64x16_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Lsh32x16 <typ.UInt32> hi s) (Rsh32Ux16 <typ.UInt32> lo (Sub16 <typ.UInt16> (Const16 <typ.UInt16> [32]) s))) (Lsh32x16 <typ.UInt32> lo (Sub16 <typ.UInt16> s (Const16 <typ.UInt16> [32])))) (Lsh32x16 <typ.UInt32> lo s))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
@@ -1156,15 +1134,13 @@ func rewriteValuedec64_OpLsh64x32_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Lsh32x32 <typ.UInt32> hi s) (Rsh32Ux32 <typ.UInt32> lo (Sub32 <typ.UInt32> (Const32 <typ.UInt32> [32]) s))) (Lsh32x32 <typ.UInt32> lo (Sub32 <typ.UInt32> s (Const32 <typ.UInt32> [32])))) (Lsh32x32 <typ.UInt32> lo s))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
@@ -1235,7 +1211,7 @@ func rewriteValuedec64_OpLsh64x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1243,7 +1219,6 @@ func rewriteValuedec64_OpLsh64x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpLsh64x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1259,9 +1234,8 @@ func rewriteValuedec64_OpLsh64x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1284,15 +1258,13 @@ func rewriteValuedec64_OpLsh64x8_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Lsh32x8 <typ.UInt32> hi s) (Rsh32Ux8 <typ.UInt32> lo (Sub8 <typ.UInt8> (Const8 <typ.UInt8> [32]) s))) (Lsh32x8 <typ.UInt32> lo (Sub8 <typ.UInt8> s (Const8 <typ.UInt8> [32])))) (Lsh32x8 <typ.UInt32> lo s))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
@@ -1363,7 +1335,7 @@ func rewriteValuedec64_OpLsh8x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1371,7 +1343,6 @@ func rewriteValuedec64_OpLsh8x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpLsh8x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1387,9 +1358,8 @@ func rewriteValuedec64_OpLsh8x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1412,9 +1382,8 @@ func rewriteValuedec64_OpMul64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Add32 <typ.UInt32> (Mul32 <typ.UInt32> (Int64Lo x) (Int64Hi y)) (Add32 <typ.UInt32> (Mul32 <typ.UInt32> (Int64Hi x) (Int64Lo y)) (Select0 <typ.UInt32> (Mul32uhilo (Int64Lo x) (Int64Lo y))))) (Select1 <typ.UInt32> (Mul32uhilo (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpAdd32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32)
@@ -1482,9 +1451,8 @@ func rewriteValuedec64_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (OrB (Neq32 (Int64Hi x) (Int64Hi y)) (Neq32 (Int64Lo x) (Int64Lo y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpOrB)
                v0 := b.NewValue0(v.Pos, OpNeq32, typ.Bool)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -1512,9 +1480,8 @@ func rewriteValuedec64_OpOr64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Or32 <typ.UInt32> (Int64Hi x) (Int64Hi y)) (Or32 <typ.UInt32> (Int64Lo x) (Int64Lo y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -1570,7 +1537,7 @@ func rewriteValuedec64_OpRsh16Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1578,7 +1545,6 @@ func rewriteValuedec64_OpRsh16Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh16Ux32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1594,9 +1560,8 @@ func rewriteValuedec64_OpRsh16Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1650,7 +1615,7 @@ func rewriteValuedec64_OpRsh16x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1658,7 +1623,6 @@ func rewriteValuedec64_OpRsh16x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh16x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1674,9 +1638,8 @@ func rewriteValuedec64_OpRsh16x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1727,7 +1690,7 @@ func rewriteValuedec64_OpRsh32Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1735,7 +1698,6 @@ func rewriteValuedec64_OpRsh32Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh32Ux32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1751,9 +1713,8 @@ func rewriteValuedec64_OpRsh32Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1805,7 +1766,7 @@ func rewriteValuedec64_OpRsh32x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1813,7 +1774,6 @@ func rewriteValuedec64_OpRsh32x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh32x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -1829,9 +1789,8 @@ func rewriteValuedec64_OpRsh32x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -1854,15 +1813,13 @@ func rewriteValuedec64_OpRsh64Ux16_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32Ux16 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux16 <typ.UInt32> lo s) (Lsh32x16 <typ.UInt32> hi (Sub16 <typ.UInt16> (Const16 <typ.UInt16> [32]) s))) (Rsh32Ux16 <typ.UInt32> hi (Sub16 <typ.UInt16> s (Const16 <typ.UInt16> [32])))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32)
                v0.AddArg(hi)
@@ -1905,15 +1862,13 @@ func rewriteValuedec64_OpRsh64Ux32_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32Ux32 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux32 <typ.UInt32> lo s) (Lsh32x32 <typ.UInt32> hi (Sub32 <typ.UInt32> (Const32 <typ.UInt32> [32]) s))) (Rsh32Ux32 <typ.UInt32> hi (Sub32 <typ.UInt32> s (Const32 <typ.UInt32> [32])))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32)
                v0.AddArg(hi)
@@ -1984,7 +1939,7 @@ func rewriteValuedec64_OpRsh64Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1992,7 +1947,6 @@ func rewriteValuedec64_OpRsh64Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh64Ux32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -2008,9 +1962,8 @@ func rewriteValuedec64_OpRsh64Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -2033,15 +1986,13 @@ func rewriteValuedec64_OpRsh64Ux8_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32Ux8 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux8 <typ.UInt32> lo s) (Lsh32x8 <typ.UInt32> hi (Sub8 <typ.UInt8> (Const8 <typ.UInt8> [32]) s))) (Rsh32Ux8 <typ.UInt32> hi (Sub8 <typ.UInt8> s (Const8 <typ.UInt8> [32])))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32)
                v0.AddArg(hi)
@@ -2084,15 +2035,13 @@ func rewriteValuedec64_OpRsh64x16_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32x16 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux16 <typ.UInt32> lo s) (Lsh32x16 <typ.UInt32> hi (Sub16 <typ.UInt16> (Const16 <typ.UInt16> [32]) s))) (And32 <typ.UInt32> (Rsh32x16 <typ.UInt32> hi (Sub16 <typ.UInt16> s (Const16 <typ.UInt16> [32]))) (Zeromask (ZeroExt16to32 (Rsh16Ux32 <typ.UInt16> s (Const32 <typ.UInt32> [5])))))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32x16, typ.UInt32)
                v0.AddArg(hi)
@@ -2147,15 +2096,13 @@ func rewriteValuedec64_OpRsh64x32_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32x32 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux32 <typ.UInt32> lo s) (Lsh32x32 <typ.UInt32> hi (Sub32 <typ.UInt32> (Const32 <typ.UInt32> [32]) s))) (And32 <typ.UInt32> (Rsh32x32 <typ.UInt32> hi (Sub32 <typ.UInt32> s (Const32 <typ.UInt32> [32]))) (Zeromask (Rsh32Ux32 <typ.UInt32> s (Const32 <typ.UInt32> [5]))))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32x32, typ.UInt32)
                v0.AddArg(hi)
@@ -2246,7 +2193,7 @@ func rewriteValuedec64_OpRsh64x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -2254,7 +2201,6 @@ func rewriteValuedec64_OpRsh64x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh64x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -2270,9 +2216,8 @@ func rewriteValuedec64_OpRsh64x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -2295,15 +2240,13 @@ func rewriteValuedec64_OpRsh64x8_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Rsh32x8 <typ.UInt32> hi s) (Or32 <typ.UInt32> (Or32 <typ.UInt32> (Rsh32Ux8 <typ.UInt32> lo s) (Lsh32x8 <typ.UInt32> hi (Sub8 <typ.UInt8> (Const8 <typ.UInt8> [32]) s))) (And32 <typ.UInt32> (Rsh32x8 <typ.UInt32> hi (Sub8 <typ.UInt8> s (Const8 <typ.UInt8> [32]))) (Zeromask (ZeroExt8to32 (Rsh8Ux32 <typ.UInt8> s (Const32 <typ.UInt32> [5])))))))
        for {
-               = v.Args[1]
+               s := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
-               hi := v_0.Args[0]
                lo := v_0.Args[1]
-               s := v.Args[1]
+               hi := v_0.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpRsh32x8, typ.UInt32)
                v0.AddArg(hi)
@@ -2386,7 +2329,7 @@ func rewriteValuedec64_OpRsh8Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -2394,7 +2337,6 @@ func rewriteValuedec64_OpRsh8Ux64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh8Ux32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -2410,9 +2352,8 @@ func rewriteValuedec64_OpRsh8Ux64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -2466,7 +2407,7 @@ func rewriteValuedec64_OpRsh8x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               = v_1.Args[1]
+               lo := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -2474,7 +2415,6 @@ func rewriteValuedec64_OpRsh8x64_0(v *Value) bool {
                if v_1_0.AuxInt != 0 {
                        break
                }
-               lo := v_1.Args[1]
                v.reset(OpRsh8x32)
                v.AddArg(x)
                v.AddArg(lo)
@@ -2490,9 +2430,8 @@ func rewriteValuedec64_OpRsh8x64_0(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
+               hi := v_1.Args[0]
                if !(hi.Op != OpConst32) {
                        break
                }
@@ -2562,16 +2501,14 @@ func rewriteValuedec64_OpStore_0(v *Value) bool {
        // result: (Store {hi.Type} (OffPtr <hi.Type.PtrTo()> [4] dst) hi (Store {lo.Type} dst lo mem))
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
-               mem := v.Args[2]
+               hi := v_1.Args[0]
                if !(t.(*types.Type).Size() == 8 && !config.BigEndian) {
                        break
                }
@@ -2595,16 +2532,14 @@ func rewriteValuedec64_OpStore_0(v *Value) bool {
        // result: (Store {lo.Type} (OffPtr <lo.Type.PtrTo()> [4] dst) lo (Store {hi.Type} dst hi mem))
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
-               hi := v_1.Args[0]
                lo := v_1.Args[1]
-               mem := v.Args[2]
+               hi := v_1.Args[0]
                if !(t.(*types.Type).Size() == 8 && config.BigEndian) {
                        break
                }
@@ -2632,9 +2567,8 @@ func rewriteValuedec64_OpSub64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Sub32withcarry <typ.Int32> (Int64Hi x) (Int64Hi y) (Select1 <types.TypeFlags> (Sub32carry (Int64Lo x) (Int64Lo y)))) (Select0 <typ.UInt32> (Sub32carry (Int64Lo x) (Int64Lo y))))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpSub32withcarry, typ.Int32)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
@@ -2676,7 +2610,6 @@ func rewriteValuedec64_OpTrunc64to16_0(v *Value) bool {
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
                lo := v_0.Args[1]
                v.reset(OpTrunc32to16)
                v.AddArg(lo)
@@ -2693,7 +2626,6 @@ func rewriteValuedec64_OpTrunc64to32_0(v *Value) bool {
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
                lo := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = lo.Type
@@ -2711,7 +2643,6 @@ func rewriteValuedec64_OpTrunc64to8_0(v *Value) bool {
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
                lo := v_0.Args[1]
                v.reset(OpTrunc32to8)
                v.AddArg(lo)
@@ -2726,9 +2657,8 @@ func rewriteValuedec64_OpXor64_0(v *Value) bool {
        // cond:
        // result: (Int64Make (Xor32 <typ.UInt32> (Int64Hi x) (Int64Hi y)) (Xor32 <typ.UInt32> (Int64Lo x) (Int64Lo y)))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpInt64Make)
                v0 := b.NewValue0(v.Pos, OpXor32, typ.UInt32)
                v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
index a173d4c8f77d1a022264883730ae9d8af6c427b9..868cd76f5598b9a33858845c983847d7947b7aa8 100644 (file)
@@ -520,18 +520,16 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd16, t)
@@ -550,18 +548,16 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd16, t)
@@ -580,9 +576,8 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -610,9 +605,8 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -640,18 +634,16 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd16, t)
@@ -670,18 +662,16 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd16, t)
@@ -700,9 +690,8 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -730,9 +719,8 @@ func rewriteValuegeneric_OpAdd16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -758,7 +746,7 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -766,7 +754,6 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -836,19 +823,17 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Add16 i (Add16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -864,7 +849,7 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Add16 i (Add16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
@@ -876,7 +861,6 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -898,13 +882,12 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
                if v_1.Op != OpAdd16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -948,19 +931,17 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Add16 i (Sub16 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -982,13 +963,12 @@ func rewriteValuegeneric_OpAdd16_10(v *Value) bool {
                if v_1.Op != OpSub16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -1014,13 +994,12 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                if v_1.Op != OpSub16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -1036,19 +1015,17 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Add16 i (Sub16 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -1064,7 +1041,7 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Sub16 (Add16 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub16 {
                        break
@@ -1076,7 +1053,6 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -1148,7 +1124,7 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Sub16 (Add16 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub16 {
                        break
@@ -1160,7 +1136,6 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -1187,7 +1162,7 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                if v_1.Op != OpAdd16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -1196,7 +1171,6 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c + d))
@@ -1245,14 +1219,13 @@ func rewriteValuegeneric_OpAdd16_20(v *Value) bool {
                if v_0.Op != OpAdd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -1319,7 +1292,7 @@ func rewriteValuegeneric_OpAdd16_30(v *Value) bool {
                if v_1.Op != OpSub16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -1328,7 +1301,6 @@ func rewriteValuegeneric_OpAdd16_30(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpSub16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c + d))
@@ -1345,14 +1317,13 @@ func rewriteValuegeneric_OpAdd16_30(v *Value) bool {
                if v_0.Op != OpSub16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -1484,18 +1455,16 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd32, t)
@@ -1514,18 +1483,16 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd32, t)
@@ -1544,9 +1511,8 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -1574,9 +1540,8 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -1604,18 +1569,16 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd32, t)
@@ -1634,18 +1597,16 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd32, t)
@@ -1664,9 +1625,8 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -1694,9 +1654,8 @@ func rewriteValuegeneric_OpAdd32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -1722,7 +1681,7 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -1730,7 +1689,6 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -1800,19 +1758,17 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Add32 i (Add32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -1828,7 +1784,7 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Add32 i (Add32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
@@ -1840,7 +1796,6 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -1862,13 +1817,12 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
                if v_1.Op != OpAdd32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -1912,19 +1866,17 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Add32 i (Sub32 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -1946,13 +1898,12 @@ func rewriteValuegeneric_OpAdd32_10(v *Value) bool {
                if v_1.Op != OpSub32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -1978,13 +1929,12 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                if v_1.Op != OpSub32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -2000,19 +1950,17 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Add32 i (Sub32 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -2028,7 +1976,7 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Sub32 (Add32 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub32 {
                        break
@@ -2040,7 +1988,6 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -2112,7 +2059,7 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Sub32 (Add32 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub32 {
                        break
@@ -2124,7 +2071,6 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -2151,7 +2097,7 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                if v_1.Op != OpAdd32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -2160,7 +2106,6 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c + d))
@@ -2209,14 +2154,13 @@ func rewriteValuegeneric_OpAdd32_20(v *Value) bool {
                if v_0.Op != OpAdd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -2283,7 +2227,7 @@ func rewriteValuegeneric_OpAdd32_30(v *Value) bool {
                if v_1.Op != OpSub32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -2292,7 +2236,6 @@ func rewriteValuegeneric_OpAdd32_30(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpSub32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c + d))
@@ -2309,14 +2252,13 @@ func rewriteValuegeneric_OpAdd32_30(v *Value) bool {
                if v_0.Op != OpSub32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -2489,18 +2431,16 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd64, t)
@@ -2519,18 +2459,16 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd64, t)
@@ -2549,9 +2487,8 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -2579,9 +2516,8 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -2609,18 +2545,16 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd64, t)
@@ -2639,18 +2573,16 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd64, t)
@@ -2669,9 +2601,8 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -2699,9 +2630,8 @@ func rewriteValuegeneric_OpAdd64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -2727,7 +2657,7 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -2735,7 +2665,6 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -2805,19 +2734,17 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Add64 i (Add64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -2833,7 +2760,7 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Add64 i (Add64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
@@ -2845,7 +2772,6 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -2867,13 +2793,12 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
                if v_1.Op != OpAdd64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -2917,19 +2842,17 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Add64 i (Sub64 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -2951,13 +2874,12 @@ func rewriteValuegeneric_OpAdd64_10(v *Value) bool {
                if v_1.Op != OpSub64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -2983,13 +2905,12 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                if v_1.Op != OpSub64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -3005,19 +2926,17 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Add64 i (Sub64 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -3033,7 +2952,7 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Sub64 (Add64 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub64 {
                        break
@@ -3045,7 +2964,6 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -3117,7 +3035,7 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Sub64 (Add64 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub64 {
                        break
@@ -3129,7 +3047,6 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -3156,7 +3073,7 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                if v_1.Op != OpAdd64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -3165,7 +3082,6 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
@@ -3214,14 +3130,13 @@ func rewriteValuegeneric_OpAdd64_20(v *Value) bool {
                if v_0.Op != OpAdd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -3288,7 +3203,7 @@ func rewriteValuegeneric_OpAdd64_30(v *Value) bool {
                if v_1.Op != OpSub64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -3297,7 +3212,6 @@ func rewriteValuegeneric_OpAdd64_30(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpSub64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
@@ -3314,14 +3228,13 @@ func rewriteValuegeneric_OpAdd64_30(v *Value) bool {
                if v_0.Op != OpSub64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -3494,18 +3407,16 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd8, t)
@@ -3524,18 +3435,16 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd8, t)
@@ -3554,9 +3463,8 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -3584,9 +3492,8 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -3614,18 +3521,16 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd8, t)
@@ -3644,18 +3549,16 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpAdd8, t)
@@ -3674,9 +3577,8 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                z := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -3704,9 +3606,8 @@ func rewriteValuegeneric_OpAdd8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               z := v_0.Args[0]
                x := v_0.Args[1]
+               z := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -3732,7 +3633,7 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -3740,7 +3641,6 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -3810,19 +3710,17 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Add8 i (Add8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -3838,7 +3736,7 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Add8 i (Add8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
@@ -3850,7 +3748,6 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -3872,13 +3769,12 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
                if v_1.Op != OpAdd8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -3922,19 +3818,17 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Add8 i (Sub8 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -3956,13 +3850,12 @@ func rewriteValuegeneric_OpAdd8_10(v *Value) bool {
                if v_1.Op != OpSub8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -3988,13 +3881,12 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                if v_1.Op != OpSub8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -4010,19 +3902,17 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Add8 i (Sub8 <t> x z))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -4038,7 +3928,7 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Sub8 (Add8 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub8 {
                        break
@@ -4050,7 +3940,6 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -4122,7 +4011,7 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Sub8 (Add8 <t> x z) i)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpSub8 {
                        break
@@ -4134,7 +4023,6 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -4161,7 +4049,7 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                if v_1.Op != OpAdd8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -4170,7 +4058,6 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c + d))
@@ -4219,14 +4106,13 @@ func rewriteValuegeneric_OpAdd8_20(v *Value) bool {
                if v_0.Op != OpAdd8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -4293,7 +4179,7 @@ func rewriteValuegeneric_OpAdd8_30(v *Value) bool {
                if v_1.Op != OpSub8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -4302,7 +4188,6 @@ func rewriteValuegeneric_OpAdd8_30(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpSub8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c + d))
@@ -4319,14 +4204,13 @@ func rewriteValuegeneric_OpAdd8_30(v *Value) bool {
                if v_0.Op != OpSub8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -4598,9 +4482,8 @@ func rewriteValuegeneric_OpAnd16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -4612,7 +4495,7 @@ func rewriteValuegeneric_OpAnd16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -4620,7 +4503,6 @@ func rewriteValuegeneric_OpAnd16_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -4690,11 +4572,10 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
                if v_1.Op != OpAnd16 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAnd16)
                v.AddArg(x)
                v.AddArg(y)
@@ -4724,15 +4605,13 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
        // cond:
        // result: (And16 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAnd16)
@@ -4744,15 +4623,14 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
        // cond:
        // result: (And16 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd16 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAnd16)
@@ -4764,19 +4642,17 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (And16 i (And16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -4792,7 +4668,7 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (And16 i (And16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd16 {
                        break
@@ -4804,7 +4680,6 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -4826,13 +4701,12 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
                if v_1.Op != OpAnd16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -4887,7 +4761,7 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
                if v_1.Op != OpAnd16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -4896,7 +4770,6 @@ func rewriteValuegeneric_OpAnd16_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAnd16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c & d))
@@ -4949,14 +4822,13 @@ func rewriteValuegeneric_OpAnd16_20(v *Value) bool {
                if v_0.Op != OpAnd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -5157,9 +5029,8 @@ func rewriteValuegeneric_OpAnd32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -5171,7 +5042,7 @@ func rewriteValuegeneric_OpAnd32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -5179,7 +5050,6 @@ func rewriteValuegeneric_OpAnd32_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -5249,11 +5119,10 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
                if v_1.Op != OpAnd32 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAnd32)
                v.AddArg(x)
                v.AddArg(y)
@@ -5283,15 +5152,13 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
        // cond:
        // result: (And32 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAnd32)
@@ -5303,15 +5170,14 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
        // cond:
        // result: (And32 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd32 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAnd32)
@@ -5323,19 +5189,17 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (And32 i (And32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -5351,7 +5215,7 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (And32 i (And32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd32 {
                        break
@@ -5363,7 +5227,6 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -5385,13 +5248,12 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
                if v_1.Op != OpAnd32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -5446,7 +5308,7 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
                if v_1.Op != OpAnd32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -5455,7 +5317,6 @@ func rewriteValuegeneric_OpAnd32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAnd32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c & d))
@@ -5508,14 +5369,13 @@ func rewriteValuegeneric_OpAnd32_20(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -5716,9 +5576,8 @@ func rewriteValuegeneric_OpAnd64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -5730,7 +5589,7 @@ func rewriteValuegeneric_OpAnd64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -5738,7 +5597,6 @@ func rewriteValuegeneric_OpAnd64_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -5808,11 +5666,10 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
                if v_1.Op != OpAnd64 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAnd64)
                v.AddArg(x)
                v.AddArg(y)
@@ -5842,15 +5699,13 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
        // cond:
        // result: (And64 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAnd64)
@@ -5862,15 +5717,14 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
        // cond:
        // result: (And64 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd64 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAnd64)
@@ -5883,13 +5737,12 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
        // result: (Rsh64Ux64 (Lsh64x64 <t> x (Const64 <t> [nlz(y)])) (Const64 <t> [nlz(y)]))
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
                }
                y := v_0.AuxInt
-               x := v.Args[1]
                if !(nlz(y)+nto(y) == 64 && nto(y) >= 32) {
                        break
                }
@@ -5937,13 +5790,12 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
        // result: (Lsh64x64 (Rsh64Ux64 <t> x (Const64 <t> [ntz(y)])) (Const64 <t> [ntz(y)]))
        for {
                t := v.Type
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
                }
                y := v_0.AuxInt
-               x := v.Args[1]
                if !(nlo(y)+ntz(y) == 64 && ntz(y) >= 32) {
                        break
                }
@@ -5990,19 +5842,17 @@ func rewriteValuegeneric_OpAnd64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (And64 i (And64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -6022,7 +5872,7 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (And64 i (And64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd64 {
                        break
@@ -6034,7 +5884,6 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -6056,13 +5905,12 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
                if v_1.Op != OpAnd64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -6117,7 +5965,7 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
                if v_1.Op != OpAnd64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -6126,7 +5974,6 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAnd64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c & d
@@ -6175,14 +6022,13 @@ func rewriteValuegeneric_OpAnd64_20(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -6383,9 +6229,8 @@ func rewriteValuegeneric_OpAnd8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -6397,7 +6242,7 @@ func rewriteValuegeneric_OpAnd8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -6405,7 +6250,6 @@ func rewriteValuegeneric_OpAnd8_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -6475,11 +6319,10 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
                if v_1.Op != OpAnd8 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpAnd8)
                v.AddArg(x)
                v.AddArg(y)
@@ -6509,15 +6352,13 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
        // cond:
        // result: (And8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpAnd8)
@@ -6529,15 +6370,14 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
        // cond:
        // result: (And8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd8 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpAnd8)
@@ -6549,19 +6389,17 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (And8 i (And8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -6577,7 +6415,7 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (And8 i (And8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAnd8 {
                        break
@@ -6589,7 +6427,6 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -6611,13 +6448,12 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
                if v_1.Op != OpAnd8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -6672,7 +6508,7 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
                if v_1.Op != OpAnd8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -6681,7 +6517,6 @@ func rewriteValuegeneric_OpAnd8_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAnd8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c & d))
@@ -6734,14 +6569,13 @@ func rewriteValuegeneric_OpAnd8_20(v *Value) bool {
                if v_0.Op != OpAnd8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -7083,21 +6917,19 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
        // cond:
        // result: (Add64 ptr off)
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
-               = v_0.Args[1]
+               off := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConvert {
                        break
                }
                _ = v_0_0.Args[1]
                ptr := v_0_0.Args[0]
-               mem := v_0_0.Args[1]
-               off := v_0.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0_0.Args[1] {
                        break
                }
                v.reset(OpAdd64)
@@ -7109,7 +6941,7 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
        // cond:
        // result: (Add64 ptr off)
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
@@ -7122,8 +6954,7 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
                }
                _ = v_0_1.Args[1]
                ptr := v_0_1.Args[0]
-               mem := v_0_1.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0_1.Args[1] {
                        break
                }
                v.reset(OpAdd64)
@@ -7135,21 +6966,19 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
        // cond:
        // result: (Add32 ptr off)
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
-               = v_0.Args[1]
+               off := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConvert {
                        break
                }
                _ = v_0_0.Args[1]
                ptr := v_0_0.Args[0]
-               mem := v_0_0.Args[1]
-               off := v_0.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0_0.Args[1] {
                        break
                }
                v.reset(OpAdd32)
@@ -7161,7 +6990,7 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
        // cond:
        // result: (Add32 ptr off)
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
@@ -7174,8 +7003,7 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
                }
                _ = v_0_1.Args[1]
                ptr := v_0_1.Args[0]
-               mem := v_0_1.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0_1.Args[1] {
                        break
                }
                v.reset(OpAdd32)
@@ -7187,15 +7015,14 @@ func rewriteValuegeneric_OpConvert_0(v *Value) bool {
        // cond:
        // result: ptr
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConvert {
                        break
                }
                _ = v_0.Args[1]
                ptr := v_0.Args[0]
-               mem := v_0.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -8948,9 +8775,8 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -8972,7 +8798,7 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
                if v_1.Op != OpAdd16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -8981,7 +8807,6 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpEq16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c - d))
@@ -9030,14 +8855,13 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
                if v_0.Op != OpAdd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -9132,9 +8956,8 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
                if s.Op != OpSub16 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -9166,9 +8989,8 @@ func rewriteValuegeneric_OpEq16_0(v *Value) bool {
                if s.Op != OpSub16 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -9185,9 +9007,8 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -9209,7 +9030,7 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
                if v_1.Op != OpAdd32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -9218,7 +9039,6 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpEq32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c - d))
@@ -9267,14 +9087,13 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
                if v_0.Op != OpAdd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -9369,9 +9188,8 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
                if s.Op != OpSub32 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -9403,9 +9221,8 @@ func rewriteValuegeneric_OpEq32_0(v *Value) bool {
                if s.Op != OpSub32 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -9463,9 +9280,8 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -9487,7 +9303,7 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
                if v_1.Op != OpAdd64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -9496,7 +9312,6 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpEq64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - d
@@ -9545,14 +9360,13 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
                if v_0.Op != OpAdd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -9647,9 +9461,8 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
                if s.Op != OpSub64 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -9681,9 +9494,8 @@ func rewriteValuegeneric_OpEq64_0(v *Value) bool {
                if s.Op != OpSub64 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -9741,9 +9553,8 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -9765,7 +9576,7 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
                if v_1.Op != OpAdd8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -9774,7 +9585,6 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpEq8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c - d))
@@ -9823,14 +9633,13 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
                if v_0.Op != OpAdd8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -9925,9 +9734,8 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
                if s.Op != OpSub8 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -9959,9 +9767,8 @@ func rewriteValuegeneric_OpEq8_0(v *Value) bool {
                if s.Op != OpSub8 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -10015,7 +9822,7 @@ func rewriteValuegeneric_OpEqB_0(v *Value) bool {
        // cond:
        // result: (Not x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstBool {
                        break
@@ -10023,7 +9830,6 @@ func rewriteValuegeneric_OpEqB_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNot)
                v.AddArg(x)
                return true
@@ -10049,7 +9855,7 @@ func rewriteValuegeneric_OpEqB_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstBool {
                        break
@@ -10057,7 +9863,6 @@ func rewriteValuegeneric_OpEqB_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -10090,9 +9895,8 @@ func rewriteValuegeneric_OpEqInter_0(v *Value) bool {
        // cond:
        // result: (EqPtr (ITab x) (ITab y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpEqPtr)
                v0 := b.NewValue0(v.Pos, OpITab, typ.Uintptr)
                v0.AddArg(x)
@@ -10108,9 +9912,8 @@ func rewriteValuegeneric_OpEqPtr_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -10201,14 +10004,13 @@ func rewriteValuegeneric_OpEqPtr_0(v *Value) bool {
        // cond: isSamePtr(p1, p2)
        // result: (ConstBool [b2i(o1 == 0)])
        for {
-               = v.Args[1]
+               p2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOffPtr {
                        break
                }
                o1 := v_0.AuxInt
                p1 := v_0.Args[0]
-               p2 := v.Args[1]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -10440,15 +10242,13 @@ func rewriteValuegeneric_OpEqPtr_10(v *Value) bool {
        // cond: isSamePtr(p1, p2)
        // result: (Not (IsNonNil o1))
        for {
-               = v.Args[1]
+               p2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAddPtr {
                        break
                }
-               _ = v_0.Args[1]
-               p1 := v_0.Args[0]
                o1 := v_0.Args[1]
-               p2 := v.Args[1]
+               p1 := v_0.Args[0]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -10468,9 +10268,8 @@ func rewriteValuegeneric_OpEqPtr_10(v *Value) bool {
                if v_1.Op != OpAddPtr {
                        break
                }
-               _ = v_1.Args[1]
-               p1 := v_1.Args[0]
                o1 := v_1.Args[1]
+               p1 := v_1.Args[0]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -10484,7 +10283,7 @@ func rewriteValuegeneric_OpEqPtr_10(v *Value) bool {
        // cond:
        // result: (Not (IsNonNil p))
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -10492,7 +10291,6 @@ func rewriteValuegeneric_OpEqPtr_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               p := v.Args[1]
                v.reset(OpNot)
                v0 := b.NewValue0(v.Pos, OpIsNonNil, typ.Bool)
                v0.AddArg(p)
@@ -10527,7 +10325,7 @@ func rewriteValuegeneric_OpEqPtr_20(v *Value) bool {
        // cond:
        // result: (Not (IsNonNil p))
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -10535,7 +10333,6 @@ func rewriteValuegeneric_OpEqPtr_20(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               p := v.Args[1]
                v.reset(OpNot)
                v0 := b.NewValue0(v.Pos, OpIsNonNil, typ.Bool)
                v0.AddArg(p)
@@ -10565,12 +10362,11 @@ func rewriteValuegeneric_OpEqPtr_20(v *Value) bool {
        // cond:
        // result: (Not (IsNonNil p))
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstNil {
                        break
                }
-               p := v.Args[1]
                v.reset(OpNot)
                v0 := b.NewValue0(v.Pos, OpIsNonNil, typ.Bool)
                v0.AddArg(p)
@@ -10602,9 +10398,8 @@ func rewriteValuegeneric_OpEqSlice_0(v *Value) bool {
        // cond:
        // result: (EqPtr (SlicePtr x) (SlicePtr y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpEqPtr)
                v0 := b.NewValue0(v.Pos, OpSlicePtr, typ.BytePtr)
                v0.AddArg(x)
@@ -11096,7 +10891,7 @@ func rewriteValuegeneric_OpInterCall_0(v *Value) bool {
        // result: (StaticCall [argsize] {devirt(v, itab, off)} mem)
        for {
                argsize := v.AuxInt
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpLoad {
                        break
@@ -11125,7 +10920,6 @@ func rewriteValuegeneric_OpInterCall_0(v *Value) bool {
                if v_0_0_0_0_0_0.Op != OpSB {
                        break
                }
-               mem := v.Args[1]
                if !(devirt(v, itab, off) != nil) {
                        break
                }
@@ -11226,9 +11020,8 @@ func rewriteValuegeneric_OpIsInBounds_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -11871,14 +11664,13 @@ func rewriteValuegeneric_OpIsInBounds_20(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMod32u {
                        break
                }
                _ = v_0.Args[1]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpConstBool)
@@ -11889,14 +11681,13 @@ func rewriteValuegeneric_OpIsInBounds_20(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpMod64u {
                        break
                }
                _ = v_0.Args[1]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpConstBool)
@@ -12273,9 +12064,8 @@ func rewriteValuegeneric_OpIsSliceInBounds_0(v *Value) bool {
        // cond:
        // result: (ConstBool [1])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -13575,9 +13365,8 @@ func rewriteValuegeneric_OpLoad_20(v *Value) bool {
        // result: (StructMake1 (Load <t.FieldType(0)> (OffPtr <t.FieldType(0).PtrTo()> [0] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsStruct() && t.NumFields() == 1 && fe.CanSSA(t)) {
                        break
                }
@@ -13596,9 +13385,8 @@ func rewriteValuegeneric_OpLoad_20(v *Value) bool {
        // result: (StructMake2 (Load <t.FieldType(0)> (OffPtr <t.FieldType(0).PtrTo()> [0] ptr) mem) (Load <t.FieldType(1)> (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsStruct() && t.NumFields() == 2 && fe.CanSSA(t)) {
                        break
                }
@@ -13624,9 +13412,8 @@ func rewriteValuegeneric_OpLoad_20(v *Value) bool {
        // result: (StructMake3 (Load <t.FieldType(0)> (OffPtr <t.FieldType(0).PtrTo()> [0] ptr) mem) (Load <t.FieldType(1)> (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] ptr) mem) (Load <t.FieldType(2)> (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsStruct() && t.NumFields() == 3 && fe.CanSSA(t)) {
                        break
                }
@@ -13659,9 +13446,8 @@ func rewriteValuegeneric_OpLoad_20(v *Value) bool {
        // result: (StructMake4 (Load <t.FieldType(0)> (OffPtr <t.FieldType(0).PtrTo()> [0] ptr) mem) (Load <t.FieldType(1)> (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] ptr) mem) (Load <t.FieldType(2)> (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] ptr) mem) (Load <t.FieldType(3)> (OffPtr <t.FieldType(3).PtrTo()> [t.FieldOff(3)] ptr) mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsStruct() && t.NumFields() == 4 && fe.CanSSA(t)) {
                        break
                }
@@ -13713,9 +13499,8 @@ func rewriteValuegeneric_OpLoad_20(v *Value) bool {
        // result: (ArrayMake1 (Load <t.Elem()> ptr mem))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                mem := v.Args[1]
+               ptr := v.Args[0]
                if !(t.IsArray() && t.NumElem() == 1 && fe.CanSSA(t)) {
                        break
                }
@@ -15628,14 +15413,13 @@ func rewriteValuegeneric_OpMove_0(v *Value) bool {
                        break
                }
                t2 := store.Aux
-               = store.Args[2]
+               mem := store.Args[2]
                op := store.Args[0]
                if op.Op != OpOffPtr {
                        break
                }
                o2 := op.AuxInt
                dst2 := op.Args[0]
-               mem := store.Args[2]
                if !(isSamePtr(dst1, dst2) && store.Uses == 1 && n >= o2+sizeof(t2) && disjoint(src1, n, op, sizeof(t2)) && clobber(store)) {
                        break
                }
@@ -15666,9 +15450,8 @@ func rewriteValuegeneric_OpMove_0(v *Value) bool {
                if move.Aux != t {
                        break
                }
-               _ = move.Args[2]
-               dst2 := move.Args[0]
                mem := move.Args[2]
+               dst2 := move.Args[0]
                if !(move.Uses == 1 && isSamePtr(dst1, dst2) && disjoint(src1, n, dst2, n) && clobber(move)) {
                        break
                }
@@ -15704,9 +15487,8 @@ func rewriteValuegeneric_OpMove_0(v *Value) bool {
                if move.Aux != t {
                        break
                }
-               _ = move.Args[2]
-               dst2 := move.Args[0]
                mem := move.Args[2]
+               dst2 := move.Args[0]
                if !(move.Uses == 1 && vardef.Uses == 1 && isSamePtr(dst1, dst2) && disjoint(src1, n, dst2, n) && clobber(move) && clobber(vardef)) {
                        break
                }
@@ -15740,9 +15522,8 @@ func rewriteValuegeneric_OpMove_0(v *Value) bool {
                if zero.Aux != t {
                        break
                }
-               _ = zero.Args[1]
-               dst2 := zero.Args[0]
                mem := zero.Args[1]
+               dst2 := zero.Args[0]
                if !(zero.Uses == 1 && isSamePtr(dst1, dst2) && disjoint(src1, n, dst2, n) && clobber(zero)) {
                        break
                }
@@ -15778,9 +15559,8 @@ func rewriteValuegeneric_OpMove_0(v *Value) bool {
                if zero.Aux != t {
                        break
                }
-               _ = zero.Args[1]
-               dst2 := zero.Args[0]
                mem := zero.Args[1]
+               dst2 := zero.Args[0]
                if !(zero.Uses == 1 && vardef.Uses == 1 && isSamePtr(dst1, dst2) && disjoint(src1, n, dst2, n) && clobber(zero) && clobber(vardef)) {
                        break
                }
@@ -17066,10 +16846,9 @@ func rewriteValuegeneric_OpMove_20(v *Value) bool {
        // cond: isSamePtr(dst, src)
        // result: mem
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                src := v.Args[1]
-               mem := v.Args[2]
                if !(isSamePtr(dst, src)) {
                        break
                }
@@ -17125,7 +16904,7 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -17133,7 +16912,6 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -17161,7 +16939,7 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
        // cond:
        // result: (Neg16 x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -17169,7 +16947,6 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg16)
                v.AddArg(x)
                return true
@@ -17219,13 +16996,12 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
        // result: (Lsh16x64 <t> n (Const64 <typ.UInt64> [log2(c)]))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -17266,13 +17042,12 @@ func rewriteValuegeneric_OpMul16_0(v *Value) bool {
        // result: (Neg16 (Lsh16x64 <t> n (Const64 <typ.UInt64> [log2(-c)])))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(t.IsSigned() && isPowerOfTwo(-c)) {
                        break
                }
@@ -17336,7 +17111,7 @@ func rewriteValuegeneric_OpMul16_10(v *Value) bool {
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -17345,7 +17120,6 @@ func rewriteValuegeneric_OpMul16_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpMul16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c * d))
@@ -17394,14 +17168,13 @@ func rewriteValuegeneric_OpMul16_10(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -17496,7 +17269,7 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -17504,7 +17277,6 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -17532,7 +17304,7 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
        // cond:
        // result: (Neg32 x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -17540,7 +17312,6 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg32)
                v.AddArg(x)
                return true
@@ -17590,13 +17361,12 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
        // result: (Lsh32x64 <t> n (Const64 <typ.UInt64> [log2(c)]))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -17637,13 +17407,12 @@ func rewriteValuegeneric_OpMul32_0(v *Value) bool {
        // result: (Neg32 (Lsh32x64 <t> n (Const64 <typ.UInt64> [log2(-c)])))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(t.IsSigned() && isPowerOfTwo(-c)) {
                        break
                }
@@ -17678,7 +17447,7 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                if v_1.Type != t {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -17687,7 +17456,6 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c * d))
@@ -17750,7 +17518,7 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                        break
                }
                t := v_0.Type
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
@@ -17759,7 +17527,6 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                        break
                }
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -17867,7 +17634,7 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -17876,7 +17643,6 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpMul32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c * d))
@@ -17925,14 +17691,13 @@ func rewriteValuegeneric_OpMul32_10(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -18043,7 +17808,7 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32F {
                        break
@@ -18051,7 +17816,6 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom64F(1) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -18078,7 +17842,7 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (Neg32F x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32F {
                        break
@@ -18086,7 +17850,6 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom32F(-1) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg32F)
                v.AddArg(x)
                return true
@@ -18113,7 +17876,7 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
        // cond:
        // result: (Add32F x x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32F {
                        break
@@ -18121,7 +17884,6 @@ func rewriteValuegeneric_OpMul32F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom32F(2) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpAdd32F)
                v.AddArg(x)
                v.AddArg(x)
@@ -18174,7 +17936,7 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -18182,7 +17944,6 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -18210,7 +17971,7 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
        // cond:
        // result: (Neg64 x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -18218,7 +17979,6 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg64)
                v.AddArg(x)
                return true
@@ -18268,13 +18028,12 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
        // result: (Lsh64x64 <t> n (Const64 <typ.UInt64> [log2(c)]))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -18315,13 +18074,12 @@ func rewriteValuegeneric_OpMul64_0(v *Value) bool {
        // result: (Neg64 (Lsh64x64 <t> n (Const64 <typ.UInt64> [log2(-c)])))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(t.IsSigned() && isPowerOfTwo(-c)) {
                        break
                }
@@ -18356,7 +18114,7 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                if v_1.Type != t {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -18365,7 +18123,6 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c * d
@@ -18428,7 +18185,7 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                        break
                }
                t := v_0.Type
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
@@ -18437,7 +18194,6 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                        break
                }
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -18545,7 +18301,7 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -18554,7 +18310,6 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpMul64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c * d
@@ -18603,14 +18358,13 @@ func rewriteValuegeneric_OpMul64_10(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -18721,7 +18475,7 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64F {
                        break
@@ -18729,7 +18483,6 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom64F(1) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -18756,7 +18509,7 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (Neg64F x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64F {
                        break
@@ -18764,7 +18517,6 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom64F(-1) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg64F)
                v.AddArg(x)
                return true
@@ -18791,7 +18543,7 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
        // cond:
        // result: (Add64F x x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64F {
                        break
@@ -18799,7 +18551,6 @@ func rewriteValuegeneric_OpMul64F_0(v *Value) bool {
                if v_0.AuxInt != auxFrom64F(2) {
                        break
                }
-               x := v.Args[1]
                v.reset(OpAdd64F)
                v.AddArg(x)
                v.AddArg(x)
@@ -18852,7 +18603,7 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -18860,7 +18611,6 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -18888,7 +18638,7 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
        // cond:
        // result: (Neg8 x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -18896,7 +18646,6 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
                if v_0.AuxInt != -1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNeg8)
                v.AddArg(x)
                return true
@@ -18946,13 +18695,12 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
        // result: (Lsh8x64 <t> n (Const64 <typ.UInt64> [log2(c)]))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(isPowerOfTwo(c)) {
                        break
                }
@@ -18993,13 +18741,12 @@ func rewriteValuegeneric_OpMul8_0(v *Value) bool {
        // result: (Neg8 (Lsh8x64 <t> n (Const64 <typ.UInt64> [log2(-c)])))
        for {
                t := v.Type
-               = v.Args[1]
+               n := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
                }
                c := v_0.AuxInt
-               n := v.Args[1]
                if !(t.IsSigned() && isPowerOfTwo(-c)) {
                        break
                }
@@ -19063,7 +18810,7 @@ func rewriteValuegeneric_OpMul8_10(v *Value) bool {
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -19072,7 +18819,6 @@ func rewriteValuegeneric_OpMul8_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpMul8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c * d))
@@ -19121,14 +18867,13 @@ func rewriteValuegeneric_OpMul8_10(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -19200,9 +18945,8 @@ func rewriteValuegeneric_OpNeg16_0(v *Value) bool {
                if v_0.Op != OpSub16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSub16)
                v.AddArg(y)
                v.AddArg(x)
@@ -19232,9 +18976,8 @@ func rewriteValuegeneric_OpNeg32_0(v *Value) bool {
                if v_0.Op != OpSub32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSub32)
                v.AddArg(y)
                v.AddArg(x)
@@ -19283,9 +19026,8 @@ func rewriteValuegeneric_OpNeg64_0(v *Value) bool {
                if v_0.Op != OpSub64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSub64)
                v.AddArg(y)
                v.AddArg(x)
@@ -19334,9 +19076,8 @@ func rewriteValuegeneric_OpNeg8_0(v *Value) bool {
                if v_0.Op != OpSub8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpSub8)
                v.AddArg(y)
                v.AddArg(x)
@@ -19350,9 +19091,8 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -19374,7 +19114,7 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
                if v_1.Op != OpAdd16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -19383,7 +19123,6 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpNeq16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c - d))
@@ -19432,14 +19171,13 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
                if v_0.Op != OpAdd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -19534,9 +19272,8 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
                if s.Op != OpSub16 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -19568,9 +19305,8 @@ func rewriteValuegeneric_OpNeq16_0(v *Value) bool {
                if s.Op != OpSub16 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -19587,9 +19323,8 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -19611,7 +19346,7 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
                if v_1.Op != OpAdd32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -19620,7 +19355,6 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpNeq32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c - d))
@@ -19669,14 +19403,13 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
                if v_0.Op != OpAdd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -19771,9 +19504,8 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
                if s.Op != OpSub32 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -19805,9 +19537,8 @@ func rewriteValuegeneric_OpNeq32_0(v *Value) bool {
                if s.Op != OpSub32 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -19865,9 +19596,8 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -19889,7 +19619,7 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
                if v_1.Op != OpAdd64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -19898,7 +19628,6 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpNeq64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - d
@@ -19947,14 +19676,13 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
                if v_0.Op != OpAdd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -20049,9 +19777,8 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
                if s.Op != OpSub64 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -20083,9 +19810,8 @@ func rewriteValuegeneric_OpNeq64_0(v *Value) bool {
                if s.Op != OpSub64 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -20143,9 +19869,8 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -20167,7 +19892,7 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
                if v_1.Op != OpAdd8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -20176,7 +19901,6 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpNeq8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c - d))
@@ -20225,14 +19949,13 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
                if v_0.Op != OpAdd8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -20327,9 +20050,8 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
                if s.Op != OpSub8 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -20361,9 +20083,8 @@ func rewriteValuegeneric_OpNeq8_0(v *Value) bool {
                if s.Op != OpSub8 {
                        break
                }
-               _ = s.Args[1]
-               x := s.Args[0]
                y := s.Args[1]
+               x := s.Args[0]
                if !(s.Uses == 1) {
                        break
                }
@@ -20417,7 +20138,7 @@ func rewriteValuegeneric_OpNeqB_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstBool {
                        break
@@ -20425,7 +20146,6 @@ func rewriteValuegeneric_OpNeqB_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -20453,7 +20173,7 @@ func rewriteValuegeneric_OpNeqB_0(v *Value) bool {
        // cond:
        // result: (Not x)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstBool {
                        break
@@ -20461,7 +20181,6 @@ func rewriteValuegeneric_OpNeqB_0(v *Value) bool {
                if v_0.AuxInt != 1 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpNot)
                v.AddArg(x)
                return true
@@ -20532,9 +20251,8 @@ func rewriteValuegeneric_OpNeqInter_0(v *Value) bool {
        // cond:
        // result: (NeqPtr (ITab x) (ITab y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpNeqPtr)
                v0 := b.NewValue0(v.Pos, OpITab, typ.Uintptr)
                v0.AddArg(x)
@@ -20550,9 +20268,8 @@ func rewriteValuegeneric_OpNeqPtr_0(v *Value) bool {
        // cond:
        // result: (ConstBool [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConstBool)
@@ -20643,14 +20360,13 @@ func rewriteValuegeneric_OpNeqPtr_0(v *Value) bool {
        // cond: isSamePtr(p1, p2)
        // result: (ConstBool [b2i(o1 != 0)])
        for {
-               = v.Args[1]
+               p2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOffPtr {
                        break
                }
                o1 := v_0.AuxInt
                p1 := v_0.Args[0]
-               p2 := v.Args[1]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -20880,15 +20596,13 @@ func rewriteValuegeneric_OpNeqPtr_10(v *Value) bool {
        // cond: isSamePtr(p1, p2)
        // result: (IsNonNil o1)
        for {
-               = v.Args[1]
+               p2 := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAddPtr {
                        break
                }
-               _ = v_0.Args[1]
-               p1 := v_0.Args[0]
                o1 := v_0.Args[1]
-               p2 := v.Args[1]
+               p1 := v_0.Args[0]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -20906,9 +20620,8 @@ func rewriteValuegeneric_OpNeqPtr_10(v *Value) bool {
                if v_1.Op != OpAddPtr {
                        break
                }
-               _ = v_1.Args[1]
-               p1 := v_1.Args[0]
                o1 := v_1.Args[1]
+               p1 := v_1.Args[0]
                if !(isSamePtr(p1, p2)) {
                        break
                }
@@ -20920,7 +20633,7 @@ func rewriteValuegeneric_OpNeqPtr_10(v *Value) bool {
        // cond:
        // result: (IsNonNil p)
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -20928,7 +20641,6 @@ func rewriteValuegeneric_OpNeqPtr_10(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               p := v.Args[1]
                v.reset(OpIsNonNil)
                v.AddArg(p)
                return true
@@ -20957,7 +20669,7 @@ func rewriteValuegeneric_OpNeqPtr_20(v *Value) bool {
        // cond:
        // result: (IsNonNil p)
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -20965,7 +20677,6 @@ func rewriteValuegeneric_OpNeqPtr_20(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               p := v.Args[1]
                v.reset(OpIsNonNil)
                v.AddArg(p)
                return true
@@ -20991,12 +20702,11 @@ func rewriteValuegeneric_OpNeqPtr_20(v *Value) bool {
        // cond:
        // result: (IsNonNil p)
        for {
-               = v.Args[1]
+               p := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConstNil {
                        break
                }
-               p := v.Args[1]
                v.reset(OpIsNonNil)
                v.AddArg(p)
                return true
@@ -21024,9 +20734,8 @@ func rewriteValuegeneric_OpNeqSlice_0(v *Value) bool {
        // cond:
        // result: (NeqPtr (SlicePtr x) (SlicePtr y))
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
                y := v.Args[1]
+               x := v.Args[0]
                v.reset(OpNeqPtr)
                v0 := b.NewValue0(v.Pos, OpSlicePtr, typ.BytePtr)
                v0.AddArg(x)
@@ -21045,13 +20754,12 @@ func rewriteValuegeneric_OpNilCheck_0(v *Value) bool {
        // cond:
        // result: mem
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpGetG {
                        break
                }
-               mem := v_0.Args[0]
-               if mem != v.Args[1] {
+               if mem != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -21147,9 +20855,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpEq64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpNeq64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21163,9 +20870,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpEq32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpNeq32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21179,9 +20885,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpEq16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpNeq16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21195,9 +20900,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpEq8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpNeq8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21211,9 +20915,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpEqB {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpNeqB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21227,9 +20930,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpNeq64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpEq64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21243,9 +20945,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpNeq32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpEq32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21259,9 +20960,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpNeq16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpEq16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21275,9 +20975,8 @@ func rewriteValuegeneric_OpNot_0(v *Value) bool {
                if v_0.Op != OpNeq8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpEq8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21294,9 +20993,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpNeqB {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpEqB)
                v.AddArg(x)
                v.AddArg(y)
@@ -21310,9 +21008,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21326,9 +21023,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21342,9 +21038,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21358,9 +21053,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21374,9 +21068,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater64U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq64U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21390,9 +21083,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater32U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq32U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21406,9 +21098,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater16U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq16U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21422,9 +21113,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGreater8U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLeq8U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21438,9 +21128,8 @@ func rewriteValuegeneric_OpNot_10(v *Value) bool {
                if v_0.Op != OpGeq64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21457,9 +21146,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21473,9 +21161,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21489,9 +21176,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21505,9 +21191,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq64U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess64U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21521,9 +21206,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq32U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess32U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21537,9 +21221,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq16U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess16U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21553,9 +21236,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpGeq8U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpLess8U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21569,9 +21251,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpLess64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21585,9 +21266,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpLess32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21601,9 +21281,8 @@ func rewriteValuegeneric_OpNot_20(v *Value) bool {
                if v_0.Op != OpLess16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21620,9 +21299,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLess8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21636,9 +21314,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLess64U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq64U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21652,9 +21329,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLess32U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq32U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21668,9 +21344,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLess16U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq16U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21684,9 +21359,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLess8U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGeq8U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21700,9 +21374,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLeq64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater64)
                v.AddArg(x)
                v.AddArg(y)
@@ -21716,9 +21389,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLeq32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater32)
                v.AddArg(x)
                v.AddArg(y)
@@ -21732,9 +21404,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLeq16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater16)
                v.AddArg(x)
                v.AddArg(y)
@@ -21748,9 +21419,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLeq8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater8)
                v.AddArg(x)
                v.AddArg(y)
@@ -21764,9 +21434,8 @@ func rewriteValuegeneric_OpNot_30(v *Value) bool {
                if v_0.Op != OpLeq64U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater64U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21783,9 +21452,8 @@ func rewriteValuegeneric_OpNot_40(v *Value) bool {
                if v_0.Op != OpLeq32U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater32U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21799,9 +21467,8 @@ func rewriteValuegeneric_OpNot_40(v *Value) bool {
                if v_0.Op != OpLeq16U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater16U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21815,9 +21482,8 @@ func rewriteValuegeneric_OpNot_40(v *Value) bool {
                if v_0.Op != OpLeq8U {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v.reset(OpGreater8U)
                v.AddArg(x)
                v.AddArg(y)
@@ -21903,9 +21569,8 @@ func rewriteValuegeneric_OpOr16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -21917,7 +21582,7 @@ func rewriteValuegeneric_OpOr16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -21925,7 +21590,6 @@ func rewriteValuegeneric_OpOr16_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -21991,11 +21655,10 @@ func rewriteValuegeneric_OpOr16_0(v *Value) bool {
                if v_1.Op != OpOr16 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpOr16)
                v.AddArg(x)
                v.AddArg(y)
@@ -22025,15 +21688,13 @@ func rewriteValuegeneric_OpOr16_0(v *Value) bool {
        // cond:
        // result: (Or16 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpOr16)
@@ -22049,15 +21710,14 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
        // cond:
        // result: (Or16 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr16 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpOr16)
@@ -22106,13 +21766,12 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                if v_0.Op != OpAnd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                c2 := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -22176,13 +21835,12 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                if v_1.Op != OpAnd16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
                }
                c2 := v_1_0.AuxInt
-               x := v_1.Args[1]
                if !(^(c1 | c2) == 0) {
                        break
                }
@@ -22197,19 +21855,17 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Or16 i (Or16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -22225,7 +21881,7 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Or16 i (Or16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr16 {
                        break
@@ -22237,7 +21893,6 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -22259,13 +21914,12 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                if v_1.Op != OpOr16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -22320,7 +21974,7 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                if v_1.Op != OpOr16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -22329,7 +21983,6 @@ func rewriteValuegeneric_OpOr16_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpOr16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c | d))
@@ -22382,14 +22035,13 @@ func rewriteValuegeneric_OpOr16_20(v *Value) bool {
                if v_0.Op != OpOr16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -22482,9 +22134,8 @@ func rewriteValuegeneric_OpOr32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -22496,7 +22147,7 @@ func rewriteValuegeneric_OpOr32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -22504,7 +22155,6 @@ func rewriteValuegeneric_OpOr32_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -22570,11 +22220,10 @@ func rewriteValuegeneric_OpOr32_0(v *Value) bool {
                if v_1.Op != OpOr32 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpOr32)
                v.AddArg(x)
                v.AddArg(y)
@@ -22604,15 +22253,13 @@ func rewriteValuegeneric_OpOr32_0(v *Value) bool {
        // cond:
        // result: (Or32 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpOr32)
@@ -22628,15 +22275,14 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
        // cond:
        // result: (Or32 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr32 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpOr32)
@@ -22685,13 +22331,12 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                c2 := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -22755,13 +22400,12 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                if v_1.Op != OpAnd32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
                }
                c2 := v_1_0.AuxInt
-               x := v_1.Args[1]
                if !(^(c1 | c2) == 0) {
                        break
                }
@@ -22776,19 +22420,17 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Or32 i (Or32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -22804,7 +22446,7 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Or32 i (Or32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr32 {
                        break
@@ -22816,7 +22458,6 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -22838,13 +22479,12 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                if v_1.Op != OpOr32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -22899,7 +22539,7 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                if v_1.Op != OpOr32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -22908,7 +22548,6 @@ func rewriteValuegeneric_OpOr32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpOr32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c | d))
@@ -22961,14 +22600,13 @@ func rewriteValuegeneric_OpOr32_20(v *Value) bool {
                if v_0.Op != OpOr32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -23061,9 +22699,8 @@ func rewriteValuegeneric_OpOr64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -23075,7 +22712,7 @@ func rewriteValuegeneric_OpOr64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -23083,7 +22720,6 @@ func rewriteValuegeneric_OpOr64_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -23149,11 +22785,10 @@ func rewriteValuegeneric_OpOr64_0(v *Value) bool {
                if v_1.Op != OpOr64 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpOr64)
                v.AddArg(x)
                v.AddArg(y)
@@ -23183,15 +22818,13 @@ func rewriteValuegeneric_OpOr64_0(v *Value) bool {
        // cond:
        // result: (Or64 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpOr64)
@@ -23207,15 +22840,14 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
        // cond:
        // result: (Or64 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr64 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpOr64)
@@ -23264,13 +22896,12 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                c2 := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -23334,13 +22965,12 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                if v_1.Op != OpAnd64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
                }
                c2 := v_1_0.AuxInt
-               x := v_1.Args[1]
                if !(^(c1 | c2) == 0) {
                        break
                }
@@ -23355,19 +22985,17 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Or64 i (Or64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -23383,7 +23011,7 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Or64 i (Or64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr64 {
                        break
@@ -23395,7 +23023,6 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -23417,13 +23044,12 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                if v_1.Op != OpOr64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -23478,7 +23104,7 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                if v_1.Op != OpOr64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -23487,7 +23113,6 @@ func rewriteValuegeneric_OpOr64_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpOr64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c | d
@@ -23540,14 +23165,13 @@ func rewriteValuegeneric_OpOr64_20(v *Value) bool {
                if v_0.Op != OpOr64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -23640,9 +23264,8 @@ func rewriteValuegeneric_OpOr8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -23654,7 +23277,7 @@ func rewriteValuegeneric_OpOr8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -23662,7 +23285,6 @@ func rewriteValuegeneric_OpOr8_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -23728,11 +23350,10 @@ func rewriteValuegeneric_OpOr8_0(v *Value) bool {
                if v_1.Op != OpOr8 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpOr8)
                v.AddArg(x)
                v.AddArg(y)
@@ -23762,15 +23383,13 @@ func rewriteValuegeneric_OpOr8_0(v *Value) bool {
        // cond:
        // result: (Or8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpOr8)
@@ -23786,15 +23405,14 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
        // cond:
        // result: (Or8 x y)
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr8 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpOr8)
@@ -23843,13 +23461,12 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                if v_0.Op != OpAnd8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                c2 := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -23913,13 +23530,12 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                if v_1.Op != OpAnd8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
                }
                c2 := v_1_0.AuxInt
-               x := v_1.Args[1]
                if !(^(c1 | c2) == 0) {
                        break
                }
@@ -23934,19 +23550,17 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Or8 i (Or8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -23962,7 +23576,7 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Or8 i (Or8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpOr8 {
                        break
@@ -23974,7 +23588,6 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -23996,13 +23609,12 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                if v_1.Op != OpOr8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -24057,7 +23669,7 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                if v_1.Op != OpOr8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -24066,7 +23678,6 @@ func rewriteValuegeneric_OpOr8_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpOr8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c | d))
@@ -24119,14 +23730,13 @@ func rewriteValuegeneric_OpOr8_20(v *Value) bool {
                if v_0.Op != OpOr8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -24284,9 +23894,8 @@ func rewriteValuegeneric_OpPtrIndex_0(v *Value) bool {
        // result: (AddPtr ptr (Mul32 <typ.Int> idx (Const32 <typ.Int> [t.Elem().Size()])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                idx := v.Args[1]
+               ptr := v.Args[0]
                if !(config.PtrSize == 4) {
                        break
                }
@@ -24305,9 +23914,8 @@ func rewriteValuegeneric_OpPtrIndex_0(v *Value) bool {
        // result: (AddPtr ptr (Mul64 <typ.Int> idx (Const64 <typ.Int> [t.Elem().Size()])))
        for {
                t := v.Type
-               _ = v.Args[1]
-               ptr := v.Args[0]
                idx := v.Args[1]
+               ptr := v.Args[0]
                if !(config.PtrSize == 8) {
                        break
                }
@@ -27241,9 +26849,8 @@ func rewriteValuegeneric_OpStaticCall_0(v *Value) bool {
                        break
                }
                t := s3.Aux
-               _ = s3.Args[2]
-               dst := s3.Args[1]
                mem := s3.Args[2]
+               dst := s3.Args[1]
                if !(isSameSym(sym, "runtime.memmove") && t.(*types.Type).IsPtr() && s1.Uses == 1 && s2.Uses == 1 && s3.Uses == 1 && isInlinableMemmove(dst, src, sz, config) && clobber(s1) && clobber(s2) && clobber(s3)) {
                        break
                }
@@ -27281,9 +26888,8 @@ func rewriteValuegeneric_OpStaticCall_0(v *Value) bool {
                        break
                }
                t := s3.Aux
-               _ = s3.Args[2]
-               dst := s3.Args[1]
                mem := s3.Args[2]
+               dst := s3.Args[1]
                if !(isSameSym(sym, "runtime.memmove") && t.(*types.Type).IsPtr() && s1.Uses == 1 && s2.Uses == 1 && s3.Uses == 1 && isInlinableMemmove(dst, src, sz, config) && clobber(s1) && clobber(s2) && clobber(s3)) {
                        break
                }
@@ -27318,7 +26924,7 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
        // result: mem
        for {
                t1 := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                p1 := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpLoad {
@@ -27327,8 +26933,7 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
                t2 := v_1.Type
                _ = v_1.Args[1]
                p2 := v_1.Args[0]
-               mem := v_1.Args[1]
-               if mem != v.Args[2] {
+               if mem != v_1.Args[1] {
                        break
                }
                if !(isSamePtr(p1, p2) && t2.Size() == sizeof(t1)) {
@@ -27351,9 +26956,8 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
                        break
                }
                t2 := v_1.Type
-               _ = v_1.Args[1]
-               p2 := v_1.Args[0]
                oldmem := v_1.Args[1]
+               p2 := v_1.Args[0]
                mem := v.Args[2]
                if mem.Op != OpStore {
                        break
@@ -27384,9 +26988,8 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
                        break
                }
                t2 := v_1.Type
-               _ = v_1.Args[1]
-               p2 := v_1.Args[0]
                oldmem := v_1.Args[1]
+               p2 := v_1.Args[0]
                mem := v.Args[2]
                if mem.Op != OpStore {
                        break
@@ -27424,9 +27027,8 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
                        break
                }
                t2 := v_1.Type
-               _ = v_1.Args[1]
-               p2 := v_1.Args[0]
                oldmem := v_1.Args[1]
+               p2 := v_1.Args[0]
                mem := v.Args[2]
                if mem.Op != OpStore {
                        break
@@ -27617,12 +27219,11 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
        // cond:
        // result: mem
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_1 := v.Args[1]
                if v_1.Op != OpStructMake0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
                v.AddArg(mem)
@@ -27632,7 +27233,7 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
        // cond:
        // result: (Store {t.FieldType(0)} (OffPtr <t.FieldType(0).PtrTo()> [0] dst) f0 mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpStructMake1 {
@@ -27640,7 +27241,6 @@ func rewriteValuegeneric_OpStore_0(v *Value) bool {
                }
                t := v_1.Type
                f0 := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpStore)
                v.Aux = t.FieldType(0)
                v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo())
@@ -27661,17 +27261,15 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond:
        // result: (Store {t.FieldType(1)} (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store {t.FieldType(0)} (OffPtr <t.FieldType(0).PtrTo()> [0] dst) f0 mem))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpStructMake2 {
                        break
                }
                t := v_1.Type
-               _ = v_1.Args[1]
-               f0 := v_1.Args[0]
                f1 := v_1.Args[1]
-               mem := v.Args[2]
+               f0 := v_1.Args[0]
                v.reset(OpStore)
                v.Aux = t.FieldType(1)
                v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
@@ -27694,18 +27292,16 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond:
        // result: (Store {t.FieldType(2)} (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] dst) f2 (Store {t.FieldType(1)} (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store {t.FieldType(0)} (OffPtr <t.FieldType(0).PtrTo()> [0] dst) f0 mem)))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpStructMake3 {
                        break
                }
                t := v_1.Type
-               = v_1.Args[2]
+               f2 := v_1.Args[2]
                f0 := v_1.Args[0]
                f1 := v_1.Args[1]
-               f2 := v_1.Args[2]
-               mem := v.Args[2]
                v.reset(OpStore)
                v.Aux = t.FieldType(2)
                v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo())
@@ -27736,19 +27332,17 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond:
        // result: (Store {t.FieldType(3)} (OffPtr <t.FieldType(3).PtrTo()> [t.FieldOff(3)] dst) f3 (Store {t.FieldType(2)} (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] dst) f2 (Store {t.FieldType(1)} (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store {t.FieldType(0)} (OffPtr <t.FieldType(0).PtrTo()> [0] dst) f0 mem))))
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpStructMake4 {
                        break
                }
                t := v_1.Type
-               = v_1.Args[3]
+               f3 := v_1.Args[3]
                f0 := v_1.Args[0]
                f1 := v_1.Args[1]
                f2 := v_1.Args[2]
-               f3 := v_1.Args[3]
-               mem := v.Args[2]
                v.reset(OpStore)
                v.Aux = t.FieldType(3)
                v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(3).PtrTo())
@@ -27788,7 +27382,7 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // result: (Move {t} [sizeof(t)] dst src mem)
        for {
                t := v.Aux
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpLoad {
@@ -27796,8 +27390,7 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
                }
                _ = v_1.Args[1]
                src := v_1.Args[0]
-               mem := v_1.Args[1]
-               if mem != v.Args[2] {
+               if mem != v_1.Args[1] {
                        break
                }
                if !(!fe.CanSSA(t.(*types.Type))) {
@@ -27822,9 +27415,8 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
                if v_1.Op != OpLoad {
                        break
                }
-               _ = v_1.Args[1]
-               src := v_1.Args[0]
                mem := v_1.Args[1]
+               src := v_1.Args[0]
                v_2 := v.Args[2]
                if v_2.Op != OpVarDef {
                        break
@@ -27851,12 +27443,11 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond:
        // result: mem
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_1 := v.Args[1]
                if v_1.Op != OpArrayMake0 {
                        break
                }
-               mem := v.Args[2]
                v.reset(OpCopy)
                v.Type = mem.Type
                v.AddArg(mem)
@@ -27866,14 +27457,13 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond:
        // result: (Store {e.Type} dst e mem)
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                dst := v.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpArrayMake1 {
                        break
                }
                e := v_1.Args[0]
-               mem := v.Args[2]
                v.reset(OpStore)
                v.Aux = e.Type
                v.AddArg(dst)
@@ -27885,7 +27475,7 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond: isConstZero(x) && mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize() + config.RegSize
        // result: mem
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpLoad {
                        break
@@ -27900,11 +27490,10 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
                if v_0_0_0.Op != OpSP {
                        break
                }
-               mem := v_0.Args[1]
-               x := v.Args[1]
-               if mem != v.Args[2] {
+               if mem != v_0.Args[1] {
                        break
                }
+               x := v.Args[1]
                if !(isConstZero(x) && mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize) {
                        break
                }
@@ -27917,7 +27506,7 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
        // cond: isConstZero(x) && mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize() + config.RegSize
        // result: mem
        for {
-               = v.Args[2]
+               mem := v.Args[2]
                v_0 := v.Args[0]
                if v_0.Op != OpOffPtr {
                        break
@@ -27936,11 +27525,10 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
                if v_0_0_0_0.Op != OpSP {
                        break
                }
-               mem := v_0_0.Args[1]
-               x := v.Args[1]
-               if mem != v.Args[2] {
+               if mem != v_0_0.Args[1] {
                        break
                }
+               x := v.Args[1]
                if !(isConstZero(x) && mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize) {
                        break
                }
@@ -27982,9 +27570,8 @@ func rewriteValuegeneric_OpStore_10(v *Value) bool {
                        break
                }
                n := m3.AuxInt
-               _ = m3.Args[2]
-               p3 := m3.Args[0]
                mem := m3.Args[2]
+               p3 := m3.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && o1 == sizeof(t2) && n == sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && clobber(m2) && clobber(m3)) {
                        break
                }
@@ -28050,9 +27637,8 @@ func rewriteValuegeneric_OpStore_20(v *Value) bool {
                        break
                }
                n := m4.AuxInt
-               _ = m4.Args[2]
-               p4 := m4.Args[0]
                mem := m4.Args[2]
+               p4 := m4.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && m4.Uses == 1 && o2 == sizeof(t3) && o1-o2 == sizeof(t2) && n == sizeof(t3)+sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && clobber(m2) && clobber(m3) && clobber(m4)) {
                        break
                }
@@ -28132,9 +27718,8 @@ func rewriteValuegeneric_OpStore_20(v *Value) bool {
                        break
                }
                n := m5.AuxInt
-               _ = m5.Args[2]
-               p5 := m5.Args[0]
                mem := m5.Args[2]
+               p5 := m5.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && m4.Uses == 1 && m5.Uses == 1 && o3 == sizeof(t4) && o2-o3 == sizeof(t3) && o1-o2 == sizeof(t2) && n == sizeof(t4)+sizeof(t3)+sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && clobber(m2) && clobber(m3) && clobber(m4) && clobber(m5)) {
                        break
                }
@@ -28193,9 +27778,8 @@ func rewriteValuegeneric_OpStore_20(v *Value) bool {
                        break
                }
                n := m3.AuxInt
-               _ = m3.Args[1]
-               p3 := m3.Args[0]
                mem := m3.Args[1]
+               p3 := m3.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && o1 == sizeof(t2) && n == sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && clobber(m2) && clobber(m3)) {
                        break
                }
@@ -28257,9 +27841,8 @@ func rewriteValuegeneric_OpStore_20(v *Value) bool {
                        break
                }
                n := m4.AuxInt
-               _ = m4.Args[1]
-               p4 := m4.Args[0]
                mem := m4.Args[1]
+               p4 := m4.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && m4.Uses == 1 && o2 == sizeof(t3) && o1-o2 == sizeof(t2) && n == sizeof(t3)+sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && clobber(m2) && clobber(m3) && clobber(m4)) {
                        break
                }
@@ -28339,9 +27922,8 @@ func rewriteValuegeneric_OpStore_20(v *Value) bool {
                        break
                }
                n := m5.AuxInt
-               _ = m5.Args[1]
-               p5 := m5.Args[0]
                mem := m5.Args[1]
+               p5 := m5.Args[0]
                if !(m2.Uses == 1 && m3.Uses == 1 && m4.Uses == 1 && m5.Uses == 1 && o3 == sizeof(t4) && o2-o3 == sizeof(t3) && o1-o2 == sizeof(t2) && n == sizeof(t4)+sizeof(t3)+sizeof(t2)+sizeof(t1) && isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && clobber(m2) && clobber(m3) && clobber(m4) && clobber(m5)) {
                        break
                }
@@ -28461,7 +28043,6 @@ func rewriteValuegeneric_OpStructSelect_0(v *Value) bool {
                if v_0.Op != OpStructMake2 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
@@ -28515,7 +28096,6 @@ func rewriteValuegeneric_OpStructSelect_0(v *Value) bool {
                if v_0.Op != OpStructMake3 {
                        break
                }
-               _ = v_0.Args[2]
                x := v_0.Args[2]
                v.reset(OpCopy)
                v.Type = x.Type
@@ -28587,7 +28167,6 @@ func rewriteValuegeneric_OpStructSelect_0(v *Value) bool {
                if v_0.Op != OpStructMake4 {
                        break
                }
-               _ = v_0.Args[3]
                x := v_0.Args[3]
                v.reset(OpCopy)
                v.Type = x.Type
@@ -28609,9 +28188,8 @@ func rewriteValuegeneric_OpStructSelect_10(v *Value) bool {
                        break
                }
                t := x.Type
-               _ = x.Args[1]
-               ptr := x.Args[0]
                mem := x.Args[1]
+               ptr := x.Args[0]
                if !(!fe.CanSSA(t)) {
                        break
                }
@@ -28697,18 +28275,16 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub16, t)
@@ -28727,18 +28303,16 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul16)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub16, t)
@@ -28757,9 +28331,8 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -28787,9 +28360,8 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
                if v_0.Op != OpMul16 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul16 {
                        break
@@ -28811,9 +28383,8 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
        // cond:
        // result: (Const16 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst16)
@@ -28824,15 +28395,13 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -28844,15 +28413,14 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -28864,15 +28432,14 @@ func rewriteValuegeneric_OpSub16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
                }
                _ = v_0.Args[1]
                x := v_0.Args[0]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -28888,15 +28455,13 @@ func rewriteValuegeneric_OpSub16_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd16 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -28914,13 +28479,12 @@ func rewriteValuegeneric_OpSub16_10(v *Value) bool {
                if v_1.Op != OpSub16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -29007,7 +28571,7 @@ func rewriteValuegeneric_OpSub16_10(v *Value) bool {
                if v_1.Op != OpSub16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -29016,7 +28580,6 @@ func rewriteValuegeneric_OpSub16_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c - d))
@@ -29079,18 +28642,16 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub32, t)
@@ -29109,18 +28670,16 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul32)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub32, t)
@@ -29139,9 +28698,8 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -29169,9 +28727,8 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
                if v_0.Op != OpMul32 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul32 {
                        break
@@ -29193,9 +28750,8 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
        // cond:
        // result: (Const32 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst32)
@@ -29206,15 +28762,13 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -29226,15 +28780,14 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -29246,15 +28799,14 @@ func rewriteValuegeneric_OpSub32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
                _ = v_0.Args[1]
                x := v_0.Args[0]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -29270,15 +28822,13 @@ func rewriteValuegeneric_OpSub32_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd32 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -29296,13 +28846,12 @@ func rewriteValuegeneric_OpSub32_10(v *Value) bool {
                if v_1.Op != OpSub32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -29389,7 +28938,7 @@ func rewriteValuegeneric_OpSub32_10(v *Value) bool {
                if v_1.Op != OpSub32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -29398,7 +28947,6 @@ func rewriteValuegeneric_OpSub32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c - d))
@@ -29483,18 +29031,16 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub64, t)
@@ -29513,18 +29059,16 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul64)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub64, t)
@@ -29543,9 +29087,8 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -29573,9 +29116,8 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
                if v_0.Op != OpMul64 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul64 {
                        break
@@ -29597,9 +29139,8 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
        // cond:
        // result: (Const64 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst64)
@@ -29610,15 +29151,13 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -29630,15 +29169,14 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -29650,15 +29188,14 @@ func rewriteValuegeneric_OpSub64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
                _ = v_0.Args[1]
                x := v_0.Args[0]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -29674,15 +29211,13 @@ func rewriteValuegeneric_OpSub64_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd64 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -29700,13 +29235,12 @@ func rewriteValuegeneric_OpSub64_10(v *Value) bool {
                if v_1.Op != OpSub64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -29793,7 +29327,7 @@ func rewriteValuegeneric_OpSub64_10(v *Value) bool {
                if v_1.Op != OpSub64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -29802,7 +29336,6 @@ func rewriteValuegeneric_OpSub64_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - d
@@ -29887,18 +29420,16 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub8, t)
@@ -29917,18 +29448,16 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               z := v_1.Args[1]
                v.reset(OpMul8)
                v.AddArg(x)
                v0 := b.NewValue0(v.Pos, OpSub8, t)
@@ -29947,9 +29476,8 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
+               x := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -29977,9 +29505,8 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
                if v_0.Op != OpMul8 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
+               y := v_0.Args[0]
                v_1 := v.Args[1]
                if v_1.Op != OpMul8 {
                        break
@@ -30001,9 +29528,8 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
        // cond:
        // result: (Const8 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst8)
@@ -30014,15 +29540,13 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -30034,15 +29558,14 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -30054,15 +29577,14 @@ func rewriteValuegeneric_OpSub8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
                }
                _ = v_0.Args[1]
                x := v_0.Args[0]
-               y := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -30078,15 +29600,13 @@ func rewriteValuegeneric_OpSub8_10(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               y := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpAdd8 {
                        break
                }
-               _ = v_0.Args[1]
-               y := v_0.Args[0]
                x := v_0.Args[1]
-               if y != v.Args[1] {
+               if y != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -30104,13 +29624,12 @@ func rewriteValuegeneric_OpSub8_10(v *Value) bool {
                if v_1.Op != OpSub8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -30197,7 +29716,7 @@ func rewriteValuegeneric_OpSub8_10(v *Value) bool {
                if v_1.Op != OpSub8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -30206,7 +29725,6 @@ func rewriteValuegeneric_OpSub8_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpAdd8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c - d))
@@ -30266,13 +29784,12 @@ func rewriteValuegeneric_OpTrunc16to8_0(v *Value) bool {
                if v_0.Op != OpAnd16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFF == 0xFF) {
                        break
                }
@@ -30380,13 +29897,12 @@ func rewriteValuegeneric_OpTrunc32to16_0(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFFFF == 0xFFFF) {
                        break
                }
@@ -30468,13 +29984,12 @@ func rewriteValuegeneric_OpTrunc32to8_0(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFF == 0xFF) {
                        break
                }
@@ -30582,13 +30097,12 @@ func rewriteValuegeneric_OpTrunc64to16_0(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFFFF == 0xFFFF) {
                        break
                }
@@ -30722,13 +30236,12 @@ func rewriteValuegeneric_OpTrunc64to32_0(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFFFFFFFF == 0xFFFFFFFF) {
                        break
                }
@@ -30810,13 +30323,12 @@ func rewriteValuegeneric_OpTrunc64to8_0(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                y := v_0_0.AuxInt
-               x := v_0.Args[1]
                if !(y&0xFF == 0xFF) {
                        break
                }
@@ -30892,9 +30404,8 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
        // cond:
        // result: (Const16 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst16)
@@ -30905,7 +30416,7 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst16 {
                        break
@@ -30913,7 +30424,6 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -30947,11 +30457,10 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
                if v_1.Op != OpXor16 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpCopy)
                v.Type = y.Type
                v.AddArg(y)
@@ -30981,15 +30490,13 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor16 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -31001,15 +30508,14 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor16 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -31021,19 +30527,17 @@ func rewriteValuegeneric_OpXor16_0(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Xor16 i (Xor16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor16 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -31053,7 +30557,7 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
        // cond: (z.Op != OpConst16 && x.Op != OpConst16)
        // result: (Xor16 i (Xor16 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor16 {
                        break
@@ -31065,7 +30569,6 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -31087,13 +30590,12 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
                if v_1.Op != OpXor16 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst16 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst16 && x.Op != OpConst16) {
                        break
                }
@@ -31148,7 +30650,7 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
                if v_1.Op != OpXor16 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst16 {
                        break
@@ -31157,7 +30659,6 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpXor16)
                v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c ^ d))
@@ -31206,14 +30707,13 @@ func rewriteValuegeneric_OpXor16_10(v *Value) bool {
                if v_0.Op != OpXor16 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst16 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst16 {
                        break
@@ -31307,9 +30807,8 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
        // cond:
        // result: (Const32 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst32)
@@ -31320,7 +30819,7 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst32 {
                        break
@@ -31328,7 +30827,6 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -31362,11 +30860,10 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
                if v_1.Op != OpXor32 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpCopy)
                v.Type = y.Type
                v.AddArg(y)
@@ -31396,15 +30893,13 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor32 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -31416,15 +30911,14 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor32 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -31436,19 +30930,17 @@ func rewriteValuegeneric_OpXor32_0(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Xor32 i (Xor32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor32 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -31468,7 +30960,7 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
        // cond: (z.Op != OpConst32 && x.Op != OpConst32)
        // result: (Xor32 i (Xor32 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor32 {
                        break
@@ -31480,7 +30972,6 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -31502,13 +30993,12 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
                if v_1.Op != OpXor32 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst32 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst32 && x.Op != OpConst32) {
                        break
                }
@@ -31563,7 +31053,7 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
                if v_1.Op != OpXor32 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -31572,7 +31062,6 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpXor32)
                v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c ^ d))
@@ -31621,14 +31110,13 @@ func rewriteValuegeneric_OpXor32_10(v *Value) bool {
                if v_0.Op != OpXor32 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst32 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst32 {
                        break
@@ -31722,9 +31210,8 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
        // cond:
        // result: (Const64 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst64)
@@ -31735,7 +31222,7 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst64 {
                        break
@@ -31743,7 +31230,6 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -31777,11 +31263,10 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
                if v_1.Op != OpXor64 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpCopy)
                v.Type = y.Type
                v.AddArg(y)
@@ -31811,15 +31296,13 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor64 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -31831,15 +31314,14 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor64 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -31851,19 +31333,17 @@ func rewriteValuegeneric_OpXor64_0(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Xor64 i (Xor64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor64 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -31883,7 +31363,7 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
        // cond: (z.Op != OpConst64 && x.Op != OpConst64)
        // result: (Xor64 i (Xor64 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor64 {
                        break
@@ -31895,7 +31375,6 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -31917,13 +31396,12 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
                if v_1.Op != OpXor64 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst64 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst64 && x.Op != OpConst64) {
                        break
                }
@@ -31978,7 +31456,7 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
                if v_1.Op != OpXor64 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst64 {
                        break
@@ -31987,7 +31465,6 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpXor64)
                v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c ^ d
@@ -32036,14 +31513,13 @@ func rewriteValuegeneric_OpXor64_10(v *Value) bool {
                if v_0.Op != OpXor64 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst64 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst64 {
                        break
@@ -32137,9 +31613,8 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
        // cond:
        // result: (Const8 [0])
        for {
-               _ = v.Args[1]
-               x := v.Args[0]
-               if x != v.Args[1] {
+               x := v.Args[1]
+               if x != v.Args[0] {
                        break
                }
                v.reset(OpConst8)
@@ -32150,7 +31625,7 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
        // cond:
        // result: x
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpConst8 {
                        break
@@ -32158,7 +31633,6 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
                if v_0.AuxInt != 0 {
                        break
                }
-               x := v.Args[1]
                v.reset(OpCopy)
                v.Type = x.Type
                v.AddArg(x)
@@ -32192,11 +31666,10 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
                if v_1.Op != OpXor8 {
                        break
                }
-               = v_1.Args[1]
+               y := v_1.Args[1]
                if x != v_1.Args[0] {
                        break
                }
-               y := v_1.Args[1]
                v.reset(OpCopy)
                v.Type = y.Type
                v.AddArg(y)
@@ -32226,15 +31699,13 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor8 {
                        break
                }
-               _ = v_0.Args[1]
-               x := v_0.Args[0]
                y := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[0] {
                        break
                }
                v.reset(OpCopy)
@@ -32246,15 +31717,14 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
        // cond:
        // result: y
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor8 {
                        break
                }
                _ = v_0.Args[1]
                y := v_0.Args[0]
-               x := v_0.Args[1]
-               if x != v.Args[1] {
+               if x != v_0.Args[1] {
                        break
                }
                v.reset(OpCopy)
@@ -32266,19 +31736,17 @@ func rewriteValuegeneric_OpXor8_0(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Xor8 i (Xor8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor8 {
                        break
                }
-               = v_0.Args[1]
+               z := v_0.Args[1]
                i := v_0.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_0.Args[1]
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -32298,7 +31766,7 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
        // cond: (z.Op != OpConst8 && x.Op != OpConst8)
        // result: (Xor8 i (Xor8 <t> z x))
        for {
-               = v.Args[1]
+               x := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpXor8 {
                        break
@@ -32310,7 +31778,6 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
                        break
                }
                t := i.Type
-               x := v.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -32332,13 +31799,12 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
                if v_1.Op != OpXor8 {
                        break
                }
-               = v_1.Args[1]
+               z := v_1.Args[1]
                i := v_1.Args[0]
                if i.Op != OpConst8 {
                        break
                }
                t := i.Type
-               z := v_1.Args[1]
                if !(z.Op != OpConst8 && x.Op != OpConst8) {
                        break
                }
@@ -32393,7 +31859,7 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
                if v_1.Op != OpXor8 {
                        break
                }
-               = v_1.Args[1]
+               x := v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst8 {
                        break
@@ -32402,7 +31868,6 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
                        break
                }
                d := v_1_0.AuxInt
-               x := v_1.Args[1]
                v.reset(OpXor8)
                v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c ^ d))
@@ -32451,14 +31916,13 @@ func rewriteValuegeneric_OpXor8_10(v *Value) bool {
                if v_0.Op != OpXor8 {
                        break
                }
-               = v_0.Args[1]
+               x := v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpConst8 {
                        break
                }
                t := v_0_0.Type
                d := v_0_0.AuxInt
-               x := v_0.Args[1]
                v_1 := v.Args[1]
                if v_1.Op != OpConst8 {
                        break
@@ -32515,7 +31979,7 @@ func rewriteValuegeneric_OpZero_0(v *Value) bool {
        // cond: mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize() + config.RegSize
        // result: mem
        for {
-               = v.Args[1]
+               mem := v.Args[1]
                v_0 := v.Args[0]
                if v_0.Op != OpLoad {
                        break
@@ -32530,8 +31994,7 @@ func rewriteValuegeneric_OpZero_0(v *Value) bool {
                if v_0_0_0.Op != OpSP {
                        break
                }
-               mem := v_0.Args[1]
-               if mem != v.Args[1] {
+               if mem != v_0.Args[1] {
                        break
                }
                if !(mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize) {
@@ -32555,14 +32018,13 @@ func rewriteValuegeneric_OpZero_0(v *Value) bool {
                        break
                }
                t2 := store.Aux
-               = store.Args[2]
+               mem := store.Args[2]
                store_0 := store.Args[0]
                if store_0.Op != OpOffPtr {
                        break
                }
                o2 := store_0.AuxInt
                p2 := store_0.Args[0]
-               mem := store.Args[2]
                if !(isSamePtr(p1, p2) && store.Uses == 1 && n >= o2+sizeof(t2) && clobber(store)) {
                        break
                }
@@ -32591,9 +32053,8 @@ func rewriteValuegeneric_OpZero_0(v *Value) bool {
                if move.Aux != t {
                        break
                }
-               _ = move.Args[2]
-               dst2 := move.Args[0]
                mem := move.Args[2]
+               dst2 := move.Args[0]
                if !(move.Uses == 1 && isSamePtr(dst1, dst2) && clobber(move)) {
                        break
                }
@@ -32627,9 +32088,8 @@ func rewriteValuegeneric_OpZero_0(v *Value) bool {
                if move.Aux != t {
                        break
                }
-               _ = move.Args[2]
-               dst2 := move.Args[0]
                mem := move.Args[2]
+               dst2 := move.Args[0]
                if !(move.Uses == 1 && vardef.Uses == 1 && isSamePtr(dst1, dst2) && clobber(move) && clobber(vardef)) {
                        break
                }