]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: make pre-elimination of rulegen bounds checks more precise
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 2 Mar 2020 00:44:06 +0000 (16:44 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 2 Mar 2020 17:40:11 +0000 (17:40 +0000)
In cases in which we had a named value whose args were all _,
like this rule from ARM.rules:

(MOVBUreg x:(MOVBUload _ _)) -> (MOVWreg x)

We previously inserted

_ = x.Args[1]

even though it is unnecessary.
This change eliminates this pointless bounds check.
And in other cases, we now check bounds just as far as strictly necessary.

No significant movement on any compiler metrics.
Just nicer (and less) code.

Passes toolstash-check -all.

Change-Id: I075dfe9f926cc561cdc705e9ddaab563164bed3a
Reviewed-on: https://go-review.googlesource.com/c/go/+/221781
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@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 759336fb2b459075d83ce6387bc5e8990f8e3350..8e88d0b6a3f802439d8e8403f8def713ed190a01 100644 (file)
@@ -1001,16 +1001,21 @@ func genMatch0(rr *RuleRewrite, arch arch, match, v string, cnt map[string]int,
                }
        }
 
-       // Access last argument first to minimize bounds checks.
-       if n := len(args); n > 1 && !pregenTop {
-               a := args[n-1]
-               if a != "_" && !rr.declared(a) && token.IsIdentifier(a) && !(commutative && len(args) == 2) {
-                       rr.add(declf(a, "%s.Args[%d]", v, n-1))
-
-                       // delete the last argument so it is not reprocessed
-                       args = args[:n-1]
-               } else {
-                       rr.add(stmtf("_ = %s.Args[%d]", v, n-1))
+       if !pregenTop {
+               // Access last argument first to minimize bounds checks.
+               for n := len(args) - 1; n > 0; n-- {
+                       a := args[n]
+                       if a == "_" {
+                               continue
+                       }
+                       if !rr.declared(a) && token.IsIdentifier(a) && !(commutative && len(args) == 2) {
+                               rr.add(declf(a, "%s.Args[%d]", v, n))
+                               // delete the last argument so it is not reprocessed
+                               args = args[:n]
+                       } else {
+                               rr.add(stmtf("_ = %s.Args[%d]", v, n))
+                       }
+                       break
                }
        }
        if commutative && !pregenTop {
index b83c65da8699a8a78db20e90b2ae3700fd6232f9..8b2da94c135f60e8d215b8660ded985412aed55b 100644 (file)
@@ -4087,9 +4087,8 @@ func rewriteValue386_Op386MOVBLSXload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -4203,9 +4202,8 @@ func rewriteValue386_Op386MOVBload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -5109,9 +5107,8 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -7523,9 +7520,8 @@ func rewriteValue386_Op386MOVWLSXload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -7663,9 +7659,8 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
index a0d422b372ec1dcc9a2b6a1a706eb81bf39d1d02..c37bae2c22cf6cd1bf72a88d006038fab3788a30 100644 (file)
@@ -1858,11 +1858,10 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSSstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ADDL)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
                v0.AddArg(y)
@@ -2479,11 +2478,10 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ADDQ)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
                v0.AddArg(y)
@@ -2634,11 +2632,10 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool {
                if v_2.Op != OpAMD64MOVQstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ADDSD)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
                v0.AddArg(y)
@@ -2738,11 +2735,10 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool {
                if v_2.Op != OpAMD64MOVLstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ADDSS)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
                v0.AddArg(y)
@@ -3063,11 +3059,10 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSSstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ANDL)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
                v0.AddArg(y)
@@ -3450,11 +3445,10 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ANDQ)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
                v0.AddArg(y)
@@ -9766,9 +9760,8 @@ func rewriteValueAMD64_OpAMD64MOVBQSXload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -10019,9 +10012,8 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -12046,9 +12038,8 @@ func rewriteValueAMD64_OpAMD64MOVLQSXload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -12353,9 +12344,8 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -12554,11 +12544,10 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
                if v_1.Op != OpAMD64MOVSSstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpAMD64MOVLf2i)
                v.AddArg(val)
                return true
@@ -14721,7 +14710,6 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool {
                }
                srcOff := v_1.AuxInt
                srcSym := v_1.Aux
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpSB {
                        break
@@ -14863,9 +14851,8 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -15040,11 +15027,10 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
                if v_1.Op != OpAMD64MOVSDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpAMD64MOVQf2i)
                v.AddArg(val)
                return true
@@ -16627,11 +16613,10 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
                if v_1.Op != OpAMD64MOVQstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpAMD64MOVQi2f)
                v.AddArg(val)
                return true
@@ -17237,11 +17222,10 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
                if v_1.Op != OpAMD64MOVLstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpAMD64MOVLi2f)
                v.AddArg(val)
                return true
@@ -17847,9 +17831,8 @@ func rewriteValueAMD64_OpAMD64MOVWQSXload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -18066,9 +18049,8 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -20680,11 +20662,10 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool {
                if v_2.Op != OpAMD64MOVQstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64MULSD)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
                v0.AddArg(y)
@@ -20784,11 +20765,10 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool {
                if v_2.Op != OpAMD64MOVLstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64MULSS)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
                v0.AddArg(y)
@@ -22560,11 +22540,10 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSSstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ORL)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
                v0.AddArg(y)
@@ -24304,11 +24283,10 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64ORQ)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
                v0.AddArg(y)
@@ -30779,11 +30757,10 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSSstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64SUBL)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
                v0.AddArg(y)
@@ -31059,11 +31036,10 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64SUBQ)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
                v0.AddArg(y)
@@ -31211,11 +31187,10 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool {
                if v_2.Op != OpAMD64MOVQstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64SUBSD)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
                v0.AddArg(y)
@@ -31312,11 +31287,10 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool {
                if v_2.Op != OpAMD64MOVLstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64SUBSS)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
                v0.AddArg(y)
@@ -32238,11 +32212,10 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSSstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64XORL)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
                v0.AddArg(y)
@@ -32603,11 +32576,10 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool {
                if v_2.Op != OpAMD64MOVSDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
+               y := v_2.Args[1]
                if ptr != v_2.Args[0] {
                        break
                }
-               y := v_2.Args[1]
                v.reset(OpAMD64XORQ)
                v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
                v0.AddArg(y)
index 52ab5224346879b1f42d8fbc6d035cab615a1b9e..91ef5fe14f9d3aadc5b54538ee5b81eeba547b78 100644 (file)
@@ -5120,9 +5120,8 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -5179,13 +5178,9 @@ func rewriteValueARM_OpARMMOVBUloadidx(v *Value) bool {
                if v_2.Op != OpARMMOVBstoreidx {
                        break
                }
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(isSamePtr(ptr, ptr2)) {
                        break
                }
                v.reset(OpARMMOVBUreg)
@@ -5231,7 +5226,6 @@ func rewriteValueARM_OpARMMOVBUreg(v *Value) bool {
                if x.Op != OpARMMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -5344,9 +5338,8 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -5390,13 +5383,9 @@ func rewriteValueARM_OpARMMOVBloadidx(v *Value) bool {
                if v_2.Op != OpARMMOVBstoreidx {
                        break
                }
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(isSamePtr(ptr, ptr2)) {
                        break
                }
                v.reset(OpARMMOVBreg)
@@ -5442,7 +5431,6 @@ func rewriteValueARM_OpARMMOVBreg(v *Value) bool {
                if x.Op != OpARMMOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -5751,9 +5739,8 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -5898,9 +5885,8 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -6047,9 +6033,8 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -6106,13 +6091,9 @@ func rewriteValueARM_OpARMMOVHUloadidx(v *Value) bool {
                if v_2.Op != OpARMMOVHstoreidx {
                        break
                }
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(isSamePtr(ptr, ptr2)) {
                        break
                }
                v.reset(OpARMMOVHUreg)
@@ -6158,7 +6139,6 @@ func rewriteValueARM_OpARMMOVHUreg(v *Value) bool {
                if x.Op != OpARMMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -6170,7 +6150,6 @@ func rewriteValueARM_OpARMMOVHUreg(v *Value) bool {
                if x.Op != OpARMMOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -6294,9 +6273,8 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -6340,13 +6318,9 @@ func rewriteValueARM_OpARMMOVHloadidx(v *Value) bool {
                if v_2.Op != OpARMMOVHstoreidx {
                        break
                }
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(isSamePtr(ptr, ptr2)) {
                        break
                }
                v.reset(OpARMMOVHreg)
@@ -6392,7 +6366,6 @@ func rewriteValueARM_OpARMMOVHreg(v *Value) bool {
                if x.Op != OpARMMOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -6404,7 +6377,6 @@ func rewriteValueARM_OpARMMOVHreg(v *Value) bool {
                if x.Op != OpARMMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -6416,7 +6388,6 @@ func rewriteValueARM_OpARMMOVHreg(v *Value) bool {
                if x.Op != OpARMMOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARMMOVWreg)
                v.AddArg(x)
                return true
@@ -6715,9 +6686,8 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -6842,13 +6812,9 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
                if v_2.Op != OpARMMOVWstoreidx {
                        break
                }
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(isSamePtr(ptr, ptr2)) {
                        break
                }
                v.copyOf(x)
@@ -6989,13 +6955,9 @@ func rewriteValueARM_OpARMMOVWloadshiftLL(v *Value) bool {
                        break
                }
                d := v_2.AuxInt
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(c == d && isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(c == d && isSamePtr(ptr, ptr2)) {
                        break
                }
                v.copyOf(x)
@@ -7033,13 +6995,9 @@ func rewriteValueARM_OpARMMOVWloadshiftRA(v *Value) bool {
                        break
                }
                d := v_2.AuxInt
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(c == d && isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(c == d && isSamePtr(ptr, ptr2)) {
                        break
                }
                v.copyOf(x)
@@ -7077,13 +7035,9 @@ func rewriteValueARM_OpARMMOVWloadshiftRL(v *Value) bool {
                        break
                }
                d := v_2.AuxInt
-               _ = v_2.Args[3]
-               ptr2 := v_2.Args[0]
-               if idx != v_2.Args[1] {
-                       break
-               }
                x := v_2.Args[2]
-               if !(c == d && isSamePtr(ptr, ptr2)) {
+               ptr2 := v_2.Args[0]
+               if idx != v_2.Args[1] || !(c == d && isSamePtr(ptr, ptr2)) {
                        break
                }
                v.copyOf(x)
index 99beedcea1e5db6fb513c799a19fcb69212bff1a..4d1ed50d9b3d4e03df731c2373576ea5849b2a3f 100644 (file)
@@ -4118,11 +4118,10 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool {
                if v_1.Op != OpARM64MOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpARM64FMOVDgpfp)
                v.AddArg(val)
                return true
@@ -4366,11 +4365,10 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool {
                if v_1.Op != OpARM64MOVWstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpARM64FMOVSgpfp)
                v.AddArg(val)
                return true
@@ -6838,7 +6836,6 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -6903,9 +6900,8 @@ func rewriteValueARM64_OpARM64MOVBUloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVBstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -6924,7 +6920,6 @@ func rewriteValueARM64_OpARM64MOVBUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -6936,7 +6931,6 @@ func rewriteValueARM64_OpARM64MOVBUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -7103,7 +7097,6 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -7155,9 +7148,8 @@ func rewriteValueARM64_OpARM64MOVBloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVBstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -7176,7 +7168,6 @@ func rewriteValueARM64_OpARM64MOVBreg(v *Value) bool {
                if x.Op != OpARM64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -7188,7 +7179,6 @@ func rewriteValueARM64_OpARM64MOVBreg(v *Value) bool {
                if x.Op != OpARM64MOVBloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -9277,11 +9267,10 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
                if v_1.Op != OpARM64FMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpARM64FMOVDfpgp)
                v.AddArg(val)
                return true
@@ -9379,7 +9368,6 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -9470,9 +9458,8 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVDstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -9509,9 +9496,8 @@ func rewriteValueARM64_OpARM64MOVDloadidx8(v *Value) bool {
                if v_2.Op != OpARM64MOVDstorezeroidx8 {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2)) {
                        break
                }
@@ -10145,7 +10131,6 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -10255,9 +10240,8 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVHstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -10294,9 +10278,8 @@ func rewriteValueARM64_OpARM64MOVHUloadidx2(v *Value) bool {
                if v_2.Op != OpARM64MOVHstorezeroidx2 {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2)) {
                        break
                }
@@ -10315,7 +10298,6 @@ func rewriteValueARM64_OpARM64MOVHUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10327,7 +10309,6 @@ func rewriteValueARM64_OpARM64MOVHUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10339,7 +10320,6 @@ func rewriteValueARM64_OpARM64MOVHUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10351,7 +10331,6 @@ func rewriteValueARM64_OpARM64MOVHUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10363,7 +10342,6 @@ func rewriteValueARM64_OpARM64MOVHUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx2 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10548,7 +10526,6 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -10645,9 +10622,8 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVHstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -10684,9 +10660,8 @@ func rewriteValueARM64_OpARM64MOVHloadidx2(v *Value) bool {
                if v_2.Op != OpARM64MOVHstorezeroidx2 {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2)) {
                        break
                }
@@ -10705,7 +10680,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10717,7 +10691,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10729,7 +10702,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10741,7 +10713,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVBloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10753,7 +10724,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVBUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10765,7 +10735,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVHloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -10777,7 +10746,6 @@ func rewriteValueARM64_OpARM64MOVHreg(v *Value) bool {
                if x.Op != OpARM64MOVHloadidx2 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12086,11 +12054,10 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
                if v_1.Op != OpARM64FMOVSstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               val := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               val := v_1.Args[1]
                v.reset(OpARM64FMOVSfpgp)
                v.AddArg(val)
                return true
@@ -12188,7 +12155,6 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -12279,9 +12245,8 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVWstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -12318,9 +12283,8 @@ func rewriteValueARM64_OpARM64MOVWUloadidx4(v *Value) bool {
                if v_2.Op != OpARM64MOVWstorezeroidx4 {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2)) {
                        break
                }
@@ -12339,7 +12303,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12351,7 +12314,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12363,7 +12325,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVWUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12375,7 +12336,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVBUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12387,7 +12347,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12399,7 +12358,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVWUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12411,7 +12369,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx2 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12423,7 +12380,6 @@ func rewriteValueARM64_OpARM64MOVWUreg(v *Value) bool {
                if x.Op != OpARM64MOVWUloadidx4 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12619,7 +12575,6 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[1]
                ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
@@ -12697,9 +12652,8 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool {
                if v_2.Op != OpARM64MOVWstorezeroidx {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2) || isSamePtr(ptr, idx2) && isSamePtr(idx, ptr2)) {
                        break
                }
@@ -12736,9 +12690,8 @@ func rewriteValueARM64_OpARM64MOVWloadidx4(v *Value) bool {
                if v_2.Op != OpARM64MOVWstorezeroidx4 {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                idx2 := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr, ptr2) && isSamePtr(idx, idx2)) {
                        break
                }
@@ -12757,7 +12710,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12769,7 +12721,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12781,7 +12732,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12793,7 +12743,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12805,7 +12754,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVWload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12817,7 +12765,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVBloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12829,7 +12776,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVBUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12841,7 +12787,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12853,7 +12798,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12865,7 +12809,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVWloadidx {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12877,7 +12820,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHloadidx2 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12889,7 +12831,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVHUloadidx2 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
@@ -12901,7 +12842,6 @@ func rewriteValueARM64_OpARM64MOVWreg(v *Value) bool {
                if x.Op != OpARM64MOVWloadidx4 {
                        break
                }
-               _ = x.Args[2]
                v.reset(OpARM64MOVDreg)
                v.AddArg(x)
                return true
index 83bb92fc35ec34ba26448f8aff9aa8424f0dd493..5815874db9413bd585474d66aa69ef132090cef7 100644 (file)
@@ -2416,9 +2416,8 @@ func rewriteValueMIPS_OpMIPSMOVBUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -2438,7 +2437,6 @@ func rewriteValueMIPS_OpMIPSMOVBUreg(v *Value) bool {
                if x.Op != OpMIPSMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -2563,9 +2561,8 @@ func rewriteValueMIPS_OpMIPSMOVBload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -2585,7 +2582,6 @@ func rewriteValueMIPS_OpMIPSMOVBreg(v *Value) bool {
                if x.Op != OpMIPSMOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -2916,9 +2912,8 @@ func rewriteValueMIPS_OpMIPSMOVDload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -3038,9 +3033,8 @@ func rewriteValueMIPS_OpMIPSMOVFload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -3160,9 +3154,8 @@ func rewriteValueMIPS_OpMIPSMOVHUload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -3182,7 +3175,6 @@ func rewriteValueMIPS_OpMIPSMOVHUreg(v *Value) bool {
                if x.Op != OpMIPSMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -3194,7 +3186,6 @@ func rewriteValueMIPS_OpMIPSMOVHUreg(v *Value) bool {
                if x.Op != OpMIPSMOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -3330,9 +3321,8 @@ func rewriteValueMIPS_OpMIPSMOVHload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -3352,7 +3342,6 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value) bool {
                if x.Op != OpMIPSMOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -3364,7 +3353,6 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value) bool {
                if x.Op != OpMIPSMOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -3376,7 +3364,6 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value) bool {
                if x.Op != OpMIPSMOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPSMOVWreg)
                v.AddArg(x)
                return true
@@ -3695,9 +3682,8 @@ func rewriteValueMIPS_OpMIPSMOVWload(v *Value) bool {
                }
                off2 := v_1.AuxInt
                sym2 := v_1.Aux
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
                        break
                }
@@ -6445,7 +6431,6 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -6464,7 +6449,6 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -6638,7 +6622,6 @@ func rewriteValueMIPS_OpSelect1(v *Value) bool {
                if v_0.Op != OpMIPSMULTU {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -7269,7 +7252,6 @@ func rewriteBlockMIPS(b *Block) bool {
                        if cmp.Op != OpMIPSSGT {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPSNE, cmp)
                        return true
                }
@@ -7284,7 +7266,6 @@ func rewriteBlockMIPS(b *Block) bool {
                        if cmp.Op != OpMIPSSGTU {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPSNE, cmp)
                        return true
                }
@@ -7545,7 +7526,6 @@ func rewriteBlockMIPS(b *Block) bool {
                        if cmp.Op != OpMIPSSGT {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPSEQ, cmp)
                        return true
                }
@@ -7560,7 +7540,6 @@ func rewriteBlockMIPS(b *Block) bool {
                        if cmp.Op != OpMIPSSGTU {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPSEQ, cmp)
                        return true
                }
index c8d72363b3b5cee8dba7ef74853b6b9142cdd532..5136b1ca624eaec5ac3cf75ee9f8b8baff77d929 100644 (file)
@@ -2606,7 +2606,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -2692,7 +2691,6 @@ func rewriteValueMIPS64_OpMIPS64MOVBreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3193,7 +3191,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3205,7 +3202,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3302,7 +3298,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3314,7 +3309,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3326,7 +3320,6 @@ func rewriteValueMIPS64_OpMIPS64MOVHreg(v *Value) bool {
                if x.Op != OpMIPS64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3807,7 +3800,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3819,7 +3811,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3831,7 +3822,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWUreg(v *Value) bool {
                if x.Op != OpMIPS64MOVWUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3939,7 +3929,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3951,7 +3940,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWreg(v *Value) bool {
                if x.Op != OpMIPS64MOVBUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3963,7 +3951,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWreg(v *Value) bool {
                if x.Op != OpMIPS64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3975,7 +3962,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWreg(v *Value) bool {
                if x.Op != OpMIPS64MOVHUload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -3987,7 +3973,6 @@ func rewriteValueMIPS64_OpMIPS64MOVWreg(v *Value) bool {
                if x.Op != OpMIPS64MOVWload {
                        break
                }
-               _ = x.Args[1]
                v.reset(OpMIPS64MOVVreg)
                v.AddArg(x)
                return true
@@ -7765,7 +7750,6 @@ func rewriteBlockMIPS64(b *Block) bool {
                        if cmp.Op != OpMIPS64SGT {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPS64NE, cmp)
                        return true
                }
@@ -7780,7 +7764,6 @@ func rewriteBlockMIPS64(b *Block) bool {
                        if cmp.Op != OpMIPS64SGTU {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPS64NE, cmp)
                        return true
                }
@@ -8023,7 +8006,6 @@ func rewriteBlockMIPS64(b *Block) bool {
                        if cmp.Op != OpMIPS64SGT {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPS64EQ, cmp)
                        return true
                }
@@ -8038,7 +8020,6 @@ func rewriteBlockMIPS64(b *Block) bool {
                        if cmp.Op != OpMIPS64SGTU {
                                break
                        }
-                       _ = cmp.Args[1]
                        b.resetWithControl(BlockMIPS64EQ, cmp)
                        return true
                }
index 1bdd8ee23a0f5eb620a15085d06833b263a55f31..82fa1354f8cb825fa62d0fa4ff51a8cd1355099d 100644 (file)
@@ -4125,7 +4125,6 @@ func rewriteValuePPC64_OpPPC64AND(v *Value) bool {
                        if x.Op != OpPPC64MOVBZload {
                                continue
                        }
-                       _ = x.Args[1]
                        v.reset(OpPPC64ANDconst)
                        v.AuxInt = c & 0xFF
                        v.AddArg(x)
@@ -5003,11 +5002,10 @@ func rewriteValuePPC64_OpPPC64FMOVDload(v *Value) bool {
                if v_1.Op != OpPPC64MOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               x := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               x := v_1.Args[1]
                v.reset(OpPPC64MTVSRD)
                v.AddArg(x)
                return true
@@ -6359,7 +6357,6 @@ func rewriteValuePPC64_OpPPC64MOVBZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -6370,7 +6367,6 @@ func rewriteValuePPC64_OpPPC64MOVBZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -7651,11 +7647,10 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool {
                if v_1.Op != OpPPC64FMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
+               x := v_1.Args[1]
                if ptr != v_1.Args[0] {
                        break
                }
-               x := v_1.Args[1]
                v.reset(OpPPC64MFVSRD)
                v.AddArg(x)
                return true
@@ -8284,7 +8279,6 @@ func rewriteValuePPC64_OpPPC64MOVHZreg(v *Value) bool {
                if y.Op != OpPPC64MOVHBRload {
                        break
                }
-               _ = y.Args[1]
                v.copyOf(y)
                return true
        }
@@ -8307,7 +8301,6 @@ func rewriteValuePPC64_OpPPC64MOVHZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -8318,7 +8311,6 @@ func rewriteValuePPC64_OpPPC64MOVHZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -8329,7 +8321,6 @@ func rewriteValuePPC64_OpPPC64MOVHZreg(v *Value) bool {
                if x.Op != OpPPC64MOVHZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -8340,7 +8331,6 @@ func rewriteValuePPC64_OpPPC64MOVHZreg(v *Value) bool {
                if x.Op != OpPPC64MOVHZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -8666,7 +8656,6 @@ func rewriteValuePPC64_OpPPC64MOVHreg(v *Value) bool {
                if x.Op != OpPPC64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -8677,7 +8666,6 @@ func rewriteValuePPC64_OpPPC64MOVHreg(v *Value) bool {
                if x.Op != OpPPC64MOVHloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -9268,7 +9256,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if y.Op != OpPPC64AND {
                        break
                }
-               _ = y.Args[1]
                y_0 := y.Args[0]
                y_1 := y.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, y_0, y_1 = _i0+1, y_1, y_0 {
@@ -9412,7 +9399,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if y.Op != OpPPC64MOVHBRload {
                        break
                }
-               _ = y.Args[1]
                v.copyOf(y)
                return true
        }
@@ -9423,7 +9409,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if y.Op != OpPPC64MOVWBRload {
                        break
                }
-               _ = y.Args[1]
                v.copyOf(y)
                return true
        }
@@ -9446,7 +9431,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -9457,7 +9441,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVBZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -9468,7 +9451,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVHZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -9479,7 +9461,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVHZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -9490,7 +9471,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVWZload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -9501,7 +9481,6 @@ func rewriteValuePPC64_OpPPC64MOVWZreg(v *Value) bool {
                if x.Op != OpPPC64MOVWZloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -9673,7 +9652,6 @@ func rewriteValuePPC64_OpPPC64MOVWreg(v *Value) bool {
                if y.Op != OpPPC64AND {
                        break
                }
-               _ = y.Args[1]
                y_0 := y.Args[0]
                y_1 := y.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, y_0, y_1 = _i0+1, y_1, y_0 {
@@ -9846,7 +9824,6 @@ func rewriteValuePPC64_OpPPC64MOVWreg(v *Value) bool {
                if x.Op != OpPPC64MOVHload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -9857,7 +9834,6 @@ func rewriteValuePPC64_OpPPC64MOVWreg(v *Value) bool {
                if x.Op != OpPPC64MOVHloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
@@ -9868,7 +9844,6 @@ func rewriteValuePPC64_OpPPC64MOVWreg(v *Value) bool {
                if x.Op != OpPPC64MOVWload {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -9879,7 +9854,6 @@ func rewriteValuePPC64_OpPPC64MOVWreg(v *Value) bool {
                if x.Op != OpPPC64MOVWloadidx {
                        break
                }
-               _ = x.Args[2]
                v.copyOf(x)
                return true
        }
index 2ac8a6f05ed4a355c4b4b26d9c26e887170af561..7c750574bcba8da7aa5c2182eedffbabb95f63df 100644 (file)
@@ -5652,9 +5652,8 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -6154,9 +6153,8 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -7245,9 +7243,8 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
                if v_1.Op != OpS390XMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -7265,9 +7262,8 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
                if v_1.Op != OpS390XFMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -7588,9 +7584,8 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool {
                if v_1.Op != OpS390XFMOVSstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -8304,9 +8299,8 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool {
                if v_1.Op != OpS390XMOVBstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -8570,11 +8564,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZload || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -8585,11 +8575,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -8678,7 +8664,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool {
                if x.Op != OpS390XLOCGR {
                        break
                }
-               _ = x.Args[2]
+               _ = x.Args[1]
                x_0 := x.Args[0]
                if x_0.Op != OpS390XMOVDconst {
                        break
@@ -8725,9 +8711,8 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool {
                if v_1.Op != OpS390XMOVBstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -8991,11 +8976,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -9006,11 +8987,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -10018,9 +9995,8 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
                if v_1.Op != OpS390XMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -10037,9 +10013,8 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
                if v_1.Op != OpS390XFMOVDstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -10790,9 +10765,8 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool {
                if v_1.Op != OpS390XMOVHstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -11041,11 +11015,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZload || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -11056,11 +11026,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -11071,11 +11037,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZload || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -11086,11 +11048,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -11201,9 +11159,8 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool {
                if v_1.Op != OpS390XMOVHstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -11452,11 +11409,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -11467,11 +11420,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -11482,11 +11431,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVHload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -11497,11 +11442,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVHloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -11512,11 +11453,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZload || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -11527,11 +11464,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -12340,9 +12273,8 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool {
                if v_1.Op != OpS390XMOVWstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -12574,11 +12506,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZload || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -12589,11 +12517,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -12604,11 +12528,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZload || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -12619,11 +12539,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -12634,11 +12550,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVWZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 4) {
+               if x.Op != OpS390XMOVWZload || !(!x.Type.IsSigned() || x.Type.Size() > 4) {
                        break
                }
                v.copyOf(x)
@@ -12649,11 +12561,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVWZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 4) {
+               if x.Op != OpS390XMOVWZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 4) {
                        break
                }
                v.copyOf(x)
@@ -12749,9 +12657,8 @@ func rewriteValueS390X_OpS390XMOVWload(v *Value) bool {
                if v_1.Op != OpS390XMOVWstore || v_1.AuxInt != off || v_1.Aux != sym {
                        break
                }
-               _ = v_1.Args[2]
-               ptr2 := v_1.Args[0]
                x := v_1.Args[1]
+               ptr2 := v_1.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -12983,11 +12890,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -12998,11 +12901,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVBloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -13013,11 +12912,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVHload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -13028,11 +12923,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVHloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -13043,11 +12934,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVWload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVWload || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -13058,11 +12945,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVWloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(x.Type.IsSigned() || x.Type.Size() == 8) {
+               if x.Op != OpS390XMOVWloadidx || !(x.Type.IsSigned() || x.Type.Size() == 8) {
                        break
                }
                v.copyOf(x)
@@ -13073,11 +12956,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZload || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -13088,11 +12967,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVBZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 1) {
+               if x.Op != OpS390XMOVBZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 1) {
                        break
                }
                v.copyOf(x)
@@ -13103,11 +12978,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZload {
-                       break
-               }
-               _ = x.Args[1]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZload || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -13118,11 +12989,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool {
        // result: x
        for {
                x := v_0
-               if x.Op != OpS390XMOVHZloadidx {
-                       break
-               }
-               _ = x.Args[2]
-               if !(!x.Type.IsSigned() || x.Type.Size() > 2) {
+               if x.Op != OpS390XMOVHZloadidx || !(!x.Type.IsSigned() || x.Type.Size() > 2) {
                        break
                }
                v.copyOf(x)
@@ -13873,9 +13740,8 @@ func rewriteValueS390X_OpS390XMULLDload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -16511,9 +16377,8 @@ func rewriteValueS390X_OpS390XORload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -17949,9 +17814,8 @@ func rewriteValueS390X_OpS390XSUBload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
@@ -18397,9 +18261,8 @@ func rewriteValueS390X_OpS390XXORload(v *Value) bool {
                if v_2.Op != OpS390XFMOVDstore || v_2.AuxInt != off || v_2.Aux != sym {
                        break
                }
-               _ = v_2.Args[2]
-               ptr2 := v_2.Args[0]
                y := v_2.Args[1]
+               ptr2 := v_2.Args[0]
                if !(isSamePtr(ptr1, ptr2)) {
                        break
                }
index 4b100b6c323d7afbf45f48df4dbad3f57deab1ad..2c7add49969ced2410efefb86bc0d32598aad3c1 100644 (file)
@@ -3096,7 +3096,6 @@ func rewriteValueWasm_OpSignExt16to32(v *Value) bool {
                if x.Op != OpWasmI64Load16S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -3138,7 +3137,6 @@ func rewriteValueWasm_OpSignExt16to64(v *Value) bool {
                if x.Op != OpWasmI64Load16S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -3180,7 +3178,6 @@ func rewriteValueWasm_OpSignExt32to64(v *Value) bool {
                if x.Op != OpWasmI64Load32S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -3222,7 +3219,6 @@ func rewriteValueWasm_OpSignExt8to16(v *Value) bool {
                if x.Op != OpWasmI64Load8S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -3264,7 +3260,6 @@ func rewriteValueWasm_OpSignExt8to32(v *Value) bool {
                if x.Op != OpWasmI64Load8S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -3306,7 +3301,6 @@ func rewriteValueWasm_OpSignExt8to64(v *Value) bool {
                if x.Op != OpWasmI64Load8S {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4591,7 +4585,6 @@ func rewriteValueWasm_OpZeroExt16to32(v *Value) bool {
                if x.Op != OpWasmI64Load16U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4617,7 +4610,6 @@ func rewriteValueWasm_OpZeroExt16to64(v *Value) bool {
                if x.Op != OpWasmI64Load16U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4643,7 +4635,6 @@ func rewriteValueWasm_OpZeroExt32to64(v *Value) bool {
                if x.Op != OpWasmI64Load32U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4669,7 +4660,6 @@ func rewriteValueWasm_OpZeroExt8to16(v *Value) bool {
                if x.Op != OpWasmI64Load8U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4695,7 +4685,6 @@ func rewriteValueWasm_OpZeroExt8to32(v *Value) bool {
                if x.Op != OpWasmI64Load8U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
@@ -4721,7 +4710,6 @@ func rewriteValueWasm_OpZeroExt8to64(v *Value) bool {
                if x.Op != OpWasmI64Load8U {
                        break
                }
-               _ = x.Args[1]
                v.copyOf(x)
                return true
        }
index 08ed1fd1299a81c4933b8f388821308e5e73f62f..1d7979f5c9598d3dd10414fd1497826b041a2550 100644 (file)
@@ -54,7 +54,6 @@ func rewriteValuedec_OpComplexReal(v *Value) bool {
                if v_0.Op != OpComplexMake {
                        break
                }
-               _ = v_0.Args[1]
                real := v_0.Args[0]
                v.copyOf(real)
                return true
@@ -83,7 +82,6 @@ func rewriteValuedec_OpITab(v *Value) bool {
                if v_0.Op != OpIMake {
                        break
                }
-               _ = v_0.Args[1]
                itab := v_0.Args[0]
                v.copyOf(itab)
                return true
@@ -230,7 +228,6 @@ func rewriteValuedec_OpSliceLen(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
                len := v_0.Args[1]
                v.copyOf(len)
                return true
@@ -245,7 +242,6 @@ func rewriteValuedec_OpSlicePtr(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
                ptr := v_0.Args[0]
                v.copyOf(ptr)
                return true
@@ -405,7 +401,6 @@ func rewriteValuedec_OpStringPtr(v *Value) bool {
                if v_0.Op != OpStringMake {
                        break
                }
-               _ = v_0.Args[1]
                ptr := v_0.Args[0]
                v.copyOf(ptr)
                return true
index 08a045ccac47f9bd979cd94faa8fdfb1229e1a7d..b7048f111cbd233873c98a587edbe37948fbff6e 100644 (file)
@@ -439,7 +439,6 @@ func rewriteValuedec64_OpInt64Hi(v *Value) bool {
                if v_0.Op != OpInt64Make {
                        break
                }
-               _ = v_0.Args[1]
                hi := v_0.Args[0]
                v.copyOf(hi)
                return true
@@ -704,7 +703,6 @@ func rewriteValuedec64_OpLsh16x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -770,7 +768,6 @@ func rewriteValuedec64_OpLsh32x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -916,7 +913,6 @@ func rewriteValuedec64_OpLsh64x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1022,7 +1018,6 @@ func rewriteValuedec64_OpLsh8x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1204,7 +1199,6 @@ func rewriteValuedec64_OpRsh16Ux64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1271,7 +1265,6 @@ func rewriteValuedec64_OpRsh16x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1339,7 +1332,6 @@ func rewriteValuedec64_OpRsh32Ux64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1406,7 +1398,6 @@ func rewriteValuedec64_OpRsh32x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1552,7 +1543,6 @@ func rewriteValuedec64_OpRsh64Ux64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1757,7 +1747,6 @@ func rewriteValuedec64_OpRsh64x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1881,7 +1870,6 @@ func rewriteValuedec64_OpRsh8Ux64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
@@ -1948,7 +1936,6 @@ func rewriteValuedec64_OpRsh8x64(v *Value) bool {
                if v_1.Op != OpInt64Make {
                        break
                }
-               _ = v_1.Args[1]
                v_1_0 := v_1.Args[0]
                if v_1_0.Op != OpConst32 {
                        break
index e0541f8710f32cdbf69b9060417f9c72a1f1888d..0a4879a8adb0c785bcbb995f0e6b53c0b75818ec 100644 (file)
@@ -6886,12 +6886,10 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0.Aux
-                       _ = v_0.Args[1]
                        if v_1.Op != OpLocalAddr {
                                continue
                        }
                        b := v_1.Aux
-                       _ = v_1.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a == b)
                        return true
@@ -6906,7 +6904,6 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0.Aux
-                       _ = v_0.Args[1]
                        if v_1.Op != OpOffPtr {
                                continue
                        }
@@ -6916,7 +6913,6 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        b := v_1_0.Aux
-                       _ = v_1_0.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a == b && o == 0)
                        return true
@@ -6936,7 +6932,6 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0_0.Aux
-                       _ = v_0_0.Args[1]
                        if v_1.Op != OpOffPtr {
                                continue
                        }
@@ -6946,7 +6941,6 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        b := v_1_0.Aux
-                       _ = v_1_0.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a == b && o1 == o2)
                        return true
@@ -7037,11 +7031,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
        // result: (ConstBool [0])
        for {
                for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
-                       if v_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0.Args[1]
-                       if v_1.Op != OpAddr {
+                       if v_0.Op != OpLocalAddr || v_1.Op != OpAddr {
                                continue
                        }
                        v.reset(OpConstBool)
@@ -7058,11 +7048,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        v_0_0 := v_0.Args[0]
-                       if v_0_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0_0.Args[1]
-                       if v_1.Op != OpAddr {
+                       if v_0_0.Op != OpLocalAddr || v_1.Op != OpAddr {
                                continue
                        }
                        v.reset(OpConstBool)
@@ -7075,11 +7061,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
        // result: (ConstBool [0])
        for {
                for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
-                       if v_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0.Args[1]
-                       if v_1.Op != OpOffPtr {
+                       if v_0.Op != OpLocalAddr || v_1.Op != OpOffPtr {
                                continue
                        }
                        v_1_0 := v_1.Args[0]
@@ -7100,11 +7082,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value) bool {
                                continue
                        }
                        v_0_0 := v_0.Args[0]
-                       if v_0_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0_0.Args[1]
-                       if v_1.Op != OpOffPtr {
+                       if v_0_0.Op != OpLocalAddr || v_1.Op != OpOffPtr {
                                continue
                        }
                        v_1_0 := v_1.Args[0]
@@ -7328,7 +7306,6 @@ func rewriteValuegeneric_OpInterCall(v *Value) bool {
                if v_0.Op != OpLoad {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpOffPtr {
                        break
@@ -7342,7 +7319,6 @@ func rewriteValuegeneric_OpInterCall(v *Value) bool {
                if v_0_0_0_0.Op != OpIMake {
                        break
                }
-               _ = v_0_0_0_0.Args[1]
                v_0_0_0_0_0 := v_0_0_0_0.Args[0]
                if v_0_0_0_0_0.Op != OpAddr {
                        break
@@ -7445,7 +7421,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0.Op != OpAnd8 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -7477,7 +7452,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd8 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7509,7 +7483,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd8 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7541,7 +7514,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd8 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7569,7 +7541,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0.Op != OpAnd16 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -7601,7 +7572,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd16 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7633,7 +7603,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd16 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7661,7 +7630,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -7693,7 +7661,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0_0.Op != OpAnd32 {
                        break
                }
-               _ = v_0_0.Args[1]
                v_0_0_0 := v_0_0.Args[0]
                v_0_0_1 := v_0_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0_0, v_0_0_1 = _i0+1, v_0_0_1, v_0_0_0 {
@@ -7721,7 +7688,6 @@ func rewriteValuegeneric_OpIsInBounds(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -8116,7 +8082,6 @@ func rewriteValuegeneric_OpIsNonNil(v *Value) bool {
                if v_0.Op != OpLocalAddr {
                        break
                }
-               _ = v_0.Args[1]
                v.reset(OpConstBool)
                v.AuxInt = 1
                return true
@@ -8144,7 +8109,6 @@ func rewriteValuegeneric_OpIsSliceInBounds(v *Value) bool {
                if v_0.Op != OpAnd32 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -8172,7 +8136,6 @@ func rewriteValuegeneric_OpIsSliceInBounds(v *Value) bool {
                if v_0.Op != OpAnd64 {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                v_0_1 := v_0.Args[1]
                for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
@@ -8850,9 +8813,8 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t2 := v_1.Aux
-               _ = v_1.Args[2]
-               p2 := v_1.Args[0]
                x := v_1.Args[1]
+               p2 := v_1.Args[0]
                if !(isSamePtr(p1, p2) && t1.Compare(x.Type) == types.CMPeq && t1.Size() == sizeof(t2)) {
                        break
                }
@@ -8876,9 +8838,8 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t3 := v_1_2.Aux
-               _ = v_1_2.Args[2]
-               p3 := v_1_2.Args[0]
                x := v_1_2.Args[1]
+               p3 := v_1_2.Args[0]
                if !(isSamePtr(p1, p3) && t1.Compare(x.Type) == types.CMPeq && t1.Size() == sizeof(t2) && disjoint(p3, sizeof(t3), p2, sizeof(t2))) {
                        break
                }
@@ -8909,9 +8870,8 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t4 := v_1_2_2.Aux
-               _ = v_1_2_2.Args[2]
-               p4 := v_1_2_2.Args[0]
                x := v_1_2_2.Args[1]
+               p4 := v_1_2_2.Args[0]
                if !(isSamePtr(p1, p4) && t1.Compare(x.Type) == types.CMPeq && t1.Size() == sizeof(t2) && disjoint(p4, sizeof(t4), p2, sizeof(t2)) && disjoint(p4, sizeof(t4), p3, sizeof(t3))) {
                        break
                }
@@ -8949,9 +8909,8 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t5 := v_1_2_2_2.Aux
-               _ = v_1_2_2_2.Args[2]
-               p5 := v_1_2_2_2.Args[0]
                x := v_1_2_2_2.Args[1]
+               p5 := v_1_2_2_2.Args[0]
                if !(isSamePtr(p1, p5) && t1.Compare(x.Type) == types.CMPeq && t1.Size() == sizeof(t2) && disjoint(p5, sizeof(t5), p2, sizeof(t2)) && disjoint(p5, sizeof(t5), p3, sizeof(t3)) && disjoint(p5, sizeof(t5), p4, sizeof(t4))) {
                        break
                }
@@ -8968,7 +8927,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t2 := v_1.Aux
-               _ = v_1.Args[2]
+               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                v_1_1 := v_1.Args[1]
                if v_1_1.Op != OpConst64 {
@@ -8992,7 +8951,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t2 := v_1.Aux
-               _ = v_1.Args[2]
+               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                v_1_1 := v_1.Args[1]
                if v_1_1.Op != OpConst32 {
@@ -9016,7 +8975,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t2 := v_1.Aux
-               _ = v_1.Args[2]
+               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                v_1_1 := v_1.Args[1]
                if v_1_1.Op != OpConst64F {
@@ -9040,7 +8999,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                t2 := v_1.Aux
-               _ = v_1.Args[2]
+               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                v_1_1 := v_1.Args[1]
                if v_1_1.Op != OpConst32F {
@@ -9076,7 +9035,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := mem.AuxInt
-               _ = mem.Args[1]
                p3 := mem.Args[0]
                if !(o1 >= 0 && o1+t1.Size() <= n && isSamePtr(p1, p3) && fe.CanSSA(t1) && disjoint(op, t1.Size(), p2, sizeof(t2))) {
                        break
@@ -9119,7 +9077,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := mem.AuxInt
-               _ = mem.Args[1]
                p4 := mem.Args[0]
                if !(o1 >= 0 && o1+t1.Size() <= n && isSamePtr(p1, p4) && fe.CanSSA(t1) && disjoint(op, t1.Size(), p2, sizeof(t2)) && disjoint(op, t1.Size(), p3, sizeof(t3))) {
                        break
@@ -9169,7 +9126,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := mem.AuxInt
-               _ = mem.Args[1]
                p5 := mem.Args[0]
                if !(o1 >= 0 && o1+t1.Size() <= n && isSamePtr(p1, p5) && fe.CanSSA(t1) && disjoint(op, t1.Size(), p2, sizeof(t2)) && disjoint(op, t1.Size(), p3, sizeof(t3)) && disjoint(op, t1.Size(), p4, sizeof(t4))) {
                        break
@@ -9226,7 +9182,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := mem.AuxInt
-               _ = mem.Args[1]
                p6 := mem.Args[0]
                if !(o1 >= 0 && o1+t1.Size() <= n && isSamePtr(p1, p6) && fe.CanSSA(t1) && disjoint(op, t1.Size(), p2, sizeof(t2)) && disjoint(op, t1.Size(), p3, sizeof(t3)) && disjoint(op, t1.Size(), p4, sizeof(t4)) && disjoint(op, t1.Size(), p5, sizeof(t5))) {
                        break
@@ -9254,7 +9209,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(t1.IsBoolean() && isSamePtr(p1, p2) && n >= o+1) {
                        break
@@ -9277,7 +9231,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is8BitInt(t1) && isSamePtr(p1, p2) && n >= o+1) {
                        break
@@ -9300,7 +9253,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is16BitInt(t1) && isSamePtr(p1, p2) && n >= o+2) {
                        break
@@ -9323,7 +9275,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is32BitInt(t1) && isSamePtr(p1, p2) && n >= o+4) {
                        break
@@ -9346,7 +9297,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is64BitInt(t1) && isSamePtr(p1, p2) && n >= o+8) {
                        break
@@ -9369,7 +9319,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is32BitFloat(t1) && isSamePtr(p1, p2) && n >= o+4) {
                        break
@@ -9392,7 +9341,6 @@ func rewriteValuegeneric_OpLoad(v *Value) bool {
                        break
                }
                n := v_1.AuxInt
-               _ = v_1.Args[1]
                p2 := v_1.Args[0]
                if !(is64BitFloat(t1) && isSamePtr(p1, p2) && n >= o+8) {
                        break
@@ -11082,7 +11030,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                if mem.Op != OpZero || mem.AuxInt != n || mem.Aux != t {
                        break
                }
-               _ = mem.Args[1]
                dst2 := mem.Args[0]
                if !(isSamePtr(src, dst2)) {
                        break
@@ -11109,7 +11056,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                if mem_0.Op != OpZero || mem_0.AuxInt != n || mem_0.Aux != t {
                        break
                }
-               _ = mem_0.Args[1]
                dst0 := mem_0.Args[0]
                if !(isSamePtr(src, dst0)) {
                        break
@@ -11284,7 +11230,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t3 := mem_2.Aux
-               _ = mem_2.Args[2]
+               d2 := mem_2.Args[1]
                op3 := mem_2.Args[0]
                if op3.Op != OpOffPtr {
                        break
@@ -11294,7 +11240,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p3 := op3.Args[0]
-               d2 := mem_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && o2 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)) {
                        break
                }
@@ -11353,7 +11298,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t4 := mem_2_2.Aux
-               _ = mem_2_2.Args[2]
+               d3 := mem_2_2.Args[1]
                op4 := mem_2_2.Args[0]
                if op4.Op != OpOffPtr {
                        break
@@ -11363,7 +11308,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p4 := op4.Args[0]
-               d3 := mem_2_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && o3 == sizeof(t4) && o2-o3 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)+sizeof(t4)) {
                        break
                }
@@ -11442,7 +11386,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t5 := mem_2_2_2.Aux
-               _ = mem_2_2_2.Args[2]
+               d4 := mem_2_2_2.Args[1]
                op5 := mem_2_2_2.Args[0]
                if op5.Op != OpOffPtr {
                        break
@@ -11452,7 +11396,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p5 := op5.Args[0]
-               d4 := mem_2_2_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && registerizable(b, t5) && o4 == sizeof(t5) && o3-o4 == sizeof(t4) && o2-o3 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)+sizeof(t4)+sizeof(t5)) {
                        break
                }
@@ -11513,7 +11456,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t3 := mem_0_2.Aux
-               _ = mem_0_2.Args[2]
+               d2 := mem_0_2.Args[1]
                op3 := mem_0_2.Args[0]
                if op3.Op != OpOffPtr {
                        break
@@ -11523,7 +11466,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p3 := op3.Args[0]
-               d2 := mem_0_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && o2 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)) {
                        break
                }
@@ -11586,7 +11528,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t4 := mem_0_2_2.Aux
-               _ = mem_0_2_2.Args[2]
+               d3 := mem_0_2_2.Args[1]
                op4 := mem_0_2_2.Args[0]
                if op4.Op != OpOffPtr {
                        break
@@ -11596,7 +11538,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p4 := op4.Args[0]
-               d3 := mem_0_2_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && o3 == sizeof(t4) && o2-o3 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)+sizeof(t4)) {
                        break
                }
@@ -11679,7 +11620,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t5 := mem_0_2_2_2.Aux
-               _ = mem_0_2_2_2.Args[2]
+               d4 := mem_0_2_2_2.Args[1]
                op5 := mem_0_2_2_2.Args[0]
                if op5.Op != OpOffPtr {
                        break
@@ -11689,7 +11630,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                p5 := op5.Args[0]
-               d4 := mem_0_2_2_2.Args[1]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && registerizable(b, t5) && o4 == sizeof(t5) && o3-o4 == sizeof(t4) && o2-o3 == sizeof(t3) && n == sizeof(t2)+sizeof(t3)+sizeof(t4)+sizeof(t5)) {
                        break
                }
@@ -11746,7 +11686,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t3 := mem_2.Aux
-               _ = mem_2.Args[1]
                p3 := mem_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && registerizable(b, t2) && n >= o2+sizeof(t2)) {
                        break
@@ -11804,7 +11743,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t4 := mem_2_2.Aux
-               _ = mem_2_2.Args[1]
                p4 := mem_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3)) {
                        break
@@ -11882,7 +11820,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t5 := mem_2_2_2.Aux
-               _ = mem_2_2_2.Args[1]
                p5 := mem_2_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3) && n >= o4+sizeof(t4)) {
                        break
@@ -11980,7 +11917,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t6 := mem_2_2_2_2.Aux
-               _ = mem_2_2_2_2.Args[1]
                p6 := mem_2_2_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && isSamePtr(p5, p6) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && alignof(t6) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && registerizable(b, t5) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3) && n >= o4+sizeof(t4) && n >= o5+sizeof(t5)) {
                        break
@@ -12046,7 +11982,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t3 := mem_0_2.Aux
-               _ = mem_0_2.Args[1]
                p3 := mem_0_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && registerizable(b, t2) && n >= o2+sizeof(t2)) {
                        break
@@ -12108,7 +12043,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t4 := mem_0_2_2.Aux
-               _ = mem_0_2_2.Args[1]
                p4 := mem_0_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3)) {
                        break
@@ -12190,7 +12124,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t5 := mem_0_2_2_2.Aux
-               _ = mem_0_2_2_2.Args[1]
                p5 := mem_0_2_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3) && n >= o4+sizeof(t4)) {
                        break
@@ -12292,7 +12225,6 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t6 := mem_0_2_2_2_2.Aux
-               _ = mem_0_2_2_2_2.Args[1]
                p6 := mem_0_2_2_2_2.Args[0]
                if !(isSamePtr(p1, p2) && isSamePtr(p2, p3) && isSamePtr(p3, p4) && isSamePtr(p4, p5) && isSamePtr(p5, p6) && alignof(t2) <= alignof(t1) && alignof(t3) <= alignof(t1) && alignof(t4) <= alignof(t1) && alignof(t5) <= alignof(t1) && alignof(t6) <= alignof(t1) && registerizable(b, t2) && registerizable(b, t3) && registerizable(b, t4) && registerizable(b, t5) && n >= o2+sizeof(t2) && n >= o3+sizeof(t3) && n >= o4+sizeof(t4) && n >= o5+sizeof(t5)) {
                        break
@@ -12340,9 +12272,8 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t2 := midmem.Aux
-               _ = midmem.Args[2]
-               tmp2 := midmem.Args[0]
                src := midmem.Args[1]
+               tmp2 := midmem.Args[0]
                if !(t1.(*types.Type).Compare(t2.(*types.Type)) == types.CMPeq && isSamePtr(tmp1, tmp2) && isStackPtr(src) && disjoint(src, s, tmp2, s) && (disjoint(src, s, dst, s) || isInlinableMemmove(dst, src, s, config))) {
                        break
                }
@@ -12369,9 +12300,8 @@ func rewriteValuegeneric_OpMove(v *Value) bool {
                        break
                }
                t2 := midmem_0.Aux
-               _ = midmem_0.Args[2]
-               tmp2 := midmem_0.Args[0]
                src := midmem_0.Args[1]
+               tmp2 := midmem_0.Args[0]
                if !(t1.(*types.Type).Compare(t2.(*types.Type)) == types.CMPeq && isSamePtr(tmp1, tmp2) && isStackPtr(src) && disjoint(src, s, tmp2, s) && (disjoint(src, s, dst, s) || isInlinableMemmove(dst, src, s, config))) {
                        break
                }
@@ -14378,12 +14308,10 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0.Aux
-                       _ = v_0.Args[1]
                        if v_1.Op != OpLocalAddr {
                                continue
                        }
                        b := v_1.Aux
-                       _ = v_1.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a != b)
                        return true
@@ -14398,7 +14326,6 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0.Aux
-                       _ = v_0.Args[1]
                        if v_1.Op != OpOffPtr {
                                continue
                        }
@@ -14408,7 +14335,6 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        b := v_1_0.Aux
-                       _ = v_1_0.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a != b || o != 0)
                        return true
@@ -14428,7 +14354,6 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        a := v_0_0.Aux
-                       _ = v_0_0.Args[1]
                        if v_1.Op != OpOffPtr {
                                continue
                        }
@@ -14438,7 +14363,6 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        b := v_1_0.Aux
-                       _ = v_1_0.Args[1]
                        v.reset(OpConstBool)
                        v.AuxInt = b2i(a != b || o1 != o2)
                        return true
@@ -14529,11 +14453,7 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
        // result: (ConstBool [1])
        for {
                for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
-                       if v_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0.Args[1]
-                       if v_1.Op != OpAddr {
+                       if v_0.Op != OpLocalAddr || v_1.Op != OpAddr {
                                continue
                        }
                        v.reset(OpConstBool)
@@ -14550,11 +14470,7 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        v_0_0 := v_0.Args[0]
-                       if v_0_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0_0.Args[1]
-                       if v_1.Op != OpAddr {
+                       if v_0_0.Op != OpLocalAddr || v_1.Op != OpAddr {
                                continue
                        }
                        v.reset(OpConstBool)
@@ -14567,11 +14483,7 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
        // result: (ConstBool [1])
        for {
                for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
-                       if v_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0.Args[1]
-                       if v_1.Op != OpOffPtr {
+                       if v_0.Op != OpLocalAddr || v_1.Op != OpOffPtr {
                                continue
                        }
                        v_1_0 := v_1.Args[0]
@@ -14592,11 +14504,7 @@ func rewriteValuegeneric_OpNeqPtr(v *Value) bool {
                                continue
                        }
                        v_0_0 := v_0.Args[0]
-                       if v_0_0.Op != OpLocalAddr {
-                               continue
-                       }
-                       _ = v_0_0.Args[1]
-                       if v_1.Op != OpOffPtr {
+                       if v_0_0.Op != OpLocalAddr || v_1.Op != OpOffPtr {
                                continue
                        }
                        v_1_0 := v_1.Args[0]
@@ -16290,7 +16198,6 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value) bool {
                if v_0.Op != OpRsh16x64 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[0]
                if v_1.Op != OpConst64 {
                        break
@@ -16725,7 +16632,6 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value) bool {
                if v_0.Op != OpRsh32x64 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[0]
                if v_1.Op != OpConst64 {
                        break
@@ -17196,7 +17102,6 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value) bool {
                if v_0.Op != OpRsh64x64 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[0]
                if v_1.Op != OpConst64 {
                        break
@@ -17703,7 +17608,6 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value) bool {
                if v_0.Op != OpRsh8x64 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[0]
                if v_1.Op != OpConst64 {
                        break
@@ -18298,7 +18202,7 @@ func rewriteValuegeneric_OpSliceLen(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
+               _ = v_0.Args[1]
                v_0_1 := v_0.Args[1]
                if v_0_1.Op != OpConst64 {
                        break
@@ -18316,7 +18220,7 @@ func rewriteValuegeneric_OpSliceLen(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
+               _ = v_0.Args[1]
                v_0_1 := v_0.Args[1]
                if v_0_1.Op != OpConst32 {
                        break
@@ -18334,7 +18238,7 @@ func rewriteValuegeneric_OpSliceLen(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
+               _ = v_0.Args[1]
                v_0_1 := v_0.Args[1]
                if v_0_1.Op != OpSliceLen {
                        break
@@ -18354,7 +18258,6 @@ func rewriteValuegeneric_OpSlicePtr(v *Value) bool {
                if v_0.Op != OpSliceMake {
                        break
                }
-               _ = v_0.Args[2]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpSlicePtr {
                        break
@@ -18664,7 +18567,6 @@ func rewriteValuegeneric_OpStore(v *Value) bool {
                        break
                }
                n := mem.AuxInt
-               _ = mem.Args[1]
                p2 := mem.Args[0]
                if !(isConstZero(x) && o >= 0 && sizeof(t)+o <= n && isSamePtr(p1, p2)) {
                        break
@@ -18696,7 +18598,6 @@ func rewriteValuegeneric_OpStore(v *Value) bool {
                        break
                }
                n := mem_2.AuxInt
-               _ = mem_2.Args[1]
                p3 := mem_2.Args[0]
                if !(isConstZero(x) && o1 >= 0 && sizeof(t1)+o1 <= n && isSamePtr(p1, p3) && disjoint(op, sizeof(t1), p2, sizeof(t2))) {
                        break
@@ -18735,7 +18636,6 @@ func rewriteValuegeneric_OpStore(v *Value) bool {
                        break
                }
                n := mem_2_2.AuxInt
-               _ = mem_2_2.Args[1]
                p4 := mem_2_2.Args[0]
                if !(isConstZero(x) && o1 >= 0 && sizeof(t1)+o1 <= n && isSamePtr(p1, p4) && disjoint(op, sizeof(t1), p2, sizeof(t2)) && disjoint(op, sizeof(t1), p3, sizeof(t3))) {
                        break
@@ -18781,7 +18681,6 @@ func rewriteValuegeneric_OpStore(v *Value) bool {
                        break
                }
                n := mem_2_2_2.AuxInt
-               _ = mem_2_2_2.Args[1]
                p5 := mem_2_2_2.Args[0]
                if !(isConstZero(x) && o1 >= 0 && sizeof(t1)+o1 <= n && isSamePtr(p1, p5) && disjoint(op, sizeof(t1), p2, sizeof(t2)) && disjoint(op, sizeof(t1), p3, sizeof(t3)) && disjoint(op, sizeof(t1), p4, sizeof(t4))) {
                        break
@@ -19416,7 +19315,6 @@ func rewriteValuegeneric_OpStringPtr(v *Value) bool {
                if v_0.Op != OpStringMake {
                        break
                }
-               _ = v_0.Args[1]
                v_0_0 := v_0.Args[0]
                if v_0_0.Op != OpAddr {
                        break
@@ -19452,7 +19350,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 0 || v_0.Op != OpStructMake2 {
                        break
                }
-               _ = v_0.Args[1]
                x := v_0.Args[0]
                v.copyOf(x)
                return true
@@ -19473,7 +19370,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 0 || v_0.Op != OpStructMake3 {
                        break
                }
-               _ = v_0.Args[2]
                x := v_0.Args[0]
                v.copyOf(x)
                return true
@@ -19484,7 +19380,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 1 || v_0.Op != OpStructMake3 {
                        break
                }
-               _ = v_0.Args[2]
                x := v_0.Args[1]
                v.copyOf(x)
                return true
@@ -19505,7 +19400,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 0 || v_0.Op != OpStructMake4 {
                        break
                }
-               _ = v_0.Args[3]
                x := v_0.Args[0]
                v.copyOf(x)
                return true
@@ -19516,7 +19410,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 1 || v_0.Op != OpStructMake4 {
                        break
                }
-               _ = v_0.Args[3]
                x := v_0.Args[1]
                v.copyOf(x)
                return true
@@ -19527,7 +19420,6 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool {
                if v.AuxInt != 2 || v_0.Op != OpStructMake4 {
                        break
                }
-               _ = v_0.Args[3]
                x := v_0.Args[2]
                v.copyOf(x)
                return true