diff options
author | Josh Bleecher Snyder <josharian@gmail.com> | 2020-02-26 11:29:34 -0800 |
---|---|---|
committer | Josh Bleecher Snyder <josharian@gmail.com> | 2020-03-01 15:27:58 +0000 |
commit | 7913f7dfcf2c281b99c6ddd278aa851de47ada9d (patch) | |
tree | 8a34c42a6e16c5c7864d49030ed474dddff2ff82 /src/cmd/compile/internal/ssa/rewriteARM64.go | |
parent | a908e09a34fff3c47efab69857d27bf6965b948a (diff) | |
download | go-7913f7dfcf2c281b99c6ddd278aa851de47ada9d.tar.gz go-7913f7dfcf2c281b99c6ddd278aa851de47ada9d.zip |
cmd/compile: add specialized AddArgN functions for rewrite rules
This shrinks the compiler without impacting performance.
(The performance-sensitive part of rewrite rules is the non-match case.)
Passes toolstash-check -all.
Executable size:
file before after Δ %
compile 20356168 20163960 -192208 -0.944%
total 115599376 115407168 -192208 -0.166%
Text size:
file before after Δ %
cmd/compile/internal/ssa.s 3928309 3778774 -149535 -3.807%
total 18862943 18713408 -149535 -0.793%
Memory allocated compiling package SSA:
SSA 12.7M ± 0% 12.5M ± 0% -1.74% (p=0.008 n=5+5)
Compiler speed impact:
name old time/op new time/op delta
Template 211ms ± 1% 211ms ± 2% ~ (p=0.832 n=49+49)
Unicode 82.8ms ± 2% 83.2ms ± 2% +0.44% (p=0.022 n=46+49)
GoTypes 726ms ± 1% 728ms ± 2% ~ (p=0.076 n=46+48)
Compiler 3.39s ± 2% 3.40s ± 2% ~ (p=0.633 n=48+49)
SSA 7.71s ± 1% 7.65s ± 1% -0.78% (p=0.000 n=45+44)
Flate 134ms ± 1% 134ms ± 1% ~ (p=0.195 n=50+49)
GoParser 167ms ± 1% 167ms ± 1% ~ (p=0.390 n=47+47)
Reflect 453ms ± 3% 452ms ± 2% ~ (p=0.492 n=48+49)
Tar 184ms ± 3% 184ms ± 2% ~ (p=0.862 n=50+48)
XML 248ms ± 2% 248ms ± 2% ~ (p=0.096 n=49+47)
[Geo mean] 415ms 415ms -0.03%
name old user-time/op new user-time/op delta
Template 273ms ± 1% 273ms ± 2% ~ (p=0.711 n=48+48)
Unicode 117ms ± 6% 117ms ± 5% ~ (p=0.633 n=50+50)
GoTypes 972ms ± 2% 974ms ± 1% +0.29% (p=0.016 n=47+49)
Compiler 4.46s ± 6% 4.51s ± 6% ~ (p=0.093 n=50+50)
SSA 10.4s ± 1% 10.3s ± 2% -0.94% (p=0.000 n=45+50)
Flate 166ms ± 2% 167ms ± 2% ~ (p=0.148 n=49+48)
GoParser 202ms ± 1% 202ms ± 2% -0.28% (p=0.014 n=47+49)
Reflect 594ms ± 2% 594ms ± 2% ~ (p=0.717 n=48+49)
Tar 224ms ± 2% 224ms ± 2% ~ (p=0.805 n=50+49)
XML 311ms ± 1% 310ms ± 1% ~ (p=0.177 n=49+48)
[Geo mean] 537ms 537ms +0.01%
Change-Id: I562b9f349b34ddcff01771769e6dbbc80604da7a
Reviewed-on: https://go-review.googlesource.com/c/go/+/221237
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/rewriteARM64.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewriteARM64.go | 3244 |
1 files changed, 929 insertions, 2315 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteARM64.go b/src/cmd/compile/internal/ssa/rewriteARM64.go index 51051b93b7..dd3a8b922b 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM64.go +++ b/src/cmd/compile/internal/ssa/rewriteARM64.go @@ -1094,9 +1094,7 @@ func rewriteValueARM64_OpARM64ADCSflags(v *Value) bool { } c := v_2_0_0.Args[0] v.reset(OpARM64ADCSflags) - v.AddArg(x) - v.AddArg(y) - v.AddArg(c) + v.AddArg3(x, y, c) return true } // match: (ADCSflags x y (Select1 <types.TypeFlags> (ADDSconstflags [-1] (MOVDconst [0])))) @@ -1116,8 +1114,7 @@ func rewriteValueARM64_OpARM64ADCSflags(v *Value) bool { break } v.reset(OpARM64ADDSflags) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -1159,9 +1156,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64MADD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1182,9 +1177,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64MSUB) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1205,9 +1198,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64MADDW) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1228,9 +1219,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64MSUBW) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1245,8 +1234,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { } y := v_1.Args[0] v.reset(OpARM64SUB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1268,8 +1256,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -1291,8 +1278,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { } v.reset(OpARM64ADDshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -1314,8 +1300,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { } v.reset(OpARM64ADDshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -1383,10 +1368,9 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -1454,8 +1438,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1524,10 +1507,9 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -1599,8 +1581,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1775,8 +1756,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL(v *Value) bool { x2 := v_1 v.reset(OpARM64EXTRconst) v.AuxInt = 64 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } // match: (ADDshiftLL <t> [c] (UBFX [bfc] x) x2) @@ -1796,8 +1776,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL(v *Value) bool { } v.reset(OpARM64EXTRWconst) v.AuxInt = 32 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } return false @@ -1951,8 +1930,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool { } y := v_1.Args[0] v.reset(OpARM64BIC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1974,8 +1952,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool { } v.reset(OpARM64ANDshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -1997,8 +1974,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool { } v.reset(OpARM64ANDshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -2020,8 +1996,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool { } v.reset(OpARM64ANDshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -2366,8 +2341,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool { } v.reset(OpARM64BICshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (BIC x0 x1:(SRLconst [c] y)) @@ -2386,8 +2360,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool { } v.reset(OpARM64BICshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (BIC x0 x1:(SRAconst [c] y)) @@ -2406,8 +2379,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool { } v.reset(OpARM64BICshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } return false @@ -2556,8 +2528,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool { } v.reset(OpARM64CMNshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -2579,8 +2550,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool { } v.reset(OpARM64CMNshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -2602,8 +2572,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool { } v.reset(OpARM64CMNshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -2943,8 +2912,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { } v.reset(OpARM64InvertFlags) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -2964,8 +2932,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { } v.reset(OpARM64CMPshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (CMP x0:(SLLconst [c] y) x1) @@ -2985,8 +2952,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { v.reset(OpARM64InvertFlags) v0 := b.NewValue0(v.Pos, OpARM64CMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x1) - v0.AddArg(y) + v0.AddArg2(x1, y) v.AddArg(v0) return true } @@ -3006,8 +2972,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { } v.reset(OpARM64CMPshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (CMP x0:(SRLconst [c] y) x1) @@ -3027,8 +2992,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { v.reset(OpARM64InvertFlags) v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x1) - v0.AddArg(y) + v0.AddArg2(x1, y) v.AddArg(v0) return true } @@ -3048,8 +3012,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { } v.reset(OpARM64CMPshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (CMP x0:(SRAconst [c] y) x1) @@ -3069,8 +3032,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool { v.reset(OpARM64InvertFlags) v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x1) - v0.AddArg(y) + v0.AddArg2(x1, y) v.AddArg(v0) return true } @@ -3119,8 +3081,7 @@ func rewriteValueARM64_OpARM64CMPW(v *Value) bool { } v.reset(OpARM64InvertFlags) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -3501,8 +3462,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool { flag := v_2 v.reset(OpARM64CSEL0) v.Aux = cc - v.AddArg(x) - v.AddArg(flag) + v.AddArg2(x, flag) return true } // match: (CSEL {cc} (MOVDconst [0]) y flag) @@ -3516,8 +3476,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool { flag := v_2 v.reset(OpARM64CSEL0) v.Aux = arm64Negate(cc.(Op)) - v.AddArg(y) - v.AddArg(flag) + v.AddArg2(y, flag) return true } // match: (CSEL {cc} x y (InvertFlags cmp)) @@ -3532,9 +3491,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool { cmp := v_2.Args[0] v.reset(OpARM64CSEL) v.Aux = arm64Invert(cc.(Op)) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cmp) + v.AddArg3(x, y, cmp) return true } // match: (CSEL {cc} x _ flag) @@ -3583,9 +3540,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool { } v.reset(OpARM64CSEL) v.Aux = boolval.Op - v.AddArg(x) - v.AddArg(y) - v.AddArg(flagArg(boolval)) + v.AddArg3(x, y, flagArg(boolval)) return true } // match: (CSEL {cc} x y (CMPWconst [0] boolval)) @@ -3604,9 +3559,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool { } v.reset(OpARM64CSEL) v.Aux = arm64Negate(boolval.Op) - v.AddArg(x) - v.AddArg(y) - v.AddArg(flagArg(boolval)) + v.AddArg3(x, y, flagArg(boolval)) return true } return false @@ -3625,8 +3578,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool { cmp := v_1.Args[0] v.reset(OpARM64CSEL0) v.Aux = arm64Invert(cc.(Op)) - v.AddArg(x) - v.AddArg(cmp) + v.AddArg2(x, cmp) return true } // match: (CSEL0 {cc} x flag) @@ -3672,8 +3624,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool { } v.reset(OpARM64CSEL0) v.Aux = boolval.Op - v.AddArg(x) - v.AddArg(flagArg(boolval)) + v.AddArg2(x, flagArg(boolval)) return true } // match: (CSEL0 {cc} x (CMPWconst [0] boolval)) @@ -3691,8 +3642,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool { } v.reset(OpARM64CSEL0) v.Aux = arm64Negate(boolval.Op) - v.AddArg(x) - v.AddArg(flagArg(boolval)) + v.AddArg2(x, flagArg(boolval)) return true } return false @@ -3780,8 +3730,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool { } v.reset(OpARM64EONshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (EON x0 x1:(SRLconst [c] y)) @@ -3800,8 +3749,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool { } v.reset(OpARM64EONshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (EON x0 x1:(SRAconst [c] y)) @@ -3820,8 +3768,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool { } v.reset(OpARM64EONshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } return false @@ -4013,9 +3960,7 @@ func rewriteValueARM64_OpARM64FADDD(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMADDD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -4031,9 +3976,7 @@ func rewriteValueARM64_OpARM64FADDD(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMSUBD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -4054,9 +3997,7 @@ func rewriteValueARM64_OpARM64FADDS(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMADDS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -4072,9 +4013,7 @@ func rewriteValueARM64_OpARM64FADDS(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMSUBS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -4226,8 +4165,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool { v.reset(OpARM64FMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVDload [off] {sym} (ADD ptr idx) mem) @@ -4246,9 +4184,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool { break } v.reset(OpARM64FMOVDloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -4270,8 +4206,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool { v.reset(OpARM64FMOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4291,8 +4226,7 @@ func rewriteValueARM64_OpARM64FMOVDloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64FMOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVDloadidx (MOVDconst [c]) ptr mem) @@ -4306,8 +4240,7 @@ func rewriteValueARM64_OpARM64FMOVDloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64FMOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4332,9 +4265,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -4356,9 +4287,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool { v.reset(OpARM64FMOVDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVDstore [off] {sym} (ADD ptr idx) val mem) @@ -4378,10 +4307,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool { break } v.reset(OpARM64FMOVDstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -4404,9 +4330,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool { v.reset(OpARM64FMOVDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4428,9 +4352,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64FMOVDstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVDstoreidx (MOVDconst [c]) idx val mem) @@ -4445,9 +4367,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64FMOVDstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } return false @@ -4493,8 +4413,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool { v.reset(OpARM64FMOVSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVSload [off] {sym} (ADD ptr idx) mem) @@ -4513,9 +4432,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool { break } v.reset(OpARM64FMOVSloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVSload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -4537,8 +4454,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool { v.reset(OpARM64FMOVSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4558,8 +4474,7 @@ func rewriteValueARM64_OpARM64FMOVSloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64FMOVSload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVSloadidx (MOVDconst [c]) ptr mem) @@ -4573,8 +4488,7 @@ func rewriteValueARM64_OpARM64FMOVSloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64FMOVSload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4599,9 +4513,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVSstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -4623,9 +4535,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool { v.reset(OpARM64FMOVSstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVSstore [off] {sym} (ADD ptr idx) val mem) @@ -4645,10 +4555,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool { break } v.reset(OpARM64FMOVSstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVSstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -4671,9 +4578,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool { v.reset(OpARM64FMOVSstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4695,9 +4600,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64FMOVSstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (FMOVSstoreidx (MOVDconst [c]) idx val mem) @@ -4712,9 +4615,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64FMOVSstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } return false @@ -4732,8 +4633,7 @@ func rewriteValueARM64_OpARM64FMULD(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64FNMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4753,8 +4653,7 @@ func rewriteValueARM64_OpARM64FMULS(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64FNMULS) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4772,8 +4671,7 @@ func rewriteValueARM64_OpARM64FNEGD(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64FNMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (FNEGD (FNMULD x y)) @@ -4785,8 +4683,7 @@ func rewriteValueARM64_OpARM64FNEGD(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64FMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4802,8 +4699,7 @@ func rewriteValueARM64_OpARM64FNEGS(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64FNMULS) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (FNEGS (FNMULS x y)) @@ -4815,8 +4711,7 @@ func rewriteValueARM64_OpARM64FNEGS(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64FMULS) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4834,8 +4729,7 @@ func rewriteValueARM64_OpARM64FNMULD(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64FMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4855,8 +4749,7 @@ func rewriteValueARM64_OpARM64FNMULS(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64FMULS) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4876,9 +4769,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMSUBD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBD (FMULD x y) a) @@ -4891,9 +4782,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool { x := v_0.Args[0] a := v_1 v.reset(OpARM64FNMSUBD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBD a (FNMULD x y)) @@ -4906,9 +4795,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMADDD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBD (FNMULD x y) a) @@ -4921,9 +4808,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool { x := v_0.Args[0] a := v_1 v.reset(OpARM64FNMADDD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } return false @@ -4941,9 +4826,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMSUBS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBS (FMULS x y) a) @@ -4956,9 +4839,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool { x := v_0.Args[0] a := v_1 v.reset(OpARM64FNMSUBS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBS a (FNMULS x y)) @@ -4971,9 +4852,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool { y := v_1.Args[1] x := v_1.Args[0] v.reset(OpARM64FMADDS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (FSUBS (FNMULS x y) a) @@ -4986,9 +4865,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool { x := v_0.Args[0] a := v_1 v.reset(OpARM64FNMADDS) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } return false @@ -5587,8 +5464,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a _ (MOVDconst [0])) @@ -5612,8 +5488,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a x (MOVDconst [c])) @@ -5631,8 +5506,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a x (MOVDconst [c])) @@ -5649,12 +5523,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a x (MOVDconst [c])) @@ -5671,12 +5543,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a x (MOVDconst [c])) @@ -5694,12 +5564,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a x (MOVDconst [c])) @@ -5717,12 +5585,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a x (MOVDconst [c])) @@ -5740,12 +5606,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a x (MOVDconst [c])) @@ -5763,12 +5627,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [-1]) x) @@ -5780,8 +5642,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } x := v_2 v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a (MOVDconst [0]) _) @@ -5805,8 +5666,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } x := v_2 v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5824,8 +5684,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5842,12 +5701,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5864,12 +5721,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5887,12 +5742,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5910,12 +5763,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5933,12 +5784,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD a (MOVDconst [c]) x) @@ -5956,12 +5805,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADD (MOVDconst [c]) x y) @@ -5976,8 +5823,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool { v.reset(OpARM64ADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARM64MUL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -6019,8 +5865,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a _ (MOVDconst [c])) @@ -6054,8 +5899,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6073,8 +5917,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6091,12 +5934,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6113,12 +5954,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6136,12 +5975,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6159,12 +5996,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6182,12 +6017,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a x (MOVDconst [c])) @@ -6205,12 +6038,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6227,8 +6058,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a (MOVDconst [c]) _) @@ -6262,8 +6092,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6281,8 +6110,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6299,12 +6127,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6321,12 +6147,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6344,12 +6168,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6367,12 +6189,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6390,12 +6210,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW a (MOVDconst [c]) x) @@ -6413,12 +6231,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MADDW (MOVDconst [c]) x y) @@ -6433,8 +6249,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool { v.reset(OpARM64ADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARM64MULW, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -6541,8 +6356,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v.reset(OpARM64NEG) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6566,8 +6380,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v0.AuxInt = log2(c + 1) v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -6591,8 +6404,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6616,8 +6428,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -6642,8 +6453,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v.AuxInt = log2(c / 7) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6667,8 +6477,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -6794,8 +6603,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v.reset(OpARM64NEG) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6819,8 +6627,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v0.AuxInt = log2(c + 1) v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -6844,8 +6651,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6869,8 +6675,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -6895,8 +6700,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v.AuxInt = log2(c / 7) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -6920,8 +6724,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -7011,8 +6814,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool { v.reset(OpARM64MOVBUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off] {sym} (ADD ptr idx) mem) @@ -7031,9 +6833,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool { break } v.reset(OpARM64MOVBUloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -7055,8 +6855,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool { v.reset(OpARM64MOVBUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off] {sym} ptr (MOVBstorezero [off2] {sym2} ptr2 _)) @@ -7110,8 +6909,7 @@ func rewriteValueARM64_OpARM64MOVBUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUloadidx (MOVDconst [c]) ptr mem) @@ -7125,8 +6923,7 @@ func rewriteValueARM64_OpARM64MOVBUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUloadidx ptr idx (MOVBstorezeroidx ptr2 idx2 _)) @@ -7282,8 +7079,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool { v.reset(OpARM64MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off] {sym} (ADD ptr idx) mem) @@ -7302,9 +7098,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool { break } v.reset(OpARM64MOVBloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -7326,8 +7120,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool { v.reset(OpARM64MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off] {sym} ptr (MOVBstorezero [off2] {sym2} ptr2 _)) @@ -7368,8 +7161,7 @@ func rewriteValueARM64_OpARM64MOVBloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBloadidx (MOVDconst [c]) ptr mem) @@ -7383,8 +7175,7 @@ func rewriteValueARM64_OpARM64MOVBloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBloadidx ptr idx (MOVBstorezeroidx ptr2 idx2 _)) @@ -7500,9 +7291,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstore [off] {sym} (ADD ptr idx) val mem) @@ -7522,10 +7311,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { break } v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVBstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -7548,9 +7334,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVDconst [0]) mem) @@ -7566,8 +7350,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem) @@ -7584,9 +7367,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVBUreg x) mem) @@ -7603,9 +7384,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem) @@ -7622,9 +7401,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVHUreg x) mem) @@ -7641,9 +7418,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVWreg x) mem) @@ -7660,9 +7435,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVWUreg x) mem) @@ -7679,9 +7452,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [i] {s} ptr0 (SRLconst [8] w) x:(MOVBstore [i-1] {s} ptr1 w mem)) @@ -7707,9 +7478,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [8] w) x:(MOVBstoreidx ptr1 idx1 w mem)) @@ -7744,10 +7513,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -7775,9 +7541,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(8, 8)] w) x:(MOVBstoreidx ptr1 idx1 w mem)) @@ -7812,10 +7576,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -7843,9 +7604,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(8, 24)] w) x:(MOVBstoreidx ptr1 idx1 w mem)) @@ -7880,10 +7639,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -7915,9 +7671,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [8] (MOVDreg w)) x:(MOVBstoreidx ptr1 idx1 w mem)) @@ -7956,10 +7710,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -7989,9 +7740,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(ptr0, w0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVBstoreidx ptr1 idx1 w0:(SRLconst [j-8] w) mem)) @@ -8028,10 +7777,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w0, mem) return true } break @@ -8065,9 +7811,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(ptr0, w0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [bfc] w) x:(MOVBstoreidx ptr1 idx1 w0:(UBFX [bfc2] w) mem)) @@ -8108,10 +7852,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w0, mem) return true } break @@ -8149,9 +7890,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(ptr0, w0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [j] (MOVDreg w)) x:(MOVBstoreidx ptr1 idx1 w0:(SRLconst [j-8] (MOVDreg w)) mem)) @@ -8196,10 +7935,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w0, mem) return true } break @@ -8299,11 +8035,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = i - 7 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x6.Pos, OpARM64REV, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [7] {s} p w x0:(MOVBstore [6] {s} p (SRLconst [8] w) x1:(MOVBstore [5] {s} p (SRLconst [16] w) x2:(MOVBstore [4] {s} p (SRLconst [24] w) x3:(MOVBstore [3] {s} p (SRLconst [32] w) x4:(MOVBstore [2] {s} p (SRLconst [40] w) x5:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [48] w) x6:(MOVBstoreidx ptr0 idx0 (SRLconst [56] w) mem)))))))) @@ -8407,12 +8141,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(x5.Pos, OpARM64REV, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8464,11 +8195,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 3 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(24, 8)] w) mem)))) @@ -8524,12 +8253,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8593,11 +8319,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 3 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (SRLconst [8] (MOVDreg w)) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] (MOVDreg w)) x2:(MOVBstoreidx ptr0 idx0 (SRLconst [24] (MOVDreg w)) mem)))) @@ -8665,12 +8389,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8722,11 +8443,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 3 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (SRLconst [8] w) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] w) x2:(MOVBstoreidx ptr0 idx0 (SRLconst [24] w) mem)))) @@ -8782,12 +8501,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8815,11 +8531,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] w) mem)) @@ -8852,12 +8566,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8885,11 +8596,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 8)] w) mem)) @@ -8922,12 +8631,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -8959,11 +8665,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] (MOVDreg w)) mem)) @@ -9000,12 +8704,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -9033,11 +8734,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(ptr) v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 24)] w) mem)) @@ -9070,12 +8769,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool { continue } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr0) - v.AddArg(idx0) v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr0, idx0, v0, mem) return true } break @@ -9100,9 +8796,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVBstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstoreidx (MOVDconst [c]) idx val mem) @@ -9117,9 +8811,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVBstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } // match: (MOVBstoreidx ptr idx (MOVDconst [0]) mem) @@ -9132,9 +8824,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVBstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreidx ptr idx (MOVBreg x) mem) @@ -9148,10 +8838,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr idx (MOVBUreg x) mem) @@ -9165,10 +8852,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr idx (MOVHreg x) mem) @@ -9182,10 +8866,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr idx (MOVHUreg x) mem) @@ -9199,10 +8880,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr idx (MOVWreg x) mem) @@ -9216,10 +8894,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr idx (MOVWUreg x) mem) @@ -9233,10 +8908,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx ptr (ADDconst [1] idx) (SRLconst [8] w) x:(MOVBstoreidx ptr idx w mem)) @@ -9261,10 +8933,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { break } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr, idx, w, mem) return true } // match: (MOVBstoreidx ptr (ADDconst [3] idx) w x0:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(24, 8)] w) mem)))) @@ -9322,12 +8991,9 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpARM64REVW, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } // match: (MOVBstoreidx ptr idx w x0:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr (ADDconst [3] idx) (UBFX [armBFAuxInt(24, 8)] w) mem)))) @@ -9386,10 +9052,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr, idx, w, mem) return true } // match: (MOVBstoreidx ptr (ADDconst [1] idx) w x:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(8, 8)] w) mem)) @@ -9415,12 +9078,9 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { break } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } // match: (MOVBstoreidx ptr idx w x:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 8)] w) mem)) @@ -9447,10 +9107,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool { break } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr, idx, w, mem) return true } return false @@ -9478,8 +9135,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool { v.reset(OpARM64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -9501,8 +9157,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool { v.reset(OpARM64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstorezero [off] {sym} (ADD ptr idx) mem) @@ -9521,9 +9176,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool { break } v.reset(OpARM64MOVBstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstorezero [i] {s} ptr0 x:(MOVBstorezero [j] {s} ptr1 mem)) @@ -9549,8 +9202,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool { v.reset(OpARM64MOVHstorezero) v.AuxInt = min(i, j) v.Aux = s - v.AddArg(ptr0) - v.AddArg(mem) + v.AddArg2(ptr0, mem) return true } // match: (MOVBstorezero [1] {s} (ADD ptr0 idx0) x:(MOVBstorezeroidx ptr1 idx1 mem)) @@ -9581,9 +9233,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool { continue } v.reset(OpARM64MOVHstorezeroidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(mem) + v.AddArg3(ptr1, idx1, mem) return true } break @@ -9605,8 +9255,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBstorezero) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstorezeroidx (MOVDconst [c]) idx mem) @@ -9620,8 +9269,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBstorezero) v.AuxInt = c - v.AddArg(idx) - v.AddArg(mem) + v.AddArg2(idx, mem) return true } // match: (MOVBstorezeroidx ptr (ADDconst [1] idx) x:(MOVBstorezeroidx ptr idx mem)) @@ -9642,9 +9290,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool { break } v.reset(OpARM64MOVHstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -9690,8 +9336,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool { v.reset(OpARM64MOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off] {sym} (ADD ptr idx) mem) @@ -9710,9 +9355,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool { break } v.reset(OpARM64MOVDloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDload [off] {sym} (ADDshiftLL [3] ptr idx) mem) @@ -9731,9 +9374,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool { break } v.reset(OpARM64MOVDloadidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -9755,8 +9396,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool { v.reset(OpARM64MOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off] {sym} ptr (MOVDstorezero [off2] {sym2} ptr2 _)) @@ -9810,8 +9450,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDloadidx (MOVDconst [c]) ptr mem) @@ -9825,8 +9464,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDloadidx ptr (SLLconst [3] idx) mem) @@ -9839,9 +9477,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVDloadidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDloadidx (SLLconst [3] idx) ptr mem) @@ -9854,9 +9490,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVDloadidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDloadidx ptr idx (MOVDstorezeroidx ptr2 idx2 _)) @@ -9895,8 +9529,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx8(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDload) v.AuxInt = c << 3 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDloadidx8 ptr idx (MOVDstorezeroidx8 ptr2 idx2 _)) @@ -9967,9 +9600,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { v.reset(OpARM64FMOVDstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -9991,9 +9622,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstore [off] {sym} (ADD ptr idx) val mem) @@ -10013,10 +9642,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { break } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVDstore [off] {sym} (ADDshiftLL [3] ptr idx) val mem) @@ -10036,10 +9662,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { break } v.reset(OpARM64MOVDstoreidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -10062,9 +9685,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstore [off] {sym} ptr (MOVDconst [0]) mem) @@ -10080,8 +9701,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool { v.reset(OpARM64MOVDstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -10103,9 +9723,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVDstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstoreidx (MOVDconst [c]) idx val mem) @@ -10120,9 +9738,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVDstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } // match: (MOVDstoreidx ptr (SLLconst [3] idx) val mem) @@ -10136,10 +9752,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVDstoreidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVDstoreidx (SLLconst [3] idx) ptr val mem) @@ -10153,10 +9766,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVDstoreidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVDstoreidx ptr idx (MOVDconst [0]) mem) @@ -10169,9 +9779,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVDstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -10193,9 +9801,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8(v *Value) bool { mem := v_3 v.reset(OpARM64MOVDstore) v.AuxInt = c << 3 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstoreidx8 ptr idx (MOVDconst [0]) mem) @@ -10208,9 +9814,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVDstorezeroidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -10238,8 +9842,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { v.reset(OpARM64MOVDstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -10261,8 +9864,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { v.reset(OpARM64MOVDstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstorezero [off] {sym} (ADD ptr idx) mem) @@ -10281,9 +9883,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { break } v.reset(OpARM64MOVDstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDstorezero [off] {sym} (ADDshiftLL [3] ptr idx) mem) @@ -10302,9 +9902,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { break } v.reset(OpARM64MOVDstorezeroidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDstorezero [i] {s} ptr0 x:(MOVDstorezero [j] {s} ptr1 mem)) @@ -10330,8 +9928,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = min(i, j) v.Aux = s - v.AddArg(ptr0) - v.AddArg(mem) + v.AddArg2(ptr0, mem) return true } // match: (MOVDstorezero [8] {s} p0:(ADD ptr0 idx0) x:(MOVDstorezeroidx ptr1 idx1 mem)) @@ -10365,8 +9962,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = 0 v.Aux = s - v.AddArg(p0) - v.AddArg(mem) + v.AddArg2(p0, mem) return true } break @@ -10398,8 +9994,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = 0 v.Aux = s - v.AddArg(p0) - v.AddArg(mem) + v.AddArg2(p0, mem) return true } return false @@ -10419,8 +10014,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDstorezero) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstorezeroidx (MOVDconst [c]) idx mem) @@ -10434,8 +10028,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDstorezero) v.AuxInt = c - v.AddArg(idx) - v.AddArg(mem) + v.AddArg2(idx, mem) return true } // match: (MOVDstorezeroidx ptr (SLLconst [3] idx) mem) @@ -10448,9 +10041,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVDstorezeroidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDstorezeroidx (SLLconst [3] idx) ptr mem) @@ -10463,9 +10054,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVDstorezeroidx8) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -10485,8 +10074,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx8(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDstorezero) v.AuxInt = c << 3 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -10514,8 +10102,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool { v.reset(OpARM64MOVHUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off] {sym} (ADD ptr idx) mem) @@ -10534,9 +10121,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool { break } v.reset(OpARM64MOVHUloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUload [off] {sym} (ADDshiftLL [1] ptr idx) mem) @@ -10555,9 +10140,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool { break } v.reset(OpARM64MOVHUloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -10579,8 +10162,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool { v.reset(OpARM64MOVHUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off] {sym} ptr (MOVHstorezero [off2] {sym2} ptr2 _)) @@ -10634,8 +10216,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUloadidx (MOVDconst [c]) ptr mem) @@ -10649,8 +10230,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUloadidx ptr (SLLconst [1] idx) mem) @@ -10663,9 +10243,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVHUloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUloadidx ptr (ADD idx idx) mem) @@ -10681,9 +10259,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool { } mem := v_2 v.reset(OpARM64MOVHUloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUloadidx (ADD idx idx) ptr mem) @@ -10699,9 +10275,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVHUloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUloadidx ptr idx (MOVHstorezeroidx ptr2 idx2 _)) @@ -10740,8 +10314,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx2(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHUload) v.AuxInt = c << 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUloadidx2 ptr idx (MOVHstorezeroidx2 ptr2 idx2 _)) @@ -10932,8 +10505,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool { v.reset(OpARM64MOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off] {sym} (ADD ptr idx) mem) @@ -10952,9 +10524,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool { break } v.reset(OpARM64MOVHloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHload [off] {sym} (ADDshiftLL [1] ptr idx) mem) @@ -10973,9 +10543,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool { break } v.reset(OpARM64MOVHloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -10997,8 +10565,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool { v.reset(OpARM64MOVHload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off] {sym} ptr (MOVHstorezero [off2] {sym2} ptr2 _)) @@ -11039,8 +10606,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHloadidx (MOVDconst [c]) ptr mem) @@ -11054,8 +10620,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHloadidx ptr (SLLconst [1] idx) mem) @@ -11068,9 +10633,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVHloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHloadidx ptr (ADD idx idx) mem) @@ -11086,9 +10649,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool { } mem := v_2 v.reset(OpARM64MOVHloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHloadidx (ADD idx idx) ptr mem) @@ -11104,9 +10665,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVHloadidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHloadidx ptr idx (MOVHstorezeroidx ptr2 idx2 _)) @@ -11145,8 +10704,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx2(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHload) v.AuxInt = c << 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHloadidx2 ptr idx (MOVHstorezeroidx2 ptr2 idx2 _)) @@ -11344,9 +10902,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstore [off] {sym} (ADD ptr idx) val mem) @@ -11366,10 +10922,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstore [off] {sym} (ADDshiftLL [1] ptr idx) val mem) @@ -11389,10 +10942,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -11415,9 +10965,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVDconst [0]) mem) @@ -11433,8 +10981,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem) @@ -11451,9 +10998,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVHUreg x) mem) @@ -11470,9 +11015,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVWreg x) mem) @@ -11489,9 +11032,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVWUreg x) mem) @@ -11508,9 +11049,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [i] {s} ptr0 (SRLconst [16] w) x:(MOVHstore [i-2] {s} ptr1 w mem)) @@ -11536,9 +11075,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [16] w) x:(MOVHstoreidx ptr1 idx1 w mem)) @@ -11573,10 +11110,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -11609,13 +11143,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 1 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w, mem) return true } // match: (MOVHstore [i] {s} ptr0 (UBFX [armBFAuxInt(16, 16)] w) x:(MOVHstore [i-2] {s} ptr1 w mem)) @@ -11641,9 +11172,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVHstore [2] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(16, 16)] w) x:(MOVHstoreidx ptr1 idx1 w mem)) @@ -11678,10 +11207,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -11714,13 +11240,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 1 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w, mem) return true } // match: (MOVHstore [i] {s} ptr0 (SRLconst [16] (MOVDreg w)) x:(MOVHstore [i-2] {s} ptr1 w mem)) @@ -11750,9 +11273,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [16] (MOVDreg w)) x:(MOVHstoreidx ptr1 idx1 w mem)) @@ -11791,10 +11312,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -11831,13 +11349,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 1 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w, mem) return true } // match: (MOVHstore [i] {s} ptr0 (SRLconst [j] w) x:(MOVHstore [i-2] {s} ptr1 w0:(SRLconst [j-16] w) mem)) @@ -11865,9 +11380,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(ptr0, w0, mem) return true } // match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVHstoreidx ptr1 idx1 w0:(SRLconst [j-16] w) mem)) @@ -11904,10 +11417,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { continue } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w0, mem) return true } break @@ -11942,13 +11452,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 1 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w0, mem) return true } return false @@ -11970,9 +11477,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVHstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstoreidx (MOVDconst [c]) idx val mem) @@ -11987,9 +11492,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVHstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } // match: (MOVHstoreidx ptr (SLLconst [1] idx) val mem) @@ -12003,10 +11506,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstoreidx ptr (ADD idx idx) val mem) @@ -12023,10 +11523,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstoreidx (SLLconst [1] idx) ptr val mem) @@ -12040,10 +11537,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstoreidx (ADD idx idx) ptr val mem) @@ -12060,10 +11554,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstoreidx ptr idx (MOVDconst [0]) mem) @@ -12076,9 +11567,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVHstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstoreidx ptr idx (MOVHreg x) mem) @@ -12092,10 +11581,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx ptr idx (MOVHUreg x) mem) @@ -12109,10 +11595,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx ptr idx (MOVWreg x) mem) @@ -12126,10 +11609,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx ptr idx (MOVWUreg x) mem) @@ -12143,10 +11623,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx ptr (ADDconst [2] idx) (SRLconst [16] w) x:(MOVHstoreidx ptr idx w mem)) @@ -12171,10 +11648,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr, idx, w, mem) return true } return false @@ -12196,9 +11670,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { mem := v_3 v.reset(OpARM64MOVHstore) v.AuxInt = c << 1 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstoreidx2 ptr idx (MOVDconst [0]) mem) @@ -12211,9 +11683,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstoreidx2 ptr idx (MOVHreg x) mem) @@ -12227,10 +11697,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx2 ptr idx (MOVHUreg x) mem) @@ -12244,10 +11711,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx2 ptr idx (MOVWreg x) mem) @@ -12261,10 +11725,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx2 ptr idx (MOVWUreg x) mem) @@ -12278,10 +11739,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVHstoreidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } return false @@ -12309,8 +11767,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { v.reset(OpARM64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -12332,8 +11789,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { v.reset(OpARM64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstorezero [off] {sym} (ADD ptr idx) mem) @@ -12352,9 +11808,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { break } v.reset(OpARM64MOVHstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezero [off] {sym} (ADDshiftLL [1] ptr idx) mem) @@ -12373,9 +11827,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { break } v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezero [i] {s} ptr0 x:(MOVHstorezero [j] {s} ptr1 mem)) @@ -12401,8 +11853,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { v.reset(OpARM64MOVWstorezero) v.AuxInt = min(i, j) v.Aux = s - v.AddArg(ptr0) - v.AddArg(mem) + v.AddArg2(ptr0, mem) return true } // match: (MOVHstorezero [2] {s} (ADD ptr0 idx0) x:(MOVHstorezeroidx ptr1 idx1 mem)) @@ -12433,9 +11884,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { continue } v.reset(OpARM64MOVWstorezeroidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(mem) + v.AddArg3(ptr1, idx1, mem) return true } break @@ -12464,12 +11913,10 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool { break } v.reset(OpARM64MOVWstorezeroidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 1 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr1, v0, mem) return true } return false @@ -12489,8 +11936,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHstorezero) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstorezeroidx (MOVDconst [c]) idx mem) @@ -12504,8 +11950,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHstorezero) v.AuxInt = c - v.AddArg(idx) - v.AddArg(mem) + v.AddArg2(idx, mem) return true } // match: (MOVHstorezeroidx ptr (SLLconst [1] idx) mem) @@ -12518,9 +11963,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezeroidx ptr (ADD idx idx) mem) @@ -12536,9 +11979,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { } mem := v_2 v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezeroidx (SLLconst [1] idx) ptr mem) @@ -12551,9 +11992,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezeroidx (ADD idx idx) ptr mem) @@ -12569,9 +12008,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVHstorezeroidx2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHstorezeroidx ptr (ADDconst [2] idx) x:(MOVHstorezeroidx ptr idx mem)) @@ -12592,9 +12029,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool { break } v.reset(OpARM64MOVWstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -12614,8 +12049,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx2(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHstorezero) v.AuxInt = c << 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -12643,8 +12077,7 @@ func rewriteValueARM64_OpARM64MOVQstorezero(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -12666,8 +12099,7 @@ func rewriteValueARM64_OpARM64MOVQstorezero(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -12713,8 +12145,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool { v.reset(OpARM64MOVWUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUload [off] {sym} (ADD ptr idx) mem) @@ -12733,9 +12164,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool { break } v.reset(OpARM64MOVWUloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWUload [off] {sym} (ADDshiftLL [2] ptr idx) mem) @@ -12754,9 +12183,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool { break } v.reset(OpARM64MOVWUloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -12778,8 +12205,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool { v.reset(OpARM64MOVWUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUload [off] {sym} ptr (MOVWstorezero [off2] {sym2} ptr2 _)) @@ -12833,8 +12259,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUloadidx (MOVDconst [c]) ptr mem) @@ -12848,8 +12273,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUloadidx ptr (SLLconst [2] idx) mem) @@ -12862,9 +12286,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVWUloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWUloadidx (SLLconst [2] idx) ptr mem) @@ -12877,9 +12299,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVWUloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWUloadidx ptr idx (MOVWstorezeroidx ptr2 idx2 _)) @@ -12918,8 +12338,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx4(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWUload) v.AuxInt = c << 2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUloadidx4 ptr idx (MOVWstorezeroidx4 ptr2 idx2 _)) @@ -13157,8 +12576,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool { v.reset(OpARM64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off] {sym} (ADD ptr idx) mem) @@ -13177,9 +12595,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool { break } v.reset(OpARM64MOVWloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off] {sym} (ADDshiftLL [2] ptr idx) mem) @@ -13198,9 +12614,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool { break } v.reset(OpARM64MOVWloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -13222,8 +12636,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool { v.reset(OpARM64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off] {sym} ptr (MOVWstorezero [off2] {sym2} ptr2 _)) @@ -13264,8 +12677,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx (MOVDconst [c]) ptr mem) @@ -13279,8 +12691,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx ptr (SLLconst [2] idx) mem) @@ -13293,9 +12704,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVWloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx (SLLconst [2] idx) ptr mem) @@ -13308,9 +12717,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVWloadidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx ptr idx (MOVWstorezeroidx ptr2 idx2 _)) @@ -13349,8 +12756,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx4(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWload) v.AuxInt = c << 2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx4 ptr idx (MOVWstorezeroidx4 ptr2 idx2 _)) @@ -13626,9 +13032,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64FMOVSstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -13650,9 +13054,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstore [off] {sym} (ADD ptr idx) val mem) @@ -13672,10 +13074,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off] {sym} (ADDshiftLL [2] ptr idx) val mem) @@ -13695,10 +13094,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { break } v.reset(OpARM64MOVWstoreidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem) @@ -13721,9 +13117,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVDconst [0]) mem) @@ -13739,8 +13133,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVWstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem) @@ -13757,9 +13150,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVWUreg x) mem) @@ -13776,9 +13167,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [i] {s} ptr0 (SRLconst [32] w) x:(MOVWstore [i-4] {s} ptr1 w mem)) @@ -13804,9 +13193,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(ptr0, w, mem) return true } // match: (MOVWstore [4] {s} (ADD ptr0 idx0) (SRLconst [32] w) x:(MOVWstoreidx ptr1 idx1 w mem)) @@ -13841,10 +13228,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { continue } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w, mem) return true } break @@ -13877,13 +13261,10 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { break } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 2 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w, mem) return true } // match: (MOVWstore [i] {s} ptr0 (SRLconst [j] w) x:(MOVWstore [i-4] {s} ptr1 w0:(SRLconst [j-32] w) mem)) @@ -13911,9 +13292,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { v.reset(OpARM64MOVDstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(ptr0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(ptr0, w0, mem) return true } // match: (MOVWstore [4] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVWstoreidx ptr1 idx1 w0:(SRLconst [j-32] w) mem)) @@ -13950,10 +13329,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { continue } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, idx1, w0, mem) return true } break @@ -13988,13 +13364,10 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool { break } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 2 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(ptr1, v0, w0, mem) return true } return false @@ -14016,9 +13389,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVWstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx (MOVDconst [c]) idx val mem) @@ -14033,9 +13404,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARM64MOVWstore) v.AuxInt = c - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(idx, val, mem) return true } // match: (MOVWstoreidx ptr (SLLconst [2] idx) val mem) @@ -14049,10 +13418,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVWstoreidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx (SLLconst [2] idx) ptr val mem) @@ -14066,10 +13432,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { val := v_2 mem := v_3 v.reset(OpARM64MOVWstoreidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx ptr idx (MOVDconst [0]) mem) @@ -14082,9 +13445,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVWstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreidx ptr idx (MOVWreg x) mem) @@ -14098,10 +13459,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVWstoreidx ptr idx (MOVWUreg x) mem) @@ -14115,10 +13473,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVWstoreidx ptr (ADDconst [4] idx) (SRLconst [32] w) x:(MOVWstoreidx ptr idx w mem)) @@ -14143,10 +13498,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool { break } v.reset(OpARM64MOVDstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(ptr, idx, w, mem) return true } return false @@ -14168,9 +13520,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool { mem := v_3 v.reset(OpARM64MOVWstore) v.AuxInt = c << 2 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx4 ptr idx (MOVDconst [0]) mem) @@ -14183,9 +13533,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool { } mem := v_3 v.reset(OpARM64MOVWstorezeroidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreidx4 ptr idx (MOVWreg x) mem) @@ -14199,10 +13547,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVWstoreidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVWstoreidx4 ptr idx (MOVWUreg x) mem) @@ -14216,10 +13561,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool { x := v_2.Args[0] mem := v_3 v.reset(OpARM64MOVWstoreidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } return false @@ -14247,8 +13589,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { v.reset(OpARM64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem) @@ -14270,8 +13611,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { v.reset(OpARM64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstorezero [off] {sym} (ADD ptr idx) mem) @@ -14290,9 +13630,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { break } v.reset(OpARM64MOVWstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstorezero [off] {sym} (ADDshiftLL [2] ptr idx) mem) @@ -14311,9 +13649,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { break } v.reset(OpARM64MOVWstorezeroidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstorezero [i] {s} ptr0 x:(MOVWstorezero [j] {s} ptr1 mem)) @@ -14339,8 +13675,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { v.reset(OpARM64MOVDstorezero) v.AuxInt = min(i, j) v.Aux = s - v.AddArg(ptr0) - v.AddArg(mem) + v.AddArg2(ptr0, mem) return true } // match: (MOVWstorezero [4] {s} (ADD ptr0 idx0) x:(MOVWstorezeroidx ptr1 idx1 mem)) @@ -14371,9 +13706,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { continue } v.reset(OpARM64MOVDstorezeroidx) - v.AddArg(ptr1) - v.AddArg(idx1) - v.AddArg(mem) + v.AddArg3(ptr1, idx1, mem) return true } break @@ -14402,12 +13735,10 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool { break } v.reset(OpARM64MOVDstorezeroidx) - v.AddArg(ptr1) v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type) v0.AuxInt = 2 v0.AddArg(idx1) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr1, v0, mem) return true } return false @@ -14427,8 +13758,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWstorezero) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstorezeroidx (MOVDconst [c]) idx mem) @@ -14442,8 +13772,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWstorezero) v.AuxInt = c - v.AddArg(idx) - v.AddArg(mem) + v.AddArg2(idx, mem) return true } // match: (MOVWstorezeroidx ptr (SLLconst [2] idx) mem) @@ -14456,9 +13785,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool { idx := v_1.Args[0] mem := v_2 v.reset(OpARM64MOVWstorezeroidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstorezeroidx (SLLconst [2] idx) ptr mem) @@ -14471,9 +13798,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool { ptr := v_1 mem := v_2 v.reset(OpARM64MOVWstorezeroidx4) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstorezeroidx ptr (ADDconst [4] idx) x:(MOVWstorezeroidx ptr idx mem)) @@ -14494,9 +13819,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool { break } v.reset(OpARM64MOVDstorezeroidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -14516,8 +13839,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx4(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWstorezero) v.AuxInt = c << 2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -14536,8 +13858,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a _ (MOVDconst [0])) @@ -14561,8 +13882,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14580,8 +13900,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14598,12 +13917,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14620,12 +13937,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14643,12 +13958,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14666,12 +13979,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14689,12 +14000,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a x (MOVDconst [c])) @@ -14712,12 +14021,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [-1]) x) @@ -14729,8 +14036,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } x := v_2 v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a (MOVDconst [0]) _) @@ -14754,8 +14060,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } x := v_2 v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14773,8 +14078,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14791,12 +14095,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14813,12 +14115,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14836,12 +14136,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14859,12 +14157,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14882,12 +14178,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB a (MOVDconst [c]) x) @@ -14905,12 +14199,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUB (MOVDconst [c]) x y) @@ -14925,8 +14217,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool { v.reset(OpARM64ADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARM64MNEG, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14968,8 +14259,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a _ (MOVDconst [c])) @@ -15003,8 +14293,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15022,8 +14311,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15040,12 +14328,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15062,12 +14348,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15085,12 +14369,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15108,12 +14390,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15131,12 +14411,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a x (MOVDconst [c])) @@ -15154,12 +14432,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15176,8 +14452,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a (MOVDconst [c]) _) @@ -15211,8 +14486,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15230,8 +14504,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15248,12 +14521,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64SUB) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15270,12 +14541,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { break } v.reset(OpARM64ADD) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15293,12 +14562,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 3) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15316,12 +14583,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 5) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15339,12 +14604,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c / 7) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW a (MOVDconst [c]) x) @@ -15362,12 +14625,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = log2(c / 9) - v.AddArg(a) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(a, v0) return true } // match: (MSUBW (MOVDconst [c]) x y) @@ -15382,8 +14643,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool { v.reset(OpARM64ADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARM64MNEGW, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15420,8 +14680,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64MNEG) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -15503,8 +14762,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c - 1) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -15526,8 +14784,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { v.AuxInt = log2(c + 1) v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -15549,8 +14806,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 1 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -15573,8 +14829,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -15599,8 +14854,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { v0.AuxInt = 3 v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -15623,8 +14877,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool { v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -15664,8 +14917,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARM64MNEGW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -15762,8 +15014,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { } v.reset(OpARM64ADDshiftLL) v.AuxInt = log2(c - 1) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -15785,8 +15036,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { v.AuxInt = log2(c + 1) v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -15808,8 +15058,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 1 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -15832,8 +15081,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -15858,8 +15106,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { v0.AuxInt = 3 v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -15882,8 +15129,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool { v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -16037,8 +15283,7 @@ func rewriteValueARM64_OpARM64NEG(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64MNEG) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (NEG (MULW x y)) @@ -16050,8 +15295,7 @@ func rewriteValueARM64_OpARM64NEG(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARM64MNEGW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (NEG (MOVDconst [c])) @@ -16277,8 +15521,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } y := v_1.Args[0] v.reset(OpARM64ORN) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -16300,8 +15543,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } v.reset(OpARM64ORshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -16323,8 +15565,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } v.reset(OpARM64ORshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -16346,8 +15587,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } v.reset(OpARM64ORshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -16415,10 +15655,9 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -16486,8 +15725,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -16556,10 +15794,9 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -16631,8 +15868,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -16657,8 +15893,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } v.reset(OpARM64BFI) v.AuxInt = bfc - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } break @@ -16683,8 +15918,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { } v.reset(OpARM64BFXIL) v.AuxInt = bfc - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } break @@ -16777,8 +16011,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v1 := b.NewValue0(x3.Pos, OpOffPtr, p.Type) v1.AuxInt = i0 v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } break @@ -16866,9 +16099,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) - v0.AddArg(idx0) - v0.AddArg(mem) + v0.AddArg3(ptr0, idx0, mem) return true } } @@ -16957,9 +16188,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } break @@ -17136,8 +16365,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v1 := b.NewValue0(x7.Pos, OpOffPtr, p.Type) v1.AuxInt = i0 v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } break @@ -17293,9 +16521,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v0 := b.NewValue0(x6.Pos, OpARM64MOVDloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) - v0.AddArg(idx0) - v0.AddArg(mem) + v0.AddArg3(ptr0, idx0, mem) return true } } @@ -17468,9 +16694,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } break @@ -17564,8 +16788,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v2 := b.NewValue0(x3.Pos, OpOffPtr, p.Type) v2.AuxInt = i0 v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -17655,9 +16878,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(x3.Pos, OpARM64MOVWUloadidx, t) - v1.AddArg(ptr0) - v1.AddArg(idx0) - v1.AddArg(mem) + v1.AddArg3(ptr0, idx0, mem) v0.AddArg(v1) return true } @@ -17748,9 +16969,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t) - v1.AddArg(ptr) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(ptr, idx, mem) v0.AddArg(v1) return true } @@ -17929,8 +17148,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v2 := b.NewValue0(x7.Pos, OpOffPtr, p.Type) v2.AuxInt = i0 v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -18088,9 +17306,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(x7.Pos, OpARM64MOVDloadidx, t) - v1.AddArg(ptr0) - v1.AddArg(idx0) - v1.AddArg(mem) + v1.AddArg3(ptr0, idx0, mem) v0.AddArg(v1) return true } @@ -18265,9 +17481,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t) - v1.AddArg(ptr) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(ptr, idx, mem) v0.AddArg(v1) return true } @@ -18318,8 +17532,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool { } v.reset(OpARM64ORNshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (ORN x0 x1:(SRLconst [c] y)) @@ -18338,8 +17551,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool { } v.reset(OpARM64ORNshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (ORN x0 x1:(SRAconst [c] y)) @@ -18358,8 +17570,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool { } v.reset(OpARM64ORNshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } return false @@ -18657,8 +17868,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { x2 := v_1 v.reset(OpARM64EXTRconst) v.AuxInt = 64 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } // match: ( ORshiftLL <t> [c] (UBFX [bfc] x) x2) @@ -18678,8 +17888,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { } v.reset(OpARM64EXTRWconst) v.AuxInt = 32 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } // match: (ORshiftLL [sc] (UBFX [bfc] x) (SRLconst [sc] y)) @@ -18701,8 +17910,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { } v.reset(OpARM64BFXIL) v.AuxInt = bfc - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (ORshiftLL <t> [8] y0:(MOVDnop x0:(MOVBUload [i0] {s} p mem)) y1:(MOVDnop x1:(MOVBUload [i1] {s} p mem))) @@ -18749,8 +17957,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v1 := b.NewValue0(x1.Pos, OpOffPtr, p.Type) v1.AuxInt = i0 v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (ORshiftLL <t> [8] y0:(MOVDnop x0:(MOVBUloadidx ptr0 idx0 mem)) y1:(MOVDnop x1:(MOVBUload [1] {s} p1:(ADD ptr1 idx1) mem))) @@ -18799,9 +18006,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(x1.Pos, OpARM64MOVHUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) - v0.AddArg(idx0) - v0.AddArg(mem) + v0.AddArg3(ptr0, idx0, mem) return true } break @@ -18845,9 +18050,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64MOVHUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (ORshiftLL <t> [24] o0:(ORshiftLL [16] x0:(MOVHUload [i0] {s} p mem) y1:(MOVDnop x1:(MOVBUload [i2] {s} p mem))) y2:(MOVDnop x2:(MOVBUload [i3] {s} p mem))) @@ -18911,8 +18114,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v1 := b.NewValue0(x2.Pos, OpOffPtr, p.Type) v1.AuxInt = i0 v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (ORshiftLL <t> [24] o0:(ORshiftLL [16] x0:(MOVHUloadidx ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [2] {s} p1:(ADD ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [3] {s} p mem))) @@ -18975,9 +18177,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) - v0.AddArg(idx0) - v0.AddArg(mem) + v0.AddArg3(ptr0, idx0, mem) return true } break @@ -19038,9 +18238,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (ORshiftLL <t> [24] o0:(ORshiftLL [16] x0:(MOVHUloadidx2 ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [2] {s} p1:(ADDshiftLL [1] ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [3] {s} p mem))) @@ -19099,12 +18297,10 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) v1 := b.NewValue0(x2.Pos, OpARM64SLLconst, idx0.Type) v1.AuxInt = 1 v1.AddArg(idx0) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg3(ptr0, v1, mem) return true } // match: (ORshiftLL <t> [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUload [i0] {s} p mem) y1:(MOVDnop x1:(MOVBUload [i4] {s} p mem))) y2:(MOVDnop x2:(MOVBUload [i5] {s} p mem))) y3:(MOVDnop x3:(MOVBUload [i6] {s} p mem))) y4:(MOVDnop x4:(MOVBUload [i7] {s} p mem))) @@ -19210,8 +18406,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v1 := b.NewValue0(x4.Pos, OpOffPtr, p.Type) v1.AuxInt = i0 v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (ORshiftLL <t> [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUloadidx ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [4] {s} p1:(ADD ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [5] {s} p mem))) y3:(MOVDnop x3:(MOVBUload [6] {s} p mem))) y4:(MOVDnop x4:(MOVBUload [7] {s} p mem))) @@ -19308,9 +18503,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(x4.Pos, OpARM64MOVDloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) - v0.AddArg(idx0) - v0.AddArg(mem) + v0.AddArg3(ptr0, idx0, mem) return true } break @@ -19405,12 +18598,10 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(x4.Pos, OpARM64MOVDloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr0) v1 := b.NewValue0(x4.Pos, OpARM64SLLconst, idx0.Type) v1.AuxInt = 2 v1.AddArg(idx0) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg3(ptr0, v1, mem) return true } // match: (ORshiftLL <t> [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUloadidx ptr idx mem) y1:(MOVDnop x1:(MOVBUloadidx ptr (ADDconst [4] idx) mem))) y2:(MOVDnop x2:(MOVBUloadidx ptr (ADDconst [5] idx) mem))) y3:(MOVDnop x3:(MOVBUloadidx ptr (ADDconst [6] idx) mem))) y4:(MOVDnop x4:(MOVBUloadidx ptr (ADDconst [7] idx) mem))) @@ -19511,9 +18702,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t) v.reset(OpCopy) v.AddArg(v0) - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (ORshiftLL <t> [8] y0:(MOVDnop x0:(MOVBUload [i1] {s} p mem)) y1:(MOVDnop x1:(MOVBUload [i0] {s} p mem))) @@ -19559,8 +18748,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v1 := b.NewValue0(x1.Pos, OpARM64MOVHUload, t) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -19611,9 +18799,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(x0.Pos, OpARM64MOVHUloadidx, t) - v1.AddArg(ptr0) - v1.AddArg(idx0) - v1.AddArg(mem) + v1.AddArg3(ptr0, idx0, mem) v0.AddArg(v1) return true } @@ -19659,9 +18845,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVHUloadidx, t) - v1.AddArg(ptr) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(ptr, idx, mem) v0.AddArg(v1) return true } @@ -19731,8 +18915,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v2 := b.NewValue0(x2.Pos, OpOffPtr, p.Type) v2.AuxInt = i0 v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -19801,9 +18984,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(x1.Pos, OpARM64MOVWUloadidx, t) - v1.AddArg(ptr0) - v1.AddArg(idx0) - v1.AddArg(mem) + v1.AddArg3(ptr0, idx0, mem) v0.AddArg(v1) return true } @@ -19870,9 +19051,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t) - v1.AddArg(ptr) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(ptr, idx, mem) v0.AddArg(v1) return true } @@ -19984,8 +19163,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v2 := b.NewValue0(x4.Pos, OpOffPtr, p.Type) v2.AuxInt = i0 v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -20088,9 +19266,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(x3.Pos, OpARM64MOVDloadidx, t) - v1.AddArg(ptr0) - v1.AddArg(idx0) - v1.AddArg(mem) + v1.AddArg3(ptr0, idx0, mem) v0.AddArg(v1) return true } @@ -20199,9 +19375,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool { v.reset(OpCopy) v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t) - v1.AddArg(ptr) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(ptr, idx, mem) v0.AddArg(v1) return true } @@ -20371,8 +19545,7 @@ func rewriteValueARM64_OpARM64ORshiftRL(v *Value) bool { } v.reset(OpARM64BFI) v.AuxInt = armBFAuxInt(lc-rc, 64-lc) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ORshiftRL [rc] (ANDconst [ac] y) (SLLconst [lc] x)) @@ -20395,8 +19568,7 @@ func rewriteValueARM64_OpARM64ORshiftRL(v *Value) bool { } v.reset(OpARM64BFXIL) v.AuxInt = armBFAuxInt(rc-lc, 64-rc) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -20465,9 +19637,7 @@ func rewriteValueARM64_OpARM64SBCSflags(v *Value) bool { } bo := v_2_0_0_0.Args[0] v.reset(OpARM64SBCSflags) - v.AddArg(x) - v.AddArg(y) - v.AddArg(bo) + v.AddArg3(x, y, bo) return true } // match: (SBCSflags x y (Select1 <types.TypeFlags> (NEGSflags (MOVDconst [0])))) @@ -20487,8 +19657,7 @@ func rewriteValueARM64_OpARM64SBCSflags(v *Value) bool { break } v.reset(OpARM64SUBSflags) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -21043,10 +20212,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool { v.reset(OpARM64STP) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val1) - v.AddArg(val2) - v.AddArg(mem) + v.AddArg4(ptr, val1, val2, mem) return true } // match: (STP [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val1 val2 mem) @@ -21070,10 +20236,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool { v.reset(OpARM64STP) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(val1) - v.AddArg(val2) - v.AddArg(mem) + v.AddArg4(ptr, val1, val2, mem) return true } // match: (STP [off] {sym} ptr (MOVDconst [0]) (MOVDconst [0]) mem) @@ -21089,8 +20252,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool { v.reset(OpARM64MOVQstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -21127,9 +20289,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { break } v.reset(OpARM64MSUB) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUB a l:(MNEG x y)) @@ -21147,9 +20307,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { break } v.reset(OpARM64MADD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUB a l:(MULW x y)) @@ -21167,9 +20325,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { break } v.reset(OpARM64MSUBW) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUB a l:(MNEGW x y)) @@ -21187,9 +20343,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { break } v.reset(OpARM64MADDW) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUB x x) @@ -21214,10 +20368,8 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { y := v_1.Args[0] v.reset(OpARM64SUB) v0 := b.NewValue0(v.Pos, OpARM64ADD, v.Type) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(y) + v0.AddArg2(x, z) + v.AddArg2(v0, y) return true } // match: (SUB (SUB x y) z) @@ -21230,11 +20382,9 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { x := v_0.Args[0] z := v_1 v.reset(OpARM64SUB) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64ADD, y.Type) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } // match: (SUB x0 x1:(SLLconst [c] y)) @@ -21253,8 +20403,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { } v.reset(OpARM64SUBshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (SUB x0 x1:(SRLconst [c] y)) @@ -21273,8 +20422,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { } v.reset(OpARM64SUBshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } // match: (SUB x0 x1:(SRAconst [c] y)) @@ -21293,8 +20441,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { } v.reset(OpARM64SUBshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } return false @@ -21499,8 +20646,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool { } v.reset(OpARM64TSTshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -21522,8 +20668,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool { } v.reset(OpARM64TSTshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -21545,8 +20690,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool { } v.reset(OpARM64TSTshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -21999,12 +21143,9 @@ func rewriteValueARM64_OpARM64UMOD(v *Value) bool { y := v_1 v.reset(OpARM64MSUB) v.Type = typ.UInt64 - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpARM64UDIV, typ.UInt64) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) + v.AddArg3(x, y, v0) return true } // match: (UMOD _ (MOVDconst [1])) @@ -22066,12 +21207,9 @@ func rewriteValueARM64_OpARM64UMODW(v *Value) bool { y := v_1 v.reset(OpARM64MSUBW) v.Type = typ.UInt32 - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpARM64UDIVW, typ.UInt32) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) + v.AddArg3(x, y, v0) return true } // match: (UMODW _ (MOVDconst [c])) @@ -22165,8 +21303,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { } y := v_1.Args[0] v.reset(OpARM64EON) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -22188,8 +21325,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { } v.reset(OpARM64XORshiftLL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -22211,8 +21347,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { } v.reset(OpARM64XORshiftRL) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -22234,8 +21369,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { } v.reset(OpARM64XORshiftRA) v.AuxInt = c - v.AddArg(x0) - v.AddArg(y) + v.AddArg2(x0, y) return true } break @@ -22303,10 +21437,9 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -22374,8 +21507,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { continue } v.reset(OpARM64ROR) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -22444,10 +21576,9 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -22519,8 +21650,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool { continue } v.reset(OpARM64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -22693,8 +21823,7 @@ func rewriteValueARM64_OpARM64XORshiftLL(v *Value) bool { x2 := v_1 v.reset(OpARM64EXTRconst) v.AuxInt = 64 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } // match: (XORshiftLL <t> [c] (UBFX [bfc] x) x2) @@ -22714,8 +21843,7 @@ func rewriteValueARM64_OpARM64XORshiftLL(v *Value) bool { } v.reset(OpARM64EXTRWconst) v.AuxInt = 32 - c - v.AddArg(x2) - v.AddArg(x) + v.AddArg2(x2, x) return true } return false @@ -22876,9 +22004,7 @@ func rewriteValueARM64_OpAtomicAnd8(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicAnd8, types.NewTuple(typ.UInt8, types.TypeMem)) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -22897,9 +22023,7 @@ func rewriteValueARM64_OpAtomicOr8(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicOr8, types.NewTuple(typ.UInt8, types.TypeMem)) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -22918,11 +22042,9 @@ func rewriteValueARM64_OpAvg64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRLconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpARM64SUB, t) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -22937,10 +22059,9 @@ func rewriteValueARM64_OpBitLen32(v *Value) bool { v.reset(OpARM64SUB) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CLZW, typ.Int) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -22955,10 +22076,9 @@ func rewriteValueARM64_OpBitLen64(v *Value) bool { v.reset(OpARM64SUB) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CLZ, typ.Int) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -23011,9 +22131,7 @@ func rewriteValueARM64_OpCondSelect(v *Value) bool { } v.reset(OpARM64CSEL) v.Aux = boolval.Op - v.AddArg(x) - v.AddArg(y) - v.AddArg(flagArg(boolval)) + v.AddArg3(x, y, flagArg(boolval)) return true } // match: (CondSelect x y boolval) @@ -23028,12 +22146,10 @@ func rewriteValueARM64_OpCondSelect(v *Value) bool { } v.reset(OpARM64CSEL) v.Aux = OpARM64NotEqual - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpARM64CMPWconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(boolval) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } return false @@ -23130,10 +22246,9 @@ func rewriteValueARM64_OpDiv16(v *Value) bool { v.reset(OpARM64DIVW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -23150,10 +22265,9 @@ func rewriteValueARM64_OpDiv16u(v *Value) bool { v.reset(OpARM64UDIVW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -23170,10 +22284,9 @@ func rewriteValueARM64_OpDiv8(v *Value) bool { v.reset(OpARM64DIVW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -23190,10 +22303,9 @@ func rewriteValueARM64_OpDiv8u(v *Value) bool { v.reset(OpARM64UDIVW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -23211,10 +22323,9 @@ func rewriteValueARM64_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23230,8 +22341,7 @@ func rewriteValueARM64_OpEq32(v *Value) bool { y := v_1 v.reset(OpARM64Equal) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23247,8 +22357,7 @@ func rewriteValueARM64_OpEq32F(v *Value) bool { y := v_1 v.reset(OpARM64Equal) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23264,8 +22373,7 @@ func rewriteValueARM64_OpEq64(v *Value) bool { y := v_1 v.reset(OpARM64Equal) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23281,8 +22389,7 @@ func rewriteValueARM64_OpEq64F(v *Value) bool { y := v_1 v.reset(OpARM64Equal) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23301,10 +22408,9 @@ func rewriteValueARM64_OpEq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23322,11 +22428,9 @@ func rewriteValueARM64_OpEqB(v *Value) bool { v.reset(OpARM64XOR) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64XOR, typ.Bool) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -23341,8 +22445,7 @@ func rewriteValueARM64_OpEqPtr(v *Value) bool { y := v_1 v.reset(OpARM64Equal) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23358,9 +22461,7 @@ func rewriteValueARM64_OpFMA(v *Value) bool { y := v_1 z := v_2 v.reset(OpARM64FMADDD) - v.AddArg(z) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(z, x, y) return true } } @@ -23375,8 +22476,7 @@ func rewriteValueARM64_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpARM64GreaterEqualF) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23392,8 +22492,7 @@ func rewriteValueARM64_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpARM64GreaterEqualF) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23409,8 +22508,7 @@ func rewriteValueARM64_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpARM64GreaterThanF) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23426,8 +22524,7 @@ func rewriteValueARM64_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpARM64GreaterThanF) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23445,8 +22542,7 @@ func rewriteValueARM64_OpHmul32(v *Value) bool { v.reset(OpARM64SRAconst) v.AuxInt = 32 v0 := b.NewValue0(v.Pos, OpARM64MULL, typ.Int64) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23464,8 +22560,7 @@ func rewriteValueARM64_OpHmul32u(v *Value) bool { v.reset(OpARM64SRAconst) v.AuxInt = 32 v0 := b.NewValue0(v.Pos, OpARM64UMULL, typ.UInt64) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23481,8 +22576,7 @@ func rewriteValueARM64_OpIsInBounds(v *Value) bool { len := v_1 v.reset(OpARM64LessThanU) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -23513,8 +22607,7 @@ func rewriteValueARM64_OpIsSliceInBounds(v *Value) bool { len := v_1 v.reset(OpARM64LessEqualU) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -23533,10 +22626,9 @@ func rewriteValueARM64_OpLeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23555,10 +22647,9 @@ func rewriteValueARM64_OpLeq16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23574,8 +22665,7 @@ func rewriteValueARM64_OpLeq32(v *Value) bool { y := v_1 v.reset(OpARM64LessEqual) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23591,8 +22681,7 @@ func rewriteValueARM64_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpARM64LessEqualF) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23608,8 +22697,7 @@ func rewriteValueARM64_OpLeq32U(v *Value) bool { y := v_1 v.reset(OpARM64LessEqualU) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23625,8 +22713,7 @@ func rewriteValueARM64_OpLeq64(v *Value) bool { y := v_1 v.reset(OpARM64LessEqual) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23642,8 +22729,7 @@ func rewriteValueARM64_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpARM64LessEqualF) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23659,8 +22745,7 @@ func rewriteValueARM64_OpLeq64U(v *Value) bool { y := v_1 v.reset(OpARM64LessEqualU) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23679,10 +22764,9 @@ func rewriteValueARM64_OpLeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23701,10 +22785,9 @@ func rewriteValueARM64_OpLeq8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23723,10 +22806,9 @@ func rewriteValueARM64_OpLess16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23745,10 +22827,9 @@ func rewriteValueARM64_OpLess16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23764,8 +22845,7 @@ func rewriteValueARM64_OpLess32(v *Value) bool { y := v_1 v.reset(OpARM64LessThan) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23781,8 +22861,7 @@ func rewriteValueARM64_OpLess32F(v *Value) bool { y := v_1 v.reset(OpARM64LessThanF) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23798,8 +22877,7 @@ func rewriteValueARM64_OpLess32U(v *Value) bool { y := v_1 v.reset(OpARM64LessThanU) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23815,8 +22893,7 @@ func rewriteValueARM64_OpLess64(v *Value) bool { y := v_1 v.reset(OpARM64LessThan) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23832,8 +22909,7 @@ func rewriteValueARM64_OpLess64F(v *Value) bool { y := v_1 v.reset(OpARM64LessThanF) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23849,8 +22925,7 @@ func rewriteValueARM64_OpLess64U(v *Value) bool { y := v_1 v.reset(OpARM64LessThanU) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -23869,10 +22944,9 @@ func rewriteValueARM64_OpLess8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23891,10 +22965,9 @@ func rewriteValueARM64_OpLess8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -23913,8 +22986,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -23928,8 +23000,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -23943,8 +23014,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -23958,8 +23028,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -23973,8 +23042,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVHUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -23988,8 +23056,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -24003,8 +23070,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVWUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -24018,8 +23084,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64MOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -24033,8 +23098,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64FMOVSload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load <t> ptr mem) @@ -24048,8 +23112,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool { break } v.reset(OpARM64FMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -24081,20 +23144,17 @@ func rewriteValueARM64_OpLsh16x16(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24112,20 +23172,17 @@ func rewriteValueARM64_OpLsh16x32(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24142,16 +23199,13 @@ func rewriteValueARM64_OpLsh16x64(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -24169,20 +23223,17 @@ func rewriteValueARM64_OpLsh16x8(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24200,20 +23251,17 @@ func rewriteValueARM64_OpLsh32x16(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24231,20 +23279,17 @@ func rewriteValueARM64_OpLsh32x32(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24261,16 +23306,13 @@ func rewriteValueARM64_OpLsh32x64(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -24288,20 +23330,17 @@ func rewriteValueARM64_OpLsh32x8(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24319,20 +23358,17 @@ func rewriteValueARM64_OpLsh64x16(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24350,20 +23386,17 @@ func rewriteValueARM64_OpLsh64x32(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24380,16 +23413,13 @@ func rewriteValueARM64_OpLsh64x64(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -24407,20 +23437,17 @@ func rewriteValueARM64_OpLsh64x8(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24438,20 +23465,17 @@ func rewriteValueARM64_OpLsh8x16(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24469,20 +23493,17 @@ func rewriteValueARM64_OpLsh8x32(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24499,16 +23520,13 @@ func rewriteValueARM64_OpLsh8x64(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -24526,20 +23544,17 @@ func rewriteValueARM64_OpLsh8x8(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -24556,10 +23571,9 @@ func rewriteValueARM64_OpMod16(v *Value) bool { v.reset(OpARM64MODW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -24576,10 +23590,9 @@ func rewriteValueARM64_OpMod16u(v *Value) bool { v.reset(OpARM64UMODW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -24596,10 +23609,9 @@ func rewriteValueARM64_OpMod8(v *Value) bool { v.reset(OpARM64MODW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -24616,10 +23628,9 @@ func rewriteValueARM64_OpMod8u(v *Value) bool { v.reset(OpARM64UMODW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -24652,12 +23663,9 @@ func rewriteValueARM64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpARM64MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8) - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(src, mem) + v.AddArg3(dst, v0, mem) return true } // match: (Move [2] dst src mem) @@ -24670,12 +23678,9 @@ func rewriteValueARM64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpARM64MOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16) - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(src, mem) + v.AddArg3(dst, v0, mem) return true } // match: (Move [4] dst src mem) @@ -24688,12 +23693,9 @@ func rewriteValueARM64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpARM64MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32) - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(src, mem) + v.AddArg3(dst, v0, mem) return true } // match: (Move [8] dst src mem) @@ -24706,12 +23708,9 @@ func rewriteValueARM64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpARM64MOVDstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(src, mem) + v.AddArg3(dst, v0, mem) return true } // match: (Move [3] dst src mem) @@ -24725,20 +23724,14 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v2.AddArg2(src, mem) + v1.AddArg3(dst, v2, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [5] dst src mem) @@ -24752,20 +23745,14 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v2.AddArg2(src, mem) + v1.AddArg3(dst, v2, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [6] dst src mem) @@ -24779,20 +23766,14 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVHstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v2.AddArg2(src, mem) + v1.AddArg3(dst, v2, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [7] dst src mem) @@ -24806,29 +23787,20 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVBstore) v.AuxInt = 6 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8) v0.AuxInt = 6 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32) - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v4.AddArg2(src, mem) + v3.AddArg3(dst, v4, mem) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [12] dst src mem) @@ -24842,20 +23814,14 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVWstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v2.AddArg2(src, mem) + v1.AddArg3(dst, v2, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [16] dst src mem) @@ -24869,20 +23835,14 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v2.AddArg2(src, mem) + v1.AddArg3(dst, v2, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [24] dst src mem) @@ -24896,29 +23856,20 @@ func rewriteValueARM64_OpMove(v *Value) bool { mem := v_2 v.reset(OpARM64MOVDstore) v.AuxInt = 16 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) v0.AuxInt = 16 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) v2.AuxInt = 8 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v4.AddArg2(src, mem) + v3.AddArg3(dst, v4, mem) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [s] dst src mem) @@ -24937,17 +23888,13 @@ func rewriteValueARM64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s - s%8 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s - s%8 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem) v2.AuxInt = s - s%8 - v2.AddArg(dst) - v2.AddArg(src) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg3(dst, src, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -24963,18 +23910,13 @@ func rewriteValueARM64_OpMove(v *Value) bool { } v.reset(OpARM64MOVDstore) v.AuxInt = s - 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64) v0.AuxInt = s - 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARM64DUFFCOPY, types.TypeMem) v1.AuxInt = 8 * (64 - (s-8)/16) - v1.AddArg(dst) - v1.AddArg(src) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, src, mem) + v.AddArg3(dst, v0, v1) return true } // match: (Move [s] dst src mem) @@ -24990,9 +23932,7 @@ func rewriteValueARM64_OpMove(v *Value) bool { } v.reset(OpARM64DUFFCOPY) v.AuxInt = 8 * (64 - s/16) - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Move [s] dst src mem) @@ -25007,13 +23947,10 @@ func rewriteValueARM64_OpMove(v *Value) bool { break } v.reset(OpARM64LoweredMove) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpARM64ADDconst, src.Type) v0.AuxInt = s - 8 v0.AddArg(src) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -25032,10 +23969,9 @@ func rewriteValueARM64_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -25051,8 +23987,7 @@ func rewriteValueARM64_OpNeq32(v *Value) bool { y := v_1 v.reset(OpARM64NotEqual) v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -25068,8 +24003,7 @@ func rewriteValueARM64_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpARM64NotEqual) v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -25085,8 +24019,7 @@ func rewriteValueARM64_OpNeq64(v *Value) bool { y := v_1 v.reset(OpARM64NotEqual) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -25102,8 +24035,7 @@ func rewriteValueARM64_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpARM64NotEqual) v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -25122,10 +24054,9 @@ func rewriteValueARM64_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -25141,8 +24072,7 @@ func rewriteValueARM64_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpARM64NotEqual) v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -25158,8 +24088,7 @@ func rewriteValueARM64_OpNot(v *Value) bool { v.reset(OpARM64XOR) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -25206,9 +24135,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool { } v.reset(OpARM64LoweredPanicBoundsA) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } // match: (PanicBounds [kind] x y mem) @@ -25224,9 +24151,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool { } v.reset(OpARM64LoweredPanicBoundsB) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } // match: (PanicBounds [kind] x y mem) @@ -25242,9 +24167,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool { } v.reset(OpARM64LoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -25332,17 +24255,14 @@ func rewriteValueARM64_OpRotateLeft16(v *Value) bool { c := v_1.AuxInt v.reset(OpOr16) v0 := b.NewValue0(v.Pos, OpLsh16x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = c & 15 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -25357,10 +24277,9 @@ func rewriteValueARM64_OpRotateLeft32(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64RORW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -25374,10 +24293,9 @@ func rewriteValueARM64_OpRotateLeft64(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64ROR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -25397,17 +24315,14 @@ func rewriteValueARM64_OpRotateLeft8(v *Value) bool { c := v_1.AuxInt v.reset(OpOr8) v0 := b.NewValue0(v.Pos, OpLsh8x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = c & 7 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -25428,20 +24343,17 @@ func rewriteValueARM64_OpRsh16Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25461,20 +24373,17 @@ func rewriteValueARM64_OpRsh16Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25494,16 +24403,13 @@ func rewriteValueARM64_OpRsh16Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -25523,20 +24429,17 @@ func rewriteValueARM64_OpRsh16Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25553,22 +24456,19 @@ func rewriteValueARM64_OpRsh16x16(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25585,22 +24485,19 @@ func rewriteValueARM64_OpRsh16x32(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25617,18 +24514,15 @@ func rewriteValueARM64_OpRsh16x64(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -25645,22 +24539,19 @@ func rewriteValueARM64_OpRsh16x8(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25680,20 +24571,17 @@ func rewriteValueARM64_OpRsh32Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25713,20 +24601,17 @@ func rewriteValueARM64_OpRsh32Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25746,16 +24631,13 @@ func rewriteValueARM64_OpRsh32Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -25775,20 +24657,17 @@ func rewriteValueARM64_OpRsh32Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -25805,22 +24684,19 @@ func rewriteValueARM64_OpRsh32x16(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25837,22 +24713,19 @@ func rewriteValueARM64_OpRsh32x32(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25869,18 +24742,15 @@ func rewriteValueARM64_OpRsh32x64(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -25897,22 +24767,19 @@ func rewriteValueARM64_OpRsh32x8(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -25930,20 +24797,17 @@ func rewriteValueARM64_OpRsh64Ux16(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SRL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -25961,20 +24825,17 @@ func rewriteValueARM64_OpRsh64Ux32(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SRL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -25991,16 +24852,13 @@ func rewriteValueARM64_OpRsh64Ux64(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -26018,20 +24876,17 @@ func rewriteValueARM64_OpRsh64Ux8(v *Value) bool { v.reset(OpARM64CSEL) v.Aux = OpARM64LessThanU v0 := b.NewValue0(v.Pos, OpARM64SRL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -26046,22 +24901,19 @@ func rewriteValueARM64_OpRsh64x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64SRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v0.Aux = OpARM64LessThanU v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) + v.AddArg2(x, v0) return true } } @@ -26076,22 +24928,19 @@ func rewriteValueARM64_OpRsh64x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64SRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v0.Aux = OpARM64LessThanU v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) + v.AddArg2(x, v0) return true } } @@ -26105,18 +24954,15 @@ func rewriteValueARM64_OpRsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64SRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v0.Aux = OpARM64LessThanU - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpConst64, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -26131,22 +24977,19 @@ func rewriteValueARM64_OpRsh64x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARM64SRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v0.Aux = OpARM64LessThanU v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) + v.AddArg2(x, v0) return true } } @@ -26166,20 +25009,17 @@ func rewriteValueARM64_OpRsh8Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -26199,20 +25039,17 @@ func rewriteValueARM64_OpRsh8Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -26232,16 +25069,13 @@ func rewriteValueARM64_OpRsh8Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -26261,20 +25095,17 @@ func rewriteValueARM64_OpRsh8Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64SRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -26291,22 +25122,19 @@ func rewriteValueARM64_OpRsh8x16(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -26323,22 +25151,19 @@ func rewriteValueARM64_OpRsh8x32(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -26355,18 +25180,15 @@ func rewriteValueARM64_OpRsh8x64(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpConst64, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -26383,22 +25205,19 @@ func rewriteValueARM64_OpRsh8x8(v *Value) bool { v.reset(OpARM64SRA) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type) v1.Aux = OpARM64LessThanU v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpConst64, y.Type) v3.AuxInt = 63 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags) v4.AuxInt = 64 v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -26418,14 +25237,12 @@ func rewriteValueARM64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpARM64ADCSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) - v0.AddArg(x) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v2 := b.NewValue0(v.Pos, OpARM64ADDSconstflags, types.NewTuple(typ.UInt64, types.TypeFlags)) v2.AuxInt = -1 v2.AddArg(c) v1.AddArg(v2) - v0.AddArg(v1) + v0.AddArg3(x, y, v1) v.AddArg(v0) return true } @@ -26441,13 +25258,11 @@ func rewriteValueARM64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpARM64SBCSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) - v0.AddArg(x) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v2 := b.NewValue0(v.Pos, OpARM64NEGSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) v2.AddArg(bo) v1.AddArg(v2) - v0.AddArg(v1) + v0.AddArg3(x, y, v1) v.AddArg(v0) return true } @@ -26470,14 +25285,12 @@ func rewriteValueARM64_OpSelect1(v *Value) bool { v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpARM64ADCSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) - v1.AddArg(x) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpARM64ADDSconstflags, types.NewTuple(typ.UInt64, types.TypeFlags)) v3.AuxInt = -1 v3.AddArg(c) v2.AddArg(v3) - v1.AddArg(v2) + v1.AddArg3(x, y, v2) v0.AddArg(v1) v.AddArg(v0) return true @@ -26496,13 +25309,11 @@ func rewriteValueARM64_OpSelect1(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARM64NGCzerocarry, typ.UInt64) v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v2 := b.NewValue0(v.Pos, OpARM64SBCSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) - v2.AddArg(x) - v2.AddArg(y) v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v4 := b.NewValue0(v.Pos, OpARM64NEGSflags, types.NewTuple(typ.UInt64, types.TypeFlags)) v4.AddArg(bo) v3.AddArg(v4) - v2.AddArg(v3) + v2.AddArg3(x, y, v3) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -26542,9 +25353,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -26559,9 +25368,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64MOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -26576,9 +25383,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -26593,9 +25398,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64MOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -26610,9 +25413,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64FMOVSstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -26627,9 +25428,7 @@ func rewriteValueARM64_OpStore(v *Value) bool { break } v.reset(OpARM64FMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -26661,11 +25460,9 @@ func rewriteValueARM64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpARM64MOVBstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] ptr mem) @@ -26677,11 +25474,9 @@ func rewriteValueARM64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpARM64MOVHstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [4] ptr mem) @@ -26693,11 +25488,9 @@ func rewriteValueARM64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpARM64MOVWstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [8] ptr mem) @@ -26709,11 +25502,9 @@ func rewriteValueARM64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpARM64MOVDstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [3] ptr mem) @@ -26726,17 +25517,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [5] ptr mem) @@ -26749,17 +25536,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [6] ptr mem) @@ -26772,17 +25555,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVHstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [7] ptr mem) @@ -26795,24 +25574,18 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 6 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(ptr, v4, mem) + v1.AddArg3(ptr, v2, v3) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [9] ptr mem) @@ -26825,17 +25598,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [10] ptr mem) @@ -26848,17 +25617,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVHstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [11] ptr mem) @@ -26871,24 +25636,18 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 10 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(ptr, v4, mem) + v1.AddArg3(ptr, v2, v3) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [12] ptr mem) @@ -26901,17 +25660,13 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVWstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [13] ptr mem) @@ -26924,24 +25679,18 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 12 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(ptr, v4, mem) + v1.AddArg3(ptr, v2, v3) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [14] ptr mem) @@ -26954,24 +25703,18 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVHstore) v.AuxInt = 12 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(ptr, v4, mem) + v1.AddArg3(ptr, v2, v3) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [15] ptr mem) @@ -26984,31 +25727,23 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64MOVBstore) v.AuxInt = 14 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem) v1.AuxInt = 12 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem) v3.AuxInt = 8 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem) - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v6.AuxInt = 0 - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg3(ptr, v6, mem) + v3.AddArg3(ptr, v4, v5) + v1.AddArg3(ptr, v2, v3) + v.AddArg3(ptr, v0, v1) return true } // match: (Zero [16] ptr mem) @@ -27021,14 +25756,11 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64STP) v.AuxInt = 0 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) - v.AddArg(mem) + v.AddArg4(ptr, v0, v1, mem) return true } // match: (Zero [32] ptr mem) @@ -27041,24 +25773,18 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64STP) v.AuxInt = 16 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v2.AuxInt = 0 - v2.AddArg(ptr) v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v3.AuxInt = 0 - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v2.AddArg(v4) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg4(ptr, v3, v4, mem) + v.AddArg4(ptr, v0, v1, v2) return true } // match: (Zero [48] ptr mem) @@ -27071,34 +25797,25 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64STP) v.AuxInt = 32 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v2.AuxInt = 16 - v2.AddArg(ptr) v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v3.AuxInt = 0 - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v2.AddArg(v4) v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v6.AuxInt = 0 - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v7.AuxInt = 0 - v5.AddArg(v7) - v5.AddArg(mem) - v2.AddArg(v5) - v.AddArg(v2) + v5.AddArg4(ptr, v6, v7, mem) + v2.AddArg4(ptr, v3, v4, v5) + v.AddArg4(ptr, v0, v1, v2) return true } // match: (Zero [64] ptr mem) @@ -27111,44 +25828,32 @@ func rewriteValueARM64_OpZero(v *Value) bool { mem := v_1 v.reset(OpARM64STP) v.AuxInt = 48 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v2.AuxInt = 32 - v2.AddArg(ptr) v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v3.AuxInt = 0 - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v4.AuxInt = 0 - v2.AddArg(v4) v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v5.AuxInt = 16 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v6.AuxInt = 0 - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v7.AuxInt = 0 - v5.AddArg(v7) v8 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem) v8.AuxInt = 0 - v8.AddArg(ptr) v9 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v9.AuxInt = 0 - v8.AddArg(v9) v10 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64) v10.AuxInt = 0 - v8.AddArg(v10) - v8.AddArg(mem) - v5.AddArg(v8) - v2.AddArg(v5) - v.AddArg(v2) + v8.AddArg4(ptr, v9, v10, mem) + v5.AddArg4(ptr, v6, v7, v8) + v2.AddArg4(ptr, v3, v4, v5) + v.AddArg4(ptr, v0, v1, v2) return true } // match: (Zero [s] ptr mem) @@ -27166,12 +25871,10 @@ func rewriteValueARM64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, ptr.Type) v0.AuxInt = s - 8 v0.AddArg(ptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v1.AuxInt = s - s%16 - v1.AddArg(ptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(ptr, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [s] ptr mem) @@ -27189,12 +25892,10 @@ func rewriteValueARM64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, ptr.Type) v0.AuxInt = s - 16 v0.AddArg(ptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v1.AuxInt = s - s%16 - v1.AddArg(ptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(ptr, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [s] ptr mem) @@ -27209,8 +25910,7 @@ func rewriteValueARM64_OpZero(v *Value) bool { } v.reset(OpARM64DUFFZERO) v.AuxInt = 4 * (64 - s/16) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Zero [s] ptr mem) @@ -27224,12 +25924,10 @@ func rewriteValueARM64_OpZero(v *Value) bool { break } v.reset(OpARM64LoweredZero) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARM64ADDconst, ptr.Type) v0.AuxInt = s - 16 v0.AddArg(ptr) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -27284,8 +25982,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27314,8 +26011,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27416,8 +26112,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27446,8 +26141,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27470,8 +26164,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27492,8 +26185,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27541,11 +26233,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -27569,11 +26259,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -27597,11 +26285,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -27625,11 +26311,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64EQ) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -27794,8 +26478,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27824,8 +26507,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27926,8 +26608,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27956,8 +26637,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -27980,8 +26660,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28002,8 +26681,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28027,11 +26705,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28055,11 +26731,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28083,11 +26757,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28111,11 +26783,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GE) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28234,8 +26904,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28264,8 +26933,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28366,8 +27034,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28396,8 +27063,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28420,8 +27086,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28442,8 +27107,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28467,11 +27131,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28495,11 +27157,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28523,11 +27183,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28551,11 +27209,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64GT) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -28784,8 +27440,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28814,8 +27469,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28916,8 +27570,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28946,8 +27599,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28970,8 +27622,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -28992,8 +27643,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29017,11 +27667,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29045,11 +27693,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29073,11 +27719,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29101,11 +27745,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LE) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29198,8 +27840,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29228,8 +27869,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29330,8 +27970,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29360,8 +27999,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29384,8 +28022,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29406,8 +28043,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29431,11 +28067,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29459,11 +28093,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29487,11 +28119,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29515,11 +28145,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64LT) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29639,8 +28267,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29669,8 +28296,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29771,8 +28397,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29801,8 +28426,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29825,8 +28449,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29847,8 +28470,7 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -29896,11 +28518,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29924,11 +28544,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29952,11 +28570,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -29980,11 +28596,9 @@ func rewriteBlockARM64(b *Block) bool { } b.Reset(BlockARM64NE) v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } |