aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/rewriteARM.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2020-03-01 13:09:09 -0800
committerJosh Bleecher Snyder <josharian@gmail.com>2020-03-02 17:40:00 +0000
commit5e4da0adac18aad82b85e6ce3f928392b7998994 (patch)
treed5d889ce4337929ccc2d3713ea05bf8cc7ccfe64 /src/cmd/compile/internal/ssa/rewriteARM.go
parentd8bf079751cbdbebe8425be7c93b963dc0f31360 (diff)
downloadgo-5e4da0adac18aad82b85e6ce3f928392b7998994.tar.gz
go-5e4da0adac18aad82b85e6ce3f928392b7998994.zip
cmd/compile: add streamlined Block Reset+AddControl routines
For use in rewrite rules. Shrinks cmd/compile: compile 20082104 19967416 -114688 -0.571% Passes toolstash-check -all. Change-Id: Ic856508b27ec5b7fb9b6ca63e955a7139ae7dc30 Reviewed-on: https://go-review.googlesource.com/c/go/+/221780 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewriteARM.go')
-rw-r--r--src/cmd/compile/internal/ssa/rewriteARM.go705
1 files changed, 235 insertions, 470 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go
index bf1cf2d183..52ab522434 100644
--- a/src/cmd/compile/internal/ssa/rewriteARM.go
+++ b/src/cmd/compile/internal/ssa/rewriteARM.go
@@ -16828,8 +16828,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMEQ)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMEQ, cmp)
return true
}
// match: (EQ (CMPconst [0] l:(SUB x y)) yes no)
@@ -16849,10 +16848,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(MULS x y a)) yes no)
@@ -16873,12 +16871,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -16898,11 +16895,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -16923,11 +16919,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -16948,11 +16943,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -16973,11 +16967,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -16998,10 +16991,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -17022,10 +17014,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -17046,10 +17037,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADD x y)) yes no)
@@ -17073,10 +17063,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
break
@@ -17099,12 +17088,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDconst [c] x)) yes no)
@@ -17124,11 +17112,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -17149,11 +17136,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -17174,11 +17160,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -17199,11 +17184,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -17224,10 +17208,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -17248,10 +17231,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -17272,10 +17254,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(AND x y)) yes no)
@@ -17299,10 +17280,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
break
@@ -17324,11 +17304,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -17349,11 +17328,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -17374,11 +17352,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -17399,11 +17376,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -17424,10 +17400,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -17448,10 +17423,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -17472,10 +17446,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XOR x y)) yes no)
@@ -17499,10 +17472,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
break
@@ -17524,11 +17496,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -17549,11 +17520,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -17574,11 +17544,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -17599,11 +17568,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -17624,10 +17592,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -17648,10 +17615,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -17672,10 +17638,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMEQ, v0)
return true
}
case BlockARMGE:
@@ -17716,8 +17681,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMLE)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMLE, cmp)
return true
}
// match: (GE (CMPconst [0] l:(SUB x y)) yes no)
@@ -17737,10 +17701,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(MULS x y a)) yes no)
@@ -17761,12 +17724,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -17786,11 +17748,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -17811,11 +17772,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -17836,11 +17796,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -17861,11 +17820,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -17886,10 +17844,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -17910,10 +17867,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -17934,10 +17890,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADD x y)) yes no)
@@ -17961,10 +17916,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
break
@@ -17987,12 +17941,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDconst [c] x)) yes no)
@@ -18012,11 +17965,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -18037,11 +17989,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -18062,11 +18013,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -18087,11 +18037,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -18112,10 +18061,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -18136,10 +18084,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -18160,10 +18107,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(AND x y)) yes no)
@@ -18187,10 +18133,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
break
@@ -18212,11 +18157,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -18237,11 +18181,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -18262,11 +18205,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -18287,11 +18229,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -18312,10 +18253,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -18336,10 +18276,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -18360,10 +18299,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XOR x y)) yes no)
@@ -18387,10 +18325,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
break
@@ -18412,11 +18349,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -18437,11 +18373,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -18462,11 +18397,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -18487,11 +18421,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -18512,10 +18445,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -18536,10 +18468,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -18560,10 +18491,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGE, v0)
return true
}
case BlockARMGT:
@@ -18605,8 +18535,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMLT)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMLT, cmp)
return true
}
// match: (GT (CMPconst [0] l:(SUB x y)) yes no)
@@ -18626,10 +18555,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(MULS x y a)) yes no)
@@ -18650,12 +18578,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -18675,11 +18602,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -18700,11 +18626,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -18725,11 +18650,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -18750,11 +18674,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -18775,10 +18698,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -18799,10 +18721,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -18823,10 +18744,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADD x y)) yes no)
@@ -18850,10 +18770,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
break
@@ -18875,11 +18794,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -18900,11 +18818,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -18925,11 +18842,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -18950,11 +18866,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -18975,10 +18890,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -18999,10 +18913,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -19023,10 +18936,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(AND x y)) yes no)
@@ -19050,10 +18962,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
break
@@ -19076,12 +18987,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDconst [c] x)) yes no)
@@ -19101,11 +19011,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -19126,11 +19035,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -19151,11 +19059,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -19176,11 +19083,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -19201,10 +19107,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -19225,10 +19130,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -19249,10 +19153,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XOR x y)) yes no)
@@ -19276,10 +19179,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
break
@@ -19301,11 +19203,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -19326,11 +19227,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -19351,11 +19251,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -19376,11 +19275,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -19401,10 +19299,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -19425,10 +19322,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -19449,10 +19345,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMGT, v0)
return true
}
case BlockIf:
@@ -19461,8 +19356,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMEQ)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMEQ, cc)
return true
}
// match: (If (NotEqual cc) yes no)
@@ -19470,8 +19364,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMNotEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMNE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMNE, cc)
return true
}
// match: (If (LessThan cc) yes no)
@@ -19479,8 +19372,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMLessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMLT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMLT, cc)
return true
}
// match: (If (LessThanU cc) yes no)
@@ -19488,8 +19380,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMLessThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMULT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMULT, cc)
return true
}
// match: (If (LessEqual cc) yes no)
@@ -19497,8 +19388,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMLessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMLE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMLE, cc)
return true
}
// match: (If (LessEqualU cc) yes no)
@@ -19506,8 +19396,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMLessEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMULE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMULE, cc)
return true
}
// match: (If (GreaterThan cc) yes no)
@@ -19515,8 +19404,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMGreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMGT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMGT, cc)
return true
}
// match: (If (GreaterThanU cc) yes no)
@@ -19524,8 +19412,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMGreaterThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMUGT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMUGT, cc)
return true
}
// match: (If (GreaterEqual cc) yes no)
@@ -19533,8 +19420,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMGreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMGE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMGE, cc)
return true
}
// match: (If (GreaterEqualU cc) yes no)
@@ -19542,19 +19428,17 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMGreaterEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Reset(BlockARMUGE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMUGE, cc)
return true
}
// match: (If cond yes no)
// result: (NE (CMPconst [0] cond) yes no)
for {
cond := b.Controls[0]
- b.Reset(BlockARMNE)
v0 := b.NewValue0(cond.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(cond)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
case BlockARMLE:
@@ -19595,8 +19479,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMGE)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMGE, cmp)
return true
}
// match: (LE (CMPconst [0] l:(SUB x y)) yes no)
@@ -19616,10 +19499,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(MULS x y a)) yes no)
@@ -19640,12 +19522,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -19665,11 +19546,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -19690,11 +19570,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -19715,11 +19594,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -19740,11 +19618,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -19765,10 +19642,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -19789,10 +19665,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -19813,10 +19688,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADD x y)) yes no)
@@ -19840,10 +19714,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
break
@@ -19866,12 +19739,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDconst [c] x)) yes no)
@@ -19891,11 +19763,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -19916,11 +19787,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -19941,11 +19811,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -19966,11 +19835,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -19991,10 +19859,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -20015,10 +19882,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -20039,10 +19905,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(AND x y)) yes no)
@@ -20066,10 +19931,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
break
@@ -20091,11 +19955,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -20116,11 +19979,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -20141,11 +20003,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -20166,11 +20027,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -20191,10 +20051,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -20215,10 +20074,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -20239,10 +20097,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XOR x y)) yes no)
@@ -20266,10 +20123,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
break
@@ -20291,11 +20147,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -20316,11 +20171,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -20341,11 +20195,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -20366,11 +20219,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -20391,10 +20243,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -20415,10 +20266,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -20439,10 +20289,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLE, v0)
return true
}
case BlockARMLT:
@@ -20484,8 +20333,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMGT)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMGT, cmp)
return true
}
// match: (LT (CMPconst [0] l:(SUB x y)) yes no)
@@ -20505,10 +20353,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(MULS x y a)) yes no)
@@ -20529,12 +20376,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -20554,11 +20400,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -20579,11 +20424,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -20604,11 +20448,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -20629,11 +20472,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -20654,10 +20496,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -20678,10 +20519,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -20702,10 +20542,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADD x y)) yes no)
@@ -20729,10 +20568,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
break
@@ -20755,12 +20593,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDconst [c] x)) yes no)
@@ -20780,11 +20617,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -20805,11 +20641,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -20830,11 +20665,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -20855,11 +20689,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -20880,10 +20713,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -20904,10 +20736,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -20928,10 +20759,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(AND x y)) yes no)
@@ -20955,10 +20785,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
break
@@ -20980,11 +20809,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -21005,11 +20833,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -21030,11 +20857,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -21055,11 +20881,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -21080,10 +20905,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -21104,10 +20928,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -21128,10 +20951,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XOR x y)) yes no)
@@ -21155,10 +20977,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
break
@@ -21180,11 +21001,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -21205,11 +21025,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -21230,11 +21049,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -21255,11 +21073,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -21280,10 +21097,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -21304,10 +21120,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -21328,10 +21143,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMLT, v0)
return true
}
case BlockARMNE:
@@ -21347,8 +21161,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMEQ)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMEQ, cc)
return true
}
// match: (NE (CMPconst [0] (NotEqual cc)) yes no)
@@ -21363,8 +21176,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMNE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMNE, cc)
return true
}
// match: (NE (CMPconst [0] (LessThan cc)) yes no)
@@ -21379,8 +21191,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMLT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMLT, cc)
return true
}
// match: (NE (CMPconst [0] (LessThanU cc)) yes no)
@@ -21395,8 +21206,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMULT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMULT, cc)
return true
}
// match: (NE (CMPconst [0] (LessEqual cc)) yes no)
@@ -21411,8 +21221,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMLE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMLE, cc)
return true
}
// match: (NE (CMPconst [0] (LessEqualU cc)) yes no)
@@ -21427,8 +21236,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMULE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMULE, cc)
return true
}
// match: (NE (CMPconst [0] (GreaterThan cc)) yes no)
@@ -21443,8 +21251,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMGT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMGT, cc)
return true
}
// match: (NE (CMPconst [0] (GreaterThanU cc)) yes no)
@@ -21459,8 +21266,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMUGT)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMUGT, cc)
return true
}
// match: (NE (CMPconst [0] (GreaterEqual cc)) yes no)
@@ -21475,8 +21281,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMGE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMGE, cc)
return true
}
// match: (NE (CMPconst [0] (GreaterEqualU cc)) yes no)
@@ -21491,8 +21296,7 @@ func rewriteBlockARM(b *Block) bool {
break
}
cc := v_0_0.Args[0]
- b.Reset(BlockARMUGE)
- b.AddControl(cc)
+ b.resetWithControl(BlockARMUGE, cc)
return true
}
// match: (NE (FlagEQ) yes no)
@@ -21531,8 +21335,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMNE)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMNE, cmp)
return true
}
// match: (NE (CMPconst [0] l:(SUB x y)) yes no)
@@ -21552,10 +21355,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(MULS x y a)) yes no)
@@ -21576,12 +21378,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBconst [c] x)) yes no)
@@ -21601,11 +21402,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
@@ -21626,11 +21426,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
@@ -21651,11 +21450,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
@@ -21676,11 +21474,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
@@ -21701,10 +21498,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
@@ -21725,10 +21521,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
@@ -21749,10 +21544,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADD x y)) yes no)
@@ -21776,10 +21570,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
break
@@ -21802,12 +21595,11 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg2(x, y)
v0.AddArg2(a, v1)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDconst [c] x)) yes no)
@@ -21827,11 +21619,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
@@ -21852,11 +21643,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
@@ -21877,11 +21667,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
@@ -21902,11 +21691,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
@@ -21927,10 +21715,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
@@ -21951,10 +21738,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
@@ -21975,10 +21761,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(AND x y)) yes no)
@@ -22002,10 +21787,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
break
@@ -22027,11 +21811,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
@@ -22052,11 +21835,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
@@ -22077,11 +21859,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
@@ -22102,11 +21883,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
@@ -22127,10 +21907,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
@@ -22151,10 +21930,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
@@ -22175,10 +21953,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XOR x y)) yes no)
@@ -22202,10 +21979,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
continue
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
break
@@ -22227,11 +22003,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
@@ -22252,11 +22027,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
@@ -22277,11 +22051,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
@@ -22302,11 +22075,10 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg2(x, y)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
@@ -22327,10 +22099,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
@@ -22351,10 +22122,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
@@ -22375,10 +22145,9 @@ func rewriteBlockARM(b *Block) bool {
if !(l.Uses == 1) {
break
}
- b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg3(x, y, z)
- b.AddControl(v0)
+ b.resetWithControl(BlockARMNE, v0)
return true
}
case BlockARMUGE:
@@ -22419,8 +22188,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMULE)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMULE, cmp)
return true
}
case BlockARMUGT:
@@ -22462,8 +22230,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMULT)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMULT, cmp)
return true
}
case BlockARMULE:
@@ -22504,8 +22271,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMUGE)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMUGE, cmp)
return true
}
case BlockARMULT:
@@ -22547,8 +22313,7 @@ func rewriteBlockARM(b *Block) bool {
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Reset(BlockARMUGT)
- b.AddControl(cmp)
+ b.resetWithControl(BlockARMUGT, cmp)
return true
}
}