From 7913f7dfcf2c281b99c6ddd278aa851de47ada9d Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Wed, 26 Feb 2020 11:29:34 -0800 Subject: [PATCH] cmd/compile: add specialized AddArgN functions for rewrite rules MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 TryBot-Result: Gobot Gobot Reviewed-by: Keith Randall --- src/cmd/compile/internal/ssa/gen/rulegen.go | 16 +- src/cmd/compile/internal/ssa/rewrite386.go | 2215 ++------ .../internal/ssa/rewrite386splitload.go | 27 +- src/cmd/compile/internal/ssa/rewriteAMD64.go | 4915 +++++------------ .../internal/ssa/rewriteAMD64splitload.go | 36 +- src/cmd/compile/internal/ssa/rewriteARM.go | 2751 +++------ src/cmd/compile/internal/ssa/rewriteARM64.go | 3248 ++++------- src/cmd/compile/internal/ssa/rewriteMIPS.go | 1060 ++-- src/cmd/compile/internal/ssa/rewriteMIPS64.go | 1381 ++--- src/cmd/compile/internal/ssa/rewritePPC64.go | 1787 ++---- .../compile/internal/ssa/rewriteRISCV64.go | 676 +-- src/cmd/compile/internal/ssa/rewriteS390X.go | 2567 +++------ src/cmd/compile/internal/ssa/rewriteWasm.go | 735 +-- src/cmd/compile/internal/ssa/rewritedec.go | 93 +- src/cmd/compile/internal/ssa/rewritedec64.go | 621 +-- .../compile/internal/ssa/rewritedecArgs.go | 28 +- .../compile/internal/ssa/rewritegeneric.go | 2027 +++---- src/cmd/compile/internal/ssa/value.go | 52 + 18 files changed, 7176 insertions(+), 17059 deletions(-) diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go index 2a10f2fa25..0fba0546e7 100644 --- a/src/cmd/compile/internal/ssa/gen/rulegen.go +++ b/src/cmd/compile/internal/ssa/gen/rulegen.go @@ -1134,11 +1134,21 @@ func genResult0(rr *RuleRewrite, arch arch, result string, top, move bool, pos s if aux != "" { rr.add(stmtf("%s.Aux = %s", v, aux)) } - for _, arg := range args { + all := new(strings.Builder) + for i, arg := range args { x := genResult0(rr, arch, arg, false, move, pos) - rr.add(stmtf("%s.AddArg(%s)", v, x)) + if i > 0 { + all.WriteString(", ") + } + all.WriteString(x) + } + switch len(args) { + case 0: + case 1: + rr.add(stmtf("%s.AddArg(%s)", v, all.String())) + default: + rr.add(stmtf("%s.AddArg%d(%s)", v, len(args), all.String())) } - return v } diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go index 4efb2d4f74..7a75b7121f 100644 --- a/src/cmd/compile/internal/ssa/rewrite386.go +++ b/src/cmd/compile/internal/ssa/rewrite386.go @@ -791,8 +791,7 @@ func rewriteValue386_Op386ADCL(v *Value) bool { f := v_2 v.reset(Op386ADCLconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(f) + v.AddArg2(x, f) return true } break @@ -902,8 +901,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386LEAL8) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -918,8 +916,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386LEAL4) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -934,8 +931,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386LEAL2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -953,8 +949,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { continue } v.reset(Op386LEAL2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -976,8 +971,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { } y := v_1_1 v.reset(Op386LEAL2) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -995,8 +989,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { y := v_1 v.reset(Op386LEAL1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1019,8 +1012,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1045,9 +1037,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { v.reset(Op386ADDLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -1073,10 +1063,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { v.reset(Op386ADDLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } break @@ -1091,8 +1078,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386SUBL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1133,8 +1119,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool { x := v_0.Args[0] v.reset(Op386LEAL1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL [d] {s} x)) @@ -1175,8 +1160,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL2 [d] {s} x y)) @@ -1197,8 +1181,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL4 [d] {s} x y)) @@ -1219,8 +1202,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL8 [d] {s} x y)) @@ -1241,8 +1223,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] x) @@ -1310,8 +1291,7 @@ func rewriteValue386_Op386ADDLconstmodify(v *Value) bool { v.reset(Op386ADDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ADDLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -1333,8 +1313,7 @@ func rewriteValue386_Op386ADDLconstmodify(v *Value) bool { v.reset(Op386ADDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -1364,9 +1343,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ADDLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem) @@ -1388,9 +1365,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2 * 4) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ADDLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem) @@ -1413,9 +1388,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } return false @@ -1445,9 +1418,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool { v.reset(Op386ADDLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -1470,9 +1441,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool { v.reset(Op386ADDLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -1496,10 +1465,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool { v.reset(Op386ADDLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -1531,10 +1497,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool { v.reset(Op386ADDLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ADDLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -1557,10 +1520,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool { v.reset(Op386ADDLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ADDLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -1584,10 +1544,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool { v.reset(Op386ADDLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -1617,9 +1574,7 @@ func rewriteValue386_Op386ADDLmodify(v *Value) bool { v.reset(Op386ADDLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ADDLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -1642,9 +1597,7 @@ func rewriteValue386_Op386ADDLmodify(v *Value) bool { v.reset(Op386ADDLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -1676,10 +1629,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool { v.reset(Op386ADDLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ADDLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem) @@ -1702,10 +1652,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool { v.reset(Op386ADDLmodifyidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ADDLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem) @@ -1729,10 +1676,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool { v.reset(Op386ADDLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ADDLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem) @@ -1754,9 +1698,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -1786,9 +1728,7 @@ func rewriteValue386_Op386ADDSD(v *Value) bool { v.reset(Op386ADDSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -1820,9 +1760,7 @@ func rewriteValue386_Op386ADDSDload(v *Value) bool { v.reset(Op386ADDSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -1845,9 +1783,7 @@ func rewriteValue386_Op386ADDSDload(v *Value) bool { v.reset(Op386ADDSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -1877,9 +1813,7 @@ func rewriteValue386_Op386ADDSS(v *Value) bool { v.reset(Op386ADDSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -1911,9 +1845,7 @@ func rewriteValue386_Op386ADDSSload(v *Value) bool { v.reset(Op386ADDSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -1936,9 +1868,7 @@ func rewriteValue386_Op386ADDSSload(v *Value) bool { v.reset(Op386ADDSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -1982,9 +1912,7 @@ func rewriteValue386_Op386ANDL(v *Value) bool { v.reset(Op386ANDLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -2010,10 +1938,7 @@ func rewriteValue386_Op386ANDL(v *Value) bool { v.reset(Op386ANDLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } break @@ -2111,8 +2036,7 @@ func rewriteValue386_Op386ANDLconstmodify(v *Value) bool { v.reset(Op386ANDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ANDLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -2134,8 +2058,7 @@ func rewriteValue386_Op386ANDLconstmodify(v *Value) bool { v.reset(Op386ANDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2165,9 +2088,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool { v.reset(Op386ANDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ANDLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem) @@ -2189,9 +2110,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool { v.reset(Op386ANDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2 * 4) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ANDLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem) @@ -2214,9 +2133,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool { v.reset(Op386ANDLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } return false @@ -2246,9 +2163,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool { v.reset(Op386ANDLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -2271,9 +2186,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool { v.reset(Op386ANDLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -2297,10 +2210,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool { v.reset(Op386ANDLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -2332,10 +2242,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool { v.reset(Op386ANDLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ANDLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -2358,10 +2265,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool { v.reset(Op386ANDLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ANDLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -2385,10 +2289,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool { v.reset(Op386ANDLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -2418,9 +2319,7 @@ func rewriteValue386_Op386ANDLmodify(v *Value) bool { v.reset(Op386ANDLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ANDLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -2443,9 +2342,7 @@ func rewriteValue386_Op386ANDLmodify(v *Value) bool { v.reset(Op386ANDLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2477,10 +2374,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool { v.reset(Op386ANDLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ANDLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem) @@ -2503,10 +2397,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool { v.reset(Op386ANDLmodifyidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ANDLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem) @@ -2530,10 +2421,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool { v.reset(Op386ANDLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ANDLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem) @@ -2555,9 +2443,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool { v.reset(Op386ANDLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -2605,8 +2491,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool { } v.reset(Op386InvertFlags) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -2629,9 +2514,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool { v.reset(Op386CMPBload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPB x l:(MOVBload {sym} [off] ptr mem)) @@ -2654,9 +2537,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool { v0 := b.NewValue0(l.Pos, Op386CMPBload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -2772,8 +2653,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool { break } v.reset(Op386TESTB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPBconst l:(ANDLconst [c] x) [0]) @@ -2805,8 +2685,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool { } x := v_0 v.reset(Op386TESTB) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPBconst l:(MOVBload {sym} [off] ptr mem) [c]) @@ -2831,8 +2710,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -2859,8 +2737,7 @@ func rewriteValue386_Op386CMPBload(v *Value) bool { v.reset(Op386CMPBconstload) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2908,8 +2785,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool { } v.reset(Op386InvertFlags) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -2932,9 +2808,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool { v.reset(Op386CMPLload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPL x l:(MOVLload {sym} [off] ptr mem)) @@ -2957,9 +2831,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool { v0 := b.NewValue0(l.Pos, Op386CMPLload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -3090,8 +2962,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool { break } v.reset(Op386TESTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPLconst l:(ANDLconst [c] x) [0]) @@ -3123,8 +2994,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool { } x := v_0 v.reset(Op386TESTL) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPLconst l:(MOVLload {sym} [off] ptr mem) [c]) @@ -3149,8 +3019,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -3177,8 +3046,7 @@ func rewriteValue386_Op386CMPLload(v *Value) bool { v.reset(Op386CMPLconstload) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3226,8 +3094,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool { } v.reset(Op386InvertFlags) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -3250,9 +3117,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool { v.reset(Op386CMPWload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPW x l:(MOVWload {sym} [off] ptr mem)) @@ -3275,9 +3140,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool { v0 := b.NewValue0(l.Pos, Op386CMPWload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -3393,8 +3256,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool { break } v.reset(Op386TESTW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWconst l:(ANDLconst [c] x) [0]) @@ -3426,8 +3288,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool { } x := v_0 v.reset(Op386TESTW) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPWconst l:(MOVWload {sym} [off] ptr mem) [c]) @@ -3452,8 +3313,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -3480,8 +3340,7 @@ func rewriteValue386_Op386CMPWload(v *Value) bool { v.reset(Op386CMPWconstload) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3510,9 +3369,7 @@ func rewriteValue386_Op386DIVSD(v *Value) bool { v.reset(Op386DIVSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -3542,9 +3399,7 @@ func rewriteValue386_Op386DIVSDload(v *Value) bool { v.reset(Op386DIVSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (DIVSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -3567,9 +3422,7 @@ func rewriteValue386_Op386DIVSDload(v *Value) bool { v.reset(Op386DIVSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -3598,9 +3451,7 @@ func rewriteValue386_Op386DIVSS(v *Value) bool { v.reset(Op386DIVSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -3630,9 +3481,7 @@ func rewriteValue386_Op386DIVSSload(v *Value) bool { v.reset(Op386DIVSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (DIVSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -3655,9 +3504,7 @@ func rewriteValue386_Op386DIVSSload(v *Value) bool { v.reset(Op386DIVSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -3705,8 +3552,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3751,8 +3597,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL [off1] {sym1} (LEAL2 [off2] {sym2} x y)) @@ -3774,8 +3619,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL [off1] {sym1} (LEAL4 [off2] {sym2} x y)) @@ -3797,8 +3641,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL [off1] {sym1} (LEAL8 [off2] {sym2} x y)) @@ -3820,8 +3663,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3848,8 +3690,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3868,8 +3709,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3888,8 +3728,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3908,8 +3747,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3934,8 +3772,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool { v.reset(Op386LEAL1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3963,8 +3800,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (ADDLconst [d] y)) @@ -3985,8 +3821,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = c + 2*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (SHLLconst [1] y)) @@ -4002,8 +3837,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (SHLLconst [2] y)) @@ -4019,8 +3853,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [off1] {sym1} (LEAL [off2] {sym2} x) y) @@ -4042,8 +3875,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool { v.reset(Op386LEAL2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4069,8 +3901,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL4 [c] {s} x (ADDLconst [d] y)) @@ -4091,8 +3922,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = c + 4*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL4 [c] {s} x (SHLLconst [1] y)) @@ -4108,8 +3938,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL4 [off1] {sym1} (LEAL [off2] {sym2} x) y) @@ -4131,8 +3960,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool { v.reset(Op386LEAL4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4158,8 +3986,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL8 [c] {s} x (ADDLconst [d] y)) @@ -4180,8 +4007,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = c + 8*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL8 [off1] {sym1} (LEAL [off2] {sym2} x) y) @@ -4203,8 +4029,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool { v.reset(Op386LEAL8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4233,8 +4058,7 @@ func rewriteValue386_Op386MOVBLSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBLSX (ANDLconst [c] x)) @@ -4302,8 +4126,7 @@ func rewriteValue386_Op386MOVBLSXload(v *Value) bool { v.reset(Op386MOVBLSXload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -4332,8 +4155,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBLZX x:(MOVBloadidx1 [off] {sym} ptr idx mem)) @@ -4358,9 +4180,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVBLZX (ANDLconst [c] x)) @@ -4423,8 +4243,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool { v.reset(Op386MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -4446,8 +4265,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool { v.reset(Op386MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem) @@ -4470,9 +4288,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool { v.reset(Op386MOVBloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBload [off] {sym} (ADDL ptr idx) mem) @@ -4497,9 +4313,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool { v.reset(Op386MOVBloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -4539,9 +4353,7 @@ func rewriteValue386_Op386MOVBloadidx1(v *Value) bool { v.reset(Op386MOVBloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -4562,9 +4374,7 @@ func rewriteValue386_Op386MOVBloadidx1(v *Value) bool { v.reset(Op386MOVBloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -4591,9 +4401,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstore) 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 (MOVBLZX x) mem) @@ -4610,9 +4418,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -4634,9 +4440,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstore) 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} ptr (MOVLconst [c]) mem) @@ -4657,8 +4461,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstoreconst) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -4681,9 +4484,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVBstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem) @@ -4707,10 +4508,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVBstore [off] {sym} (ADDL ptr idx) val mem) @@ -4736,10 +4534,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVBstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -4766,9 +4561,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SHRLconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -4793,9 +4586,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore {s} [i+1] p (SHRWconst [8] w) mem)) @@ -4821,9 +4612,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore {s} [i+1] p (SHRLconst [8] w) mem)) @@ -4849,9 +4638,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SHRLconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRLconst [j-8] w) mem)) @@ -4881,9 +4668,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -4911,8 +4696,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -4934,8 +4718,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem) @@ -4958,9 +4741,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconst [x] {sym} (ADDL ptr idx) mem) @@ -4977,9 +4758,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVBstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem)) @@ -5004,8 +4783,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVBstoreconst [a] {s} p x:(MOVBstoreconst [c] {s} p mem)) @@ -5030,8 +4808,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -5055,9 +4832,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool { v.reset(Op386MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem) @@ -5075,9 +4850,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool { v.reset(Op386MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconstidx1 [c] {s} p i x:(MOVBstoreconstidx1 [a] {s} p i mem)) @@ -5103,9 +4876,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool { v.reset(Op386MOVWstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(i) - v.AddArg(mem) + v.AddArg3(p, i, mem) return true } return false @@ -5132,10 +4903,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVBstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -5157,10 +4925,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVBstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -5192,10 +4957,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -5228,10 +4990,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -5265,10 +5024,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -5302,10 +5058,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -5343,10 +5096,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -5400,8 +5150,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool { v.reset(Op386MOVLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLload [off1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -5423,8 +5172,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool { v.reset(Op386MOVLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVLload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem) @@ -5447,9 +5195,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool { v.reset(Op386MOVLloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLload [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) mem) @@ -5472,9 +5218,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool { v.reset(Op386MOVLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLload [off] {sym} (ADDL ptr idx) mem) @@ -5499,9 +5243,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool { v.reset(Op386MOVLloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -5540,9 +5282,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool { v.reset(Op386MOVLloadidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -5563,9 +5303,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool { v.reset(Op386MOVLloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -5586,9 +5324,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool { v.reset(Op386MOVLloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -5614,9 +5350,7 @@ func rewriteValue386_Op386MOVLloadidx4(v *Value) bool { v.reset(Op386MOVLloadidx4) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -5634,9 +5368,7 @@ func rewriteValue386_Op386MOVLloadidx4(v *Value) bool { v.reset(Op386MOVLloadidx4) v.AuxInt = int64(int32(c + 4*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -5666,9 +5398,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVLstore [off] {sym} ptr (MOVLconst [c]) mem) @@ -5689,8 +5419,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -5713,9 +5442,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem) @@ -5739,10 +5466,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) val mem) @@ -5766,10 +5490,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstoreidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstore [off] {sym} (ADDL ptr idx) val mem) @@ -5795,10 +5516,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -5822,9 +5540,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ADDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ANDLload x [off] {sym} ptr mem) mem) @@ -5846,9 +5562,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ANDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ORLload x [off] {sym} ptr mem) mem) @@ -5870,9 +5584,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(XORLload x [off] {sym} ptr mem) mem) @@ -5894,9 +5606,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386XORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ADDL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -5929,9 +5639,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ADDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -5959,9 +5667,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386SUBLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ANDL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -5994,9 +5700,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ANDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -6031,9 +5735,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -6068,9 +5770,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386XORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -6098,8 +5798,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ADDLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ANDLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem) @@ -6125,8 +5824,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ANDLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ORLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem) @@ -6152,8 +5850,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386ORLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(XORLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem) @@ -6179,8 +5876,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool { v.reset(Op386XORLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -6208,8 +5904,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -6231,8 +5926,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem) @@ -6255,9 +5949,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconst [x] {sym1} (LEAL4 [off] {sym2} ptr idx) mem) @@ -6280,9 +5972,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconst [x] {sym} (ADDL ptr idx) mem) @@ -6299,9 +5989,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6324,9 +6012,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool { v.reset(Op386MOVLstoreconstidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconstidx1 [x] {sym} (ADDLconst [c] ptr) idx mem) @@ -6344,9 +6030,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem) @@ -6364,9 +6048,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6390,9 +6072,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4(v *Value) bool { v.reset(Op386MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconstidx4 [x] {sym} ptr (ADDLconst [c] idx) mem) @@ -6410,9 +6090,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4(v *Value) bool { v.reset(Op386MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(4 * c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6438,10 +6116,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool { v.reset(Op386MOVLstoreidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -6463,10 +6138,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -6488,10 +6160,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -6519,10 +6188,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386MOVLstoreidx4) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -6541,10 +6207,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386MOVLstoreidx4) v.AuxInt = int64(int32(c + 4*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ADDLloadidx4 x [off] {sym} ptr idx mem) mem) @@ -6567,10 +6230,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ADDLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDLloadidx4 x [off] {sym} ptr idx mem) mem) @@ -6593,10 +6253,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ANDLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ORLloadidx4 x [off] {sym} ptr idx mem) mem) @@ -6619,10 +6276,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ORLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(XORLloadidx4 x [off] {sym} ptr idx mem) mem) @@ -6645,10 +6299,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386XORLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ADDL l:(MOVLloadidx4 [off] {sym} ptr idx mem) x) mem) @@ -6682,10 +6333,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ADDLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } break @@ -6714,10 +6362,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386SUBLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDL l:(MOVLloadidx4 [off] {sym} ptr idx mem) x) mem) @@ -6751,10 +6396,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ANDLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } break @@ -6790,10 +6432,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ORLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } break @@ -6829,10 +6468,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386XORLmodifyidx4) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } break @@ -6861,9 +6497,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem) @@ -6890,9 +6524,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ANDLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ORLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem) @@ -6919,9 +6551,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386ORLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreidx4 {sym} [off] ptr idx y:(XORLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem) @@ -6948,9 +6578,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool { v.reset(Op386XORLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6998,8 +6626,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool { v.reset(Op386MOVSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -7021,8 +6648,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool { v.reset(Op386MOVSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem) @@ -7045,9 +6671,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool { v.reset(Op386MOVSDloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAL8 [off2] {sym2} ptr idx) mem) @@ -7070,9 +6694,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool { v.reset(Op386MOVSDloadidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDload [off] {sym} (ADDL ptr idx) mem) @@ -7097,9 +6719,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool { v.reset(Op386MOVSDloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -7125,9 +6745,7 @@ func rewriteValue386_Op386MOVSDloadidx1(v *Value) bool { v.reset(Op386MOVSDloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -7145,9 +6763,7 @@ func rewriteValue386_Op386MOVSDloadidx1(v *Value) bool { v.reset(Op386MOVSDloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7171,9 +6787,7 @@ func rewriteValue386_Op386MOVSDloadidx8(v *Value) bool { v.reset(Op386MOVSDloadidx8) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx8 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -7191,9 +6805,7 @@ func rewriteValue386_Op386MOVSDloadidx8(v *Value) bool { v.reset(Op386MOVSDloadidx8) v.AuxInt = int64(int32(c + 8*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7223,9 +6835,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool { v.reset(Op386MOVSDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -7248,9 +6858,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool { v.reset(Op386MOVSDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem) @@ -7274,10 +6882,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool { v.reset(Op386MOVSDstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAL8 [off2] {sym2} ptr idx) val mem) @@ -7301,10 +6906,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool { v.reset(Op386MOVSDstoreidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstore [off] {sym} (ADDL ptr idx) val mem) @@ -7330,10 +6932,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool { v.reset(Op386MOVSDstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -7361,10 +6960,7 @@ func rewriteValue386_Op386MOVSDstoreidx1(v *Value) bool { v.reset(Op386MOVSDstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -7383,10 +6979,7 @@ func rewriteValue386_Op386MOVSDstoreidx1(v *Value) bool { v.reset(Op386MOVSDstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7412,10 +7005,7 @@ func rewriteValue386_Op386MOVSDstoreidx8(v *Value) bool { v.reset(Op386MOVSDstoreidx8) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx8 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -7434,10 +7024,7 @@ func rewriteValue386_Op386MOVSDstoreidx8(v *Value) bool { v.reset(Op386MOVSDstoreidx8) v.AuxInt = int64(int32(c + 8*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7485,8 +7072,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool { v.reset(Op386MOVSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -7508,8 +7094,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool { v.reset(Op386MOVSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem) @@ -7532,9 +7117,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool { v.reset(Op386MOVSSloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) mem) @@ -7557,9 +7140,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool { v.reset(Op386MOVSSloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSload [off] {sym} (ADDL ptr idx) mem) @@ -7584,9 +7165,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool { v.reset(Op386MOVSSloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -7612,9 +7191,7 @@ func rewriteValue386_Op386MOVSSloadidx1(v *Value) bool { v.reset(Op386MOVSSloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -7632,9 +7209,7 @@ func rewriteValue386_Op386MOVSSloadidx1(v *Value) bool { v.reset(Op386MOVSSloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7658,9 +7233,7 @@ func rewriteValue386_Op386MOVSSloadidx4(v *Value) bool { v.reset(Op386MOVSSloadidx4) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -7678,9 +7251,7 @@ func rewriteValue386_Op386MOVSSloadidx4(v *Value) bool { v.reset(Op386MOVSSloadidx4) v.AuxInt = int64(int32(c + 4*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7710,9 +7281,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool { v.reset(Op386MOVSSstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -7735,9 +7304,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool { v.reset(Op386MOVSSstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem) @@ -7761,10 +7328,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool { v.reset(Op386MOVSSstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) val mem) @@ -7788,10 +7352,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool { v.reset(Op386MOVSSstoreidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstore [off] {sym} (ADDL ptr idx) val mem) @@ -7817,10 +7378,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool { v.reset(Op386MOVSSstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -7848,10 +7406,7 @@ func rewriteValue386_Op386MOVSSstoreidx1(v *Value) bool { v.reset(Op386MOVSSstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -7870,10 +7425,7 @@ func rewriteValue386_Op386MOVSSstoreidx1(v *Value) bool { v.reset(Op386MOVSSstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7899,10 +7451,7 @@ func rewriteValue386_Op386MOVSSstoreidx4(v *Value) bool { v.reset(Op386MOVSSstoreidx4) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -7921,10 +7470,7 @@ func rewriteValue386_Op386MOVSSstoreidx4(v *Value) bool { v.reset(Op386MOVSSstoreidx4) v.AuxInt = int64(int32(c + 4*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7953,8 +7499,7 @@ func rewriteValue386_Op386MOVWLSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWLSX (ANDLconst [c] x)) @@ -8022,8 +7567,7 @@ func rewriteValue386_Op386MOVWLSXload(v *Value) bool { v.reset(Op386MOVWLSXload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -8052,8 +7596,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWLZX x:(MOVWloadidx1 [off] {sym} ptr idx mem)) @@ -8078,9 +7621,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVWLZX x:(MOVWloadidx2 [off] {sym} ptr idx mem)) @@ -8105,9 +7646,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVWLZX (ANDLconst [c] x)) @@ -8170,8 +7709,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool { v.reset(Op386MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -8193,8 +7731,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool { v.reset(Op386MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem) @@ -8217,9 +7754,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool { v.reset(Op386MOVWloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off1] {sym1} (LEAL2 [off2] {sym2} ptr idx) mem) @@ -8242,9 +7777,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool { v.reset(Op386MOVWloadidx2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off] {sym} (ADDL ptr idx) mem) @@ -8269,9 +7802,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool { v.reset(Op386MOVWloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -8310,9 +7841,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool { v.reset(Op386MOVWloadidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -8333,9 +7862,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool { v.reset(Op386MOVWloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -8356,9 +7883,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool { v.reset(Op386MOVWloadidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -8384,9 +7909,7 @@ func rewriteValue386_Op386MOVWloadidx2(v *Value) bool { v.reset(Op386MOVWloadidx2) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx2 [c] {sym} ptr (ADDLconst [d] idx) mem) @@ -8404,9 +7927,7 @@ func rewriteValue386_Op386MOVWloadidx2(v *Value) bool { v.reset(Op386MOVWloadidx2) v.AuxInt = int64(int32(c + 2*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -8431,9 +7952,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstore) 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 (MOVWLZX x) mem) @@ -8450,9 +7969,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -8474,9 +7991,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstore) 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} ptr (MOVLconst [c]) mem) @@ -8497,8 +8012,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstoreconst) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -8521,9 +8035,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem) @@ -8547,10 +8059,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAL2 [off2] {sym2} ptr idx) val mem) @@ -8574,10 +8083,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstoreidx2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off] {sym} (ADDL ptr idx) val mem) @@ -8603,10 +8109,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -8633,9 +8136,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWstore [i] {s} p (SHRLconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRLconst [j-16] w) mem)) @@ -8665,9 +8166,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool { v.reset(Op386MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -8695,8 +8194,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -8718,8 +8216,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem) @@ -8742,9 +8239,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [x] {sym1} (LEAL2 [off] {sym2} ptr idx) mem) @@ -8767,9 +8262,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [x] {sym} (ADDL ptr idx) mem) @@ -8786,9 +8279,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVWstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [c] {s} p x:(MOVWstoreconst [a] {s} p mem)) @@ -8813,8 +8304,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVWstoreconst [a] {s} p x:(MOVWstoreconst [c] {s} p mem)) @@ -8839,8 +8329,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool { v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -8863,9 +8352,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool { v.reset(Op386MOVWstoreconstidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx1 [x] {sym} (ADDLconst [c] ptr) idx mem) @@ -8883,9 +8370,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool { v.reset(Op386MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem) @@ -8903,9 +8388,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool { v.reset(Op386MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx1 [c] {s} p i x:(MOVWstoreconstidx1 [a] {s} p i mem)) @@ -8931,9 +8414,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(i) - v.AddArg(mem) + v.AddArg3(p, i, mem) return true } return false @@ -8958,9 +8439,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool { v.reset(Op386MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx2 [x] {sym} ptr (ADDLconst [c] idx) mem) @@ -8978,9 +8457,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool { v.reset(Op386MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(2 * c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx2 [c] {s} p i x:(MOVWstoreconstidx2 [a] {s} p i mem)) @@ -9006,12 +8483,10 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool { v.reset(Op386MOVLstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, Op386SHLLconst, i.Type) v0.AuxInt = 1 v0.AddArg(i) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } return false @@ -9037,10 +8512,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -9062,10 +8534,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -9087,10 +8556,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool { v.reset(Op386MOVWstoreidx1) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -9122,10 +8588,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -9163,10 +8626,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -9196,10 +8656,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool { v.reset(Op386MOVWstoreidx2) v.AuxInt = int64(int32(c + d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx2 [c] {sym} ptr (ADDLconst [d] idx) val mem) @@ -9218,10 +8675,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool { v.reset(Op386MOVWstoreidx2) v.AuxInt = int64(int32(c + 2*d)) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem)) @@ -9247,13 +8701,10 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type) v0.AuxInt = 1 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, v0, w, mem) return true } // match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [j] w) x:(MOVWstoreidx2 [i-2] {s} p idx w0:(SHRLconst [j-16] w) mem)) @@ -9284,13 +8735,10 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool { v.reset(Op386MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type) v0.AuxInt = 1 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, v0, w0, mem) return true } return false @@ -9334,9 +8782,7 @@ func rewriteValue386_Op386MULL(v *Value) bool { v.reset(Op386MULLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -9362,10 +8808,7 @@ func rewriteValue386_Op386MULL(v *Value) bool { v.reset(Op386MULLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } break @@ -9398,8 +8841,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386NEGL) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9412,8 +8854,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386NEGL) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9426,8 +8867,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386NEGL) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9472,8 +8912,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL2) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [5] x) @@ -9484,8 +8923,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL4) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [7] x) @@ -9496,11 +8934,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [9] x) @@ -9511,8 +8947,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL8) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [11] x) @@ -9523,11 +8958,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [13] x) @@ -9538,11 +8971,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [19] x) @@ -9553,11 +8984,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [21] x) @@ -9568,11 +8997,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [25] x) @@ -9583,11 +9010,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [27] x) @@ -9599,13 +9024,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386LEAL8) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [37] x) @@ -9616,11 +9038,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [41] x) @@ -9631,11 +9051,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [45] x) @@ -9647,13 +9065,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386LEAL8) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [73] x) @@ -9664,11 +9079,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { } x := v_0 v.reset(Op386LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [81] x) @@ -9680,13 +9093,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { x := v_0 v.reset(Op386LEAL8) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [c] x) @@ -9702,8 +9112,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type) v0.AuxInt = log2(c + 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -9719,8 +9128,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type) v0.AuxInt = log2(c - 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -9736,8 +9144,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type) v0.AuxInt = log2(c - 2) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -9753,8 +9160,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type) v0.AuxInt = log2(c - 4) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -9770,8 +9176,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type) v0.AuxInt = log2(c - 8) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -9786,8 +9191,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v.reset(Op386SHLLconst) v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9803,8 +9207,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v.reset(Op386SHLLconst) v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9820,8 +9223,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool { v.reset(Op386SHLLconst) v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -9864,9 +9266,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool { v.reset(Op386MULLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -9889,9 +9289,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool { v.reset(Op386MULLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -9915,10 +9313,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool { v.reset(Op386MULLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -9950,10 +9345,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool { v.reset(Op386MULLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (MULLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -9976,10 +9368,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool { v.reset(Op386MULLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (MULLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -10003,10 +9392,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool { v.reset(Op386MULLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -10036,9 +9422,7 @@ func rewriteValue386_Op386MULSD(v *Value) bool { v.reset(Op386MULSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -10070,9 +9454,7 @@ func rewriteValue386_Op386MULSDload(v *Value) bool { v.reset(Op386MULSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -10095,9 +9477,7 @@ func rewriteValue386_Op386MULSDload(v *Value) bool { v.reset(Op386MULSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -10127,9 +9507,7 @@ func rewriteValue386_Op386MULSS(v *Value) bool { v.reset(Op386MULSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -10161,9 +9539,7 @@ func rewriteValue386_Op386MULSSload(v *Value) bool { v.reset(Op386MULSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -10186,9 +9562,7 @@ func rewriteValue386_Op386MULSSload(v *Value) bool { v.reset(Op386MULSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -10338,9 +9712,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.reset(Op386ORLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -10366,10 +9738,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.reset(Op386ORLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } break @@ -10421,8 +9790,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -10486,8 +9854,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } } @@ -10535,9 +9902,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -10613,9 +9978,7 @@ func rewriteValue386_Op386ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -10691,8 +10054,7 @@ func rewriteValue386_Op386ORLconstmodify(v *Value) bool { v.reset(Op386ORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ORLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -10714,8 +10076,7 @@ func rewriteValue386_Op386ORLconstmodify(v *Value) bool { v.reset(Op386ORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -10745,9 +10106,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool { v.reset(Op386ORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ORLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem) @@ -10769,9 +10128,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool { v.reset(Op386ORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2 * 4) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (ORLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem) @@ -10794,9 +10151,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool { v.reset(Op386ORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } return false @@ -10826,9 +10181,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool { v.reset(Op386ORLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ORLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -10851,9 +10204,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool { v.reset(Op386ORLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ORLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -10877,10 +10228,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool { v.reset(Op386ORLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -10912,10 +10260,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool { v.reset(Op386ORLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ORLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -10938,10 +10283,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool { v.reset(Op386ORLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (ORLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -10965,10 +10307,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool { v.reset(Op386ORLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -10998,9 +10337,7 @@ func rewriteValue386_Op386ORLmodify(v *Value) bool { v.reset(Op386ORLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ORLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -11023,9 +10360,7 @@ func rewriteValue386_Op386ORLmodify(v *Value) bool { v.reset(Op386ORLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -11057,10 +10392,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool { v.reset(Op386ORLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ORLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem) @@ -11083,10 +10415,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool { v.reset(Op386ORLmodifyidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ORLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem) @@ -11110,10 +10439,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool { v.reset(Op386ORLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (ORLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem) @@ -11135,9 +10461,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool { v.reset(Op386ORLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -11303,8 +10627,7 @@ func rewriteValue386_Op386SARL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -11398,8 +10721,7 @@ func rewriteValue386_Op386SBBL(v *Value) bool { f := v_2 v.reset(Op386SBBLconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(f) + v.AddArg2(x, f) return true } return false @@ -12133,8 +11455,7 @@ func rewriteValue386_Op386SHLL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12233,8 +11554,7 @@ func rewriteValue386_Op386SHRL(v *Value) bool { } y := v_1.Args[0] v.reset(Op386SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12359,9 +11679,7 @@ func rewriteValue386_Op386SUBL(v *Value) bool { v.reset(Op386SUBLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (SUBL x l:(MOVLloadidx4 [off] {sym} ptr idx mem)) @@ -12384,10 +11702,7 @@ func rewriteValue386_Op386SUBL(v *Value) bool { v.reset(Op386SUBLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } // match: (SUBL x x) @@ -12473,9 +11788,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool { v.reset(Op386SUBLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -12498,9 +11811,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool { v.reset(Op386SUBLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -12524,10 +11835,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool { v.reset(Op386SUBLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -12559,10 +11867,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool { v.reset(Op386SUBLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (SUBLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -12585,10 +11890,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool { v.reset(Op386SUBLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (SUBLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -12612,10 +11914,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool { v.reset(Op386SUBLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -12645,9 +11944,7 @@ func rewriteValue386_Op386SUBLmodify(v *Value) bool { v.reset(Op386SUBLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SUBLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -12670,9 +11967,7 @@ func rewriteValue386_Op386SUBLmodify(v *Value) bool { v.reset(Op386SUBLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -12704,10 +11999,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool { v.reset(Op386SUBLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (SUBLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem) @@ -12730,10 +12022,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool { v.reset(Op386SUBLmodifyidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (SUBLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem) @@ -12757,10 +12046,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool { v.reset(Op386SUBLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (SUBLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem) @@ -12782,9 +12068,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool { v.reset(Op386ADDLconstmodifyidx4) v.AuxInt = makeValAndOff(-c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -12813,9 +12097,7 @@ func rewriteValue386_Op386SUBSD(v *Value) bool { v.reset(Op386SUBSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -12845,9 +12127,7 @@ func rewriteValue386_Op386SUBSDload(v *Value) bool { v.reset(Op386SUBSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -12870,9 +12150,7 @@ func rewriteValue386_Op386SUBSDload(v *Value) bool { v.reset(Op386SUBSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -12901,9 +12179,7 @@ func rewriteValue386_Op386SUBSS(v *Value) bool { v.reset(Op386SUBSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -12933,9 +12209,7 @@ func rewriteValue386_Op386SUBSSload(v *Value) bool { v.reset(Op386SUBSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -12958,9 +12232,7 @@ func rewriteValue386_Op386SUBSSload(v *Value) bool { v.reset(Op386SUBSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -13078,9 +12350,7 @@ func rewriteValue386_Op386XORL(v *Value) bool { v.reset(Op386XORLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -13106,10 +12376,7 @@ func rewriteValue386_Op386XORL(v *Value) bool { v.reset(Op386XORLloadidx4) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(x, ptr, idx, mem) return true } break @@ -13194,8 +12461,7 @@ func rewriteValue386_Op386XORLconstmodify(v *Value) bool { v.reset(Op386XORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (XORLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem) @@ -13217,8 +12483,7 @@ func rewriteValue386_Op386XORLconstmodify(v *Value) bool { v.reset(Op386XORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -13248,9 +12513,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool { v.reset(Op386XORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (XORLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem) @@ -13272,9 +12535,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool { v.reset(Op386XORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2 * 4) v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } // match: (XORLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem) @@ -13297,9 +12558,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool { v.reset(Op386XORLconstmodifyidx4) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(base, idx, mem) return true } return false @@ -13329,9 +12588,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool { v.reset(Op386XORLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem) @@ -13354,9 +12611,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool { v.reset(Op386XORLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem) @@ -13380,10 +12635,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool { v.reset(Op386XORLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, ptr, idx, mem) return true } return false @@ -13415,10 +12667,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool { v.reset(Op386XORLloadidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (XORLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem) @@ -13441,10 +12690,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool { v.reset(Op386XORLloadidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } // match: (XORLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem) @@ -13468,10 +12714,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool { v.reset(Op386XORLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg4(val, base, idx, mem) return true } return false @@ -13501,9 +12744,7 @@ func rewriteValue386_Op386XORLmodify(v *Value) bool { v.reset(Op386XORLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (XORLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -13526,9 +12767,7 @@ func rewriteValue386_Op386XORLmodify(v *Value) bool { v.reset(Op386XORLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -13560,10 +12799,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool { v.reset(Op386XORLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (XORLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem) @@ -13586,10 +12822,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool { v.reset(Op386XORLmodifyidx4) v.AuxInt = off1 + off2*4 v.Aux = sym - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (XORLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem) @@ -13613,10 +12846,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool { v.reset(Op386XORLmodifyidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(base, idx, val, mem) return true } // match: (XORLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem) @@ -13638,9 +12868,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool { v.reset(Op386XORLconstmodifyidx4) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -13683,10 +12911,9 @@ func rewriteValue386_OpDiv8(v *Value) bool { v.reset(Op386DIVW) v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -13703,10 +12930,9 @@ func rewriteValue386_OpDiv8u(v *Value) bool { v.reset(Op386DIVWU) v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -13721,8 +12947,7 @@ func rewriteValue386_OpEq16(v *Value) bool { y := v_1 v.reset(Op386SETEQ) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13738,8 +12963,7 @@ func rewriteValue386_OpEq32(v *Value) bool { y := v_1 v.reset(Op386SETEQ) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13755,8 +12979,7 @@ func rewriteValue386_OpEq32F(v *Value) bool { y := v_1 v.reset(Op386SETEQF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13772,8 +12995,7 @@ func rewriteValue386_OpEq64F(v *Value) bool { y := v_1 v.reset(Op386SETEQF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13789,8 +13011,7 @@ func rewriteValue386_OpEq8(v *Value) bool { y := v_1 v.reset(Op386SETEQ) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13806,8 +13027,7 @@ func rewriteValue386_OpEqB(v *Value) bool { y := v_1 v.reset(Op386SETEQ) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13823,8 +13043,7 @@ func rewriteValue386_OpEqPtr(v *Value) bool { y := v_1 v.reset(Op386SETEQ) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13840,8 +13059,7 @@ func rewriteValue386_OpGeq32F(v *Value) bool { y := v_1 v.reset(Op386SETGEF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13857,8 +13075,7 @@ func rewriteValue386_OpGeq64F(v *Value) bool { y := v_1 v.reset(Op386SETGEF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13874,8 +13091,7 @@ func rewriteValue386_OpGreater32F(v *Value) bool { y := v_1 v.reset(Op386SETGF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13891,8 +13107,7 @@ func rewriteValue386_OpGreater64F(v *Value) bool { y := v_1 v.reset(Op386SETGF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13908,8 +13123,7 @@ func rewriteValue386_OpIsInBounds(v *Value) bool { len := v_1 v.reset(Op386SETB) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -13923,8 +13137,7 @@ func rewriteValue386_OpIsNonNil(v *Value) bool { p := v_0 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386TESTL, types.TypeFlags) - v0.AddArg(p) - v0.AddArg(p) + v0.AddArg2(p, p) v.AddArg(v0) return true } @@ -13940,8 +13153,7 @@ func rewriteValue386_OpIsSliceInBounds(v *Value) bool { len := v_1 v.reset(Op386SETBE) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -13957,8 +13169,7 @@ func rewriteValue386_OpLeq16(v *Value) bool { y := v_1 v.reset(Op386SETLE) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13974,8 +13185,7 @@ func rewriteValue386_OpLeq16U(v *Value) bool { y := v_1 v.reset(Op386SETBE) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13991,8 +13201,7 @@ func rewriteValue386_OpLeq32(v *Value) bool { y := v_1 v.reset(Op386SETLE) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14008,8 +13217,7 @@ func rewriteValue386_OpLeq32F(v *Value) bool { y := v_1 v.reset(Op386SETGEF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -14025,8 +13233,7 @@ func rewriteValue386_OpLeq32U(v *Value) bool { y := v_1 v.reset(Op386SETBE) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14042,8 +13249,7 @@ func rewriteValue386_OpLeq64F(v *Value) bool { y := v_1 v.reset(Op386SETGEF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -14059,8 +13265,7 @@ func rewriteValue386_OpLeq8(v *Value) bool { y := v_1 v.reset(Op386SETLE) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14076,8 +13281,7 @@ func rewriteValue386_OpLeq8U(v *Value) bool { y := v_1 v.reset(Op386SETBE) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14093,8 +13297,7 @@ func rewriteValue386_OpLess16(v *Value) bool { y := v_1 v.reset(Op386SETL) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14110,8 +13313,7 @@ func rewriteValue386_OpLess16U(v *Value) bool { y := v_1 v.reset(Op386SETB) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14127,8 +13329,7 @@ func rewriteValue386_OpLess32(v *Value) bool { y := v_1 v.reset(Op386SETL) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14144,8 +13345,7 @@ func rewriteValue386_OpLess32F(v *Value) bool { y := v_1 v.reset(Op386SETGF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -14161,8 +13361,7 @@ func rewriteValue386_OpLess32U(v *Value) bool { y := v_1 v.reset(Op386SETB) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14178,8 +13377,7 @@ func rewriteValue386_OpLess64F(v *Value) bool { y := v_1 v.reset(Op386SETGF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -14195,8 +13393,7 @@ func rewriteValue386_OpLess8(v *Value) bool { y := v_1 v.reset(Op386SETL) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14212,8 +13409,7 @@ func rewriteValue386_OpLess8U(v *Value) bool { y := v_1 v.reset(Op386SETB) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14232,8 +13428,7 @@ func rewriteValue386_OpLoad(v *Value) bool { break } v.reset(Op386MOVLload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -14247,8 +13442,7 @@ func rewriteValue386_OpLoad(v *Value) bool { break } v.reset(Op386MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -14262,8 +13456,7 @@ func rewriteValue386_OpLoad(v *Value) bool { break } v.reset(Op386MOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -14277,8 +13470,7 @@ func rewriteValue386_OpLoad(v *Value) bool { break } v.reset(Op386MOVSSload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -14292,8 +13484,7 @@ func rewriteValue386_OpLoad(v *Value) bool { break } v.reset(Op386MOVSDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -14327,15 +13518,13 @@ func rewriteValue386_OpLsh16x16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x16 x y) @@ -14350,8 +13539,7 @@ func rewriteValue386_OpLsh16x16(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14372,15 +13560,13 @@ func rewriteValue386_OpLsh16x32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x32 x y) @@ -14395,8 +13581,7 @@ func rewriteValue386_OpLsh16x32(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14454,15 +13639,13 @@ func rewriteValue386_OpLsh16x8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x8 x y) @@ -14477,8 +13660,7 @@ func rewriteValue386_OpLsh16x8(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14499,15 +13681,13 @@ func rewriteValue386_OpLsh32x16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x16 x y) @@ -14522,8 +13702,7 @@ func rewriteValue386_OpLsh32x16(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14544,15 +13723,13 @@ func rewriteValue386_OpLsh32x32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x32 x y) @@ -14567,8 +13744,7 @@ func rewriteValue386_OpLsh32x32(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14626,15 +13802,13 @@ func rewriteValue386_OpLsh32x8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x8 x y) @@ -14649,8 +13823,7 @@ func rewriteValue386_OpLsh32x8(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14671,15 +13844,13 @@ func rewriteValue386_OpLsh8x16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x16 x y) @@ -14694,8 +13865,7 @@ func rewriteValue386_OpLsh8x16(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14716,15 +13886,13 @@ func rewriteValue386_OpLsh8x32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x32 x y) @@ -14739,8 +13907,7 @@ func rewriteValue386_OpLsh8x32(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14798,15 +13965,13 @@ func rewriteValue386_OpLsh8x8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x8 x y) @@ -14821,8 +13986,7 @@ func rewriteValue386_OpLsh8x8(v *Value) bool { } v.reset(Op386SHLL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14840,10 +14004,9 @@ func rewriteValue386_OpMod8(v *Value) bool { v.reset(Op386MODW) v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -14860,10 +14023,9 @@ func rewriteValue386_OpMod8u(v *Value) bool { v.reset(Op386MODWU) v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -14896,12 +14058,9 @@ func rewriteValue386_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(Op386MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVBload, 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) @@ -14914,12 +14073,9 @@ func rewriteValue386_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(Op386MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVWload, 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) @@ -14932,12 +14088,9 @@ func rewriteValue386_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(Op386MOVLstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVLload, 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 [3] dst src mem) @@ -14951,20 +14104,14 @@ func rewriteValue386_OpMove(v *Value) bool { mem := v_2 v.reset(Op386MOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, Op386MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, Op386MOVWload, 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) @@ -14978,20 +14125,14 @@ func rewriteValue386_OpMove(v *Value) bool { mem := v_2 v.reset(Op386MOVBstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, Op386MOVLload, 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) @@ -15005,20 +14146,14 @@ func rewriteValue386_OpMove(v *Value) bool { mem := v_2 v.reset(Op386MOVWstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, Op386MOVLload, 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) @@ -15032,20 +14167,14 @@ func rewriteValue386_OpMove(v *Value) bool { mem := v_2 v.reset(Op386MOVLstore) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, Op386MOVLload, 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 [8] dst src mem) @@ -15059,20 +14188,14 @@ func rewriteValue386_OpMove(v *Value) bool { mem := v_2 v.reset(Op386MOVLstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, Op386MOVLload, 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 [s] dst src mem) @@ -15091,19 +14214,14 @@ func rewriteValue386_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386ADDLconst, dst.Type) v0.AuxInt = s % 4 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, Op386ADDLconst, src.Type) v1.AuxInt = s % 4 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem) - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32) - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v3.AddArg2(src, mem) + v2.AddArg3(dst, v3, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -15119,9 +14237,7 @@ func rewriteValue386_OpMove(v *Value) bool { } v.reset(Op386DUFFCOPY) v.AuxInt = 10 * (128 - s/4) - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Move [s] dst src mem) @@ -15136,12 +14252,9 @@ func rewriteValue386_OpMove(v *Value) bool { break } v.reset(Op386REPMOVSL) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32) v0.AuxInt = s / 4 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -15160,10 +14273,9 @@ func rewriteValue386_OpNeg32F(v *Value) bool { break } v.reset(Op386PXOR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386MOVSSconst, typ.Float32) v0.AuxInt = auxFrom32F(float32(math.Copysign(0, -1))) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Neg32F x) @@ -15194,10 +14306,9 @@ func rewriteValue386_OpNeg64F(v *Value) bool { break } v.reset(Op386PXOR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386MOVSDconst, typ.Float64) v0.AuxInt = auxFrom64F(math.Copysign(0, -1)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Neg64F x) @@ -15225,8 +14336,7 @@ func rewriteValue386_OpNeq16(v *Value) bool { y := v_1 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15242,8 +14352,7 @@ func rewriteValue386_OpNeq32(v *Value) bool { y := v_1 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15259,8 +14368,7 @@ func rewriteValue386_OpNeq32F(v *Value) bool { y := v_1 v.reset(Op386SETNEF) v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15276,8 +14384,7 @@ func rewriteValue386_OpNeq64F(v *Value) bool { y := v_1 v.reset(Op386SETNEF) v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15293,8 +14400,7 @@ func rewriteValue386_OpNeq8(v *Value) bool { y := v_1 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15310,8 +14416,7 @@ func rewriteValue386_OpNeqB(v *Value) bool { y := v_1 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15327,8 +14432,7 @@ func rewriteValue386_OpNeqPtr(v *Value) bool { y := v_1 v.reset(Op386SETNE) v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15362,9 +14466,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool { } v.reset(Op386LoweredPanicBoundsA) 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) @@ -15380,9 +14482,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool { } v.reset(Op386LoweredPanicBoundsB) 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) @@ -15398,9 +14498,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool { } v.reset(Op386LoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -15424,10 +14522,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool { } v.reset(Op386LoweredPanicExtendA) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -15444,10 +14539,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool { } v.reset(Op386LoweredPanicExtendB) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -15464,10 +14556,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool { } v.reset(Op386LoweredPanicExtendC) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } return false @@ -15542,15 +14631,13 @@ func rewriteValue386_OpRsh16Ux16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux16 x y) @@ -15565,8 +14652,7 @@ func rewriteValue386_OpRsh16Ux16(v *Value) bool { } v.reset(Op386SHRW) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15587,15 +14673,13 @@ func rewriteValue386_OpRsh16Ux32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux32 x y) @@ -15610,8 +14694,7 @@ func rewriteValue386_OpRsh16Ux32(v *Value) bool { } v.reset(Op386SHRW) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15669,15 +14752,13 @@ func rewriteValue386_OpRsh16Ux8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux8 x y) @@ -15692,8 +14773,7 @@ func rewriteValue386_OpRsh16Ux8(v *Value) bool { } v.reset(Op386SHRW) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15714,9 +14794,7 @@ func rewriteValue386_OpRsh16x16(v *Value) bool { } v.reset(Op386SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) @@ -15724,8 +14802,8 @@ func rewriteValue386_OpRsh16x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x16 x y) @@ -15738,8 +14816,7 @@ func rewriteValue386_OpRsh16x16(v *Value) bool { break } v.reset(Op386SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15760,9 +14837,7 @@ func rewriteValue386_OpRsh16x32(v *Value) bool { } v.reset(Op386SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) @@ -15770,8 +14845,8 @@ func rewriteValue386_OpRsh16x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x32 x y) @@ -15784,8 +14859,7 @@ func rewriteValue386_OpRsh16x32(v *Value) bool { break } v.reset(Op386SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15845,9 +14919,7 @@ func rewriteValue386_OpRsh16x8(v *Value) bool { } v.reset(Op386SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) @@ -15855,8 +14927,8 @@ func rewriteValue386_OpRsh16x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x8 x y) @@ -15869,8 +14941,7 @@ func rewriteValue386_OpRsh16x8(v *Value) bool { break } v.reset(Op386SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15891,15 +14962,13 @@ func rewriteValue386_OpRsh32Ux16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux16 x y) @@ -15914,8 +14983,7 @@ func rewriteValue386_OpRsh32Ux16(v *Value) bool { } v.reset(Op386SHRL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -15936,15 +15004,13 @@ func rewriteValue386_OpRsh32Ux32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux32 x y) @@ -15959,8 +15025,7 @@ func rewriteValue386_OpRsh32Ux32(v *Value) bool { } v.reset(Op386SHRL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16018,15 +15083,13 @@ func rewriteValue386_OpRsh32Ux8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux8 x y) @@ -16041,8 +15104,7 @@ func rewriteValue386_OpRsh32Ux8(v *Value) bool { } v.reset(Op386SHRL) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16063,9 +15125,7 @@ func rewriteValue386_OpRsh32x16(v *Value) bool { } v.reset(Op386SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) @@ -16073,8 +15133,8 @@ func rewriteValue386_OpRsh32x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x16 x y) @@ -16087,8 +15147,7 @@ func rewriteValue386_OpRsh32x16(v *Value) bool { break } v.reset(Op386SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16109,9 +15168,7 @@ func rewriteValue386_OpRsh32x32(v *Value) bool { } v.reset(Op386SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) @@ -16119,8 +15176,8 @@ func rewriteValue386_OpRsh32x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x32 x y) @@ -16133,8 +15190,7 @@ func rewriteValue386_OpRsh32x32(v *Value) bool { break } v.reset(Op386SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16194,9 +15250,7 @@ func rewriteValue386_OpRsh32x8(v *Value) bool { } v.reset(Op386SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) @@ -16204,8 +15258,8 @@ func rewriteValue386_OpRsh32x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x8 x y) @@ -16218,8 +15272,7 @@ func rewriteValue386_OpRsh32x8(v *Value) bool { break } v.reset(Op386SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16240,15 +15293,13 @@ func rewriteValue386_OpRsh8Ux16(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux16 x y) @@ -16263,8 +15314,7 @@ func rewriteValue386_OpRsh8Ux16(v *Value) bool { } v.reset(Op386SHRB) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16285,15 +15335,13 @@ func rewriteValue386_OpRsh8Ux32(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux32 x y) @@ -16308,8 +15356,7 @@ func rewriteValue386_OpRsh8Ux32(v *Value) bool { } v.reset(Op386SHRB) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16367,15 +15414,13 @@ func rewriteValue386_OpRsh8Ux8(v *Value) bool { } v.reset(Op386ANDL) v0 := b.NewValue0(v.Pos, Op386SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux8 x y) @@ -16390,8 +15435,7 @@ func rewriteValue386_OpRsh8Ux8(v *Value) bool { } v.reset(Op386SHRB) v.Type = t - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16412,9 +15456,7 @@ func rewriteValue386_OpRsh8x16(v *Value) bool { } v.reset(Op386SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags) @@ -16422,8 +15464,8 @@ func rewriteValue386_OpRsh8x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x16 x y) @@ -16436,8 +15478,7 @@ func rewriteValue386_OpRsh8x16(v *Value) bool { break } v.reset(Op386SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16458,9 +15499,7 @@ func rewriteValue386_OpRsh8x32(v *Value) bool { } v.reset(Op386SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags) @@ -16468,8 +15507,8 @@ func rewriteValue386_OpRsh8x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x32 x y) @@ -16482,8 +15521,7 @@ func rewriteValue386_OpRsh8x32(v *Value) bool { break } v.reset(Op386SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16543,9 +15581,7 @@ func rewriteValue386_OpRsh8x8(v *Value) bool { } v.reset(Op386SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, Op386ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type) v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags) @@ -16553,8 +15589,8 @@ func rewriteValue386_OpRsh8x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x8 x y) @@ -16567,8 +15603,7 @@ func rewriteValue386_OpRsh8x8(v *Value) bool { break } v.reset(Op386SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -16588,8 +15623,7 @@ func rewriteValue386_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt32 v0 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -16610,8 +15644,7 @@ func rewriteValue386_OpSelect1(v *Value) bool { v.reset(Op386SETO) v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v1 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags)) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -16662,9 +15695,7 @@ func rewriteValue386_OpStore(v *Value) bool { break } v.reset(Op386MOVSDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -16679,9 +15710,7 @@ func rewriteValue386_OpStore(v *Value) bool { break } v.reset(Op386MOVSSstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -16696,9 +15725,7 @@ func rewriteValue386_OpStore(v *Value) bool { break } v.reset(Op386MOVLstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -16713,9 +15740,7 @@ func rewriteValue386_OpStore(v *Value) bool { break } v.reset(Op386MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -16730,9 +15755,7 @@ func rewriteValue386_OpStore(v *Value) bool { break } v.reset(Op386MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -16765,8 +15788,7 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVBstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [2] destptr mem) @@ -16779,8 +15801,7 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVWstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [4] destptr mem) @@ -16793,8 +15814,7 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVLstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [3] destptr mem) @@ -16807,12 +15827,10 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVBstoreconst) v.AuxInt = makeValAndOff(0, 2) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVWstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [5] destptr mem) @@ -16825,12 +15843,10 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVBstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [6] destptr mem) @@ -16843,12 +15859,10 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVWstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [7] destptr mem) @@ -16861,12 +15875,10 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(0, 3) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -16884,12 +15896,10 @@ func rewriteValue386_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386ADDLconst, typ.UInt32) v0.AuxInt = s % 4 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(destptr, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [8] destptr mem) @@ -16902,12 +15912,10 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [12] destptr mem) @@ -16920,16 +15928,13 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(0, 8) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = makeValAndOff(0, 4) - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(destptr, mem) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [16] destptr mem) @@ -16942,20 +15947,16 @@ func rewriteValue386_OpZero(v *Value) bool { mem := v_1 v.reset(Op386MOVLstoreconst) v.AuxInt = makeValAndOff(0, 12) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v0.AuxInt = makeValAndOff(0, 8) - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v1.AuxInt = makeValAndOff(0, 4) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem) v2.AuxInt = 0 - v2.AddArg(destptr) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg2(destptr, mem) + v1.AddArg2(destptr, v2) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -16970,11 +15971,9 @@ func rewriteValue386_OpZero(v *Value) bool { } v.reset(Op386DUFFZERO) v.AuxInt = 1 * (128 - s/4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [s] destptr mem) @@ -16988,14 +15987,11 @@ func rewriteValue386_OpZero(v *Value) bool { break } v.reset(Op386REPSTOSL) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32) v0.AuxInt = s / 4 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) - v.AddArg(mem) + v.AddArg4(destptr, v0, v1, mem) return true } return false @@ -17292,8 +16288,7 @@ func rewriteBlock386(b *Block) bool { cond := b.Controls[0] b.Reset(Block386NE) v0 := b.NewValue0(cond.Pos, Op386TESTB, types.TypeFlags) - v0.AddArg(cond) - v0.AddArg(cond) + v0.AddArg2(cond, cond) b.AddControl(v0) return true } diff --git a/src/cmd/compile/internal/ssa/rewrite386splitload.go b/src/cmd/compile/internal/ssa/rewrite386splitload.go index cce1b2d05a..f82eae99ab 100644 --- a/src/cmd/compile/internal/ssa/rewrite386splitload.go +++ b/src/cmd/compile/internal/ssa/rewrite386splitload.go @@ -37,8 +37,7 @@ func rewriteValue386splitload_Op386CMPBconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -61,10 +60,8 @@ func rewriteValue386splitload_Op386CMPBload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } @@ -85,8 +82,7 @@ func rewriteValue386splitload_Op386CMPLconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -109,10 +105,8 @@ func rewriteValue386splitload_Op386CMPLload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } @@ -133,8 +127,7 @@ func rewriteValue386splitload_Op386CMPWconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -157,10 +150,8 @@ func rewriteValue386splitload_Op386CMPWload(v *Value) bool { v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go index c0329c1528..566a7aaf66 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go @@ -1265,8 +1265,7 @@ func rewriteValueAMD64_OpAMD64ADCQ(v *Value) bool { } v.reset(OpAMD64ADCQconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(carry) + v.AddArg2(x, carry) return true } break @@ -1280,8 +1279,7 @@ func rewriteValueAMD64_OpAMD64ADCQ(v *Value) bool { break } v.reset(OpAMD64ADDQcarry) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -1407,8 +1405,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAL8) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1423,8 +1420,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAL4) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1439,8 +1435,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAL2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1458,8 +1453,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { continue } v.reset(OpAMD64LEAL2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1481,8 +1475,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { } y := v_1_1 v.reset(OpAMD64LEAL2) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1500,8 +1493,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { y := v_1 v.reset(OpAMD64LEAL1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1524,8 +1516,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { v.reset(OpAMD64LEAL1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1540,8 +1531,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64SUBL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1566,9 +1556,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool { v.reset(OpAMD64ADDLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -1588,8 +1576,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { x := v_0.Args[0] v.reset(OpAMD64LEAL1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (SHLLconst [1] x)) @@ -1602,8 +1589,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { x := v_0.Args[0] v.reset(OpAMD64LEAL1) v.AuxInt = c - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (ADDLconst [c] (LEAL [d] {s} x)) @@ -1644,8 +1630,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { v.reset(OpAMD64LEAL1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL2 [d] {s} x y)) @@ -1666,8 +1651,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { v.reset(OpAMD64LEAL2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL4 [d] {s} x y)) @@ -1688,8 +1672,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { v.reset(OpAMD64LEAL4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] (LEAL8 [d] {s} x y)) @@ -1710,8 +1693,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDLconst [c] x) @@ -1790,8 +1772,7 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify(v *Value) bool { v.reset(OpAMD64ADDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ADDLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -1813,8 +1794,7 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify(v *Value) bool { v.reset(OpAMD64ADDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -1844,9 +1824,7 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool { v.reset(OpAMD64ADDLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -1869,9 +1847,7 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool { v.reset(OpAMD64ADDLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _)) @@ -1890,10 +1866,9 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ADDL) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -1921,9 +1896,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify(v *Value) bool { v.reset(OpAMD64ADDLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ADDLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -1946,9 +1919,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify(v *Value) bool { v.reset(OpAMD64ADDLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2030,8 +2001,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAQ8) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2046,8 +2016,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAQ4) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2062,8 +2031,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64LEAQ2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2081,8 +2049,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { continue } v.reset(OpAMD64LEAQ2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2104,8 +2071,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { } y := v_1_1 v.reset(OpAMD64LEAQ2) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -2123,8 +2089,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { y := v_1 v.reset(OpAMD64LEAQ1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2147,8 +2112,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2163,8 +2127,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64SUBQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2189,9 +2152,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool { v.reset(OpAMD64ADDQload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -2236,8 +2197,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { x := v_0.Args[0] v.reset(OpAMD64LEAQ1) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDQconst [c] (SHLQconst [1] x)) @@ -2250,8 +2210,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { x := v_0.Args[0] v.reset(OpAMD64LEAQ1) v.AuxInt = c - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (ADDQconst [c] (LEAQ [d] {s} x)) @@ -2292,8 +2251,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDQconst [c] (LEAQ2 [d] {s} x y)) @@ -2314,8 +2272,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDQconst [c] (LEAQ4 [d] {s} x y)) @@ -2336,8 +2293,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDQconst [c] (LEAQ8 [d] {s} x y)) @@ -2358,8 +2314,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDQconst [0] x) @@ -2440,8 +2395,7 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify(v *Value) bool { v.reset(OpAMD64ADDQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ADDQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -2463,8 +2417,7 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify(v *Value) bool { v.reset(OpAMD64ADDQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2494,9 +2447,7 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool { v.reset(OpAMD64ADDQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -2519,9 +2470,7 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool { v.reset(OpAMD64ADDQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _)) @@ -2540,10 +2489,9 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ADDQ) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -2571,9 +2519,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify(v *Value) bool { v.reset(OpAMD64ADDQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ADDQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -2596,9 +2542,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify(v *Value) bool { v.reset(OpAMD64ADDQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2626,9 +2570,7 @@ func rewriteValueAMD64_OpAMD64ADDSD(v *Value) bool { v.reset(OpAMD64ADDSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -2660,9 +2602,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool { v.reset(OpAMD64ADDSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -2685,9 +2625,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool { v.reset(OpAMD64ADDSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _)) @@ -2706,10 +2644,9 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ADDSD) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -2737,9 +2674,7 @@ func rewriteValueAMD64_OpAMD64ADDSS(v *Value) bool { v.reset(OpAMD64ADDSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -2771,9 +2706,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool { v.reset(OpAMD64ADDSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -2796,9 +2729,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool { v.reset(OpAMD64ADDSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ADDSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _)) @@ -2817,10 +2748,9 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ADDSS) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -2846,8 +2776,7 @@ func rewriteValueAMD64_OpAMD64ANDL(v *Value) bool { } x := v_1 v.reset(OpAMD64BTRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2920,9 +2849,7 @@ func rewriteValueAMD64_OpAMD64ANDL(v *Value) bool { v.reset(OpAMD64ANDLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -3056,8 +2983,7 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify(v *Value) bool { v.reset(OpAMD64ANDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ANDLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -3079,8 +3005,7 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify(v *Value) bool { v.reset(OpAMD64ANDLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -3110,9 +3035,7 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool { v.reset(OpAMD64ANDLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -3135,9 +3058,7 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool { v.reset(OpAMD64ANDLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _)) @@ -3156,10 +3077,9 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ANDL) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -3187,9 +3107,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify(v *Value) bool { v.reset(OpAMD64ANDLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ANDLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -3212,9 +3130,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify(v *Value) bool { v.reset(OpAMD64ANDLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -3240,8 +3156,7 @@ func rewriteValueAMD64_OpAMD64ANDQ(v *Value) bool { } x := v_1 v.reset(OpAMD64BTRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3318,9 +3233,7 @@ func rewriteValueAMD64_OpAMD64ANDQ(v *Value) bool { v.reset(OpAMD64ANDQload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -3461,8 +3374,7 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify(v *Value) bool { v.reset(OpAMD64ANDQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ANDQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -3484,8 +3396,7 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify(v *Value) bool { v.reset(OpAMD64ANDQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -3515,9 +3426,7 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool { v.reset(OpAMD64ANDQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -3540,9 +3449,7 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool { v.reset(OpAMD64ANDQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ANDQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _)) @@ -3561,10 +3468,9 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ANDQ) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -3592,9 +3498,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify(v *Value) bool { v.reset(OpAMD64ANDQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ANDQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -3617,9 +3521,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify(v *Value) bool { v.reset(OpAMD64ANDQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -3738,8 +3640,7 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify(v *Value) bool { v.reset(OpAMD64BTCLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTCLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -3761,8 +3662,7 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify(v *Value) bool { v.reset(OpAMD64BTCLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -3790,9 +3690,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify(v *Value) bool { v.reset(OpAMD64BTCLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTCLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -3815,9 +3713,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify(v *Value) bool { v.reset(OpAMD64BTCLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -3887,8 +3783,7 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify(v *Value) bool { v.reset(OpAMD64BTCQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTCQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -3910,8 +3805,7 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify(v *Value) bool { v.reset(OpAMD64BTCQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -3939,9 +3833,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify(v *Value) bool { v.reset(OpAMD64BTCQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTCQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -3964,9 +3856,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify(v *Value) bool { v.reset(OpAMD64BTCQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -4022,8 +3912,7 @@ func rewriteValueAMD64_OpAMD64BTLconst(v *Value) bool { y := s.Args[1] x := s.Args[0] v.reset(OpAMD64BTQ) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (BTLconst [c] (SHRLconst [d] x)) @@ -4075,8 +3964,7 @@ func rewriteValueAMD64_OpAMD64BTLconst(v *Value) bool { y := s.Args[1] x := s.Args[0] v.reset(OpAMD64BTL) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -4132,8 +4020,7 @@ func rewriteValueAMD64_OpAMD64BTQconst(v *Value) bool { y := s.Args[1] x := s.Args[0] v.reset(OpAMD64BTQ) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -4229,8 +4116,7 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify(v *Value) bool { v.reset(OpAMD64BTRLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTRLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -4252,8 +4138,7 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify(v *Value) bool { v.reset(OpAMD64BTRLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -4281,9 +4166,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify(v *Value) bool { v.reset(OpAMD64BTRLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTRLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -4306,9 +4189,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify(v *Value) bool { v.reset(OpAMD64BTRLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -4404,8 +4285,7 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify(v *Value) bool { v.reset(OpAMD64BTRQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTRQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -4427,8 +4307,7 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify(v *Value) bool { v.reset(OpAMD64BTRQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -4456,9 +4335,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify(v *Value) bool { v.reset(OpAMD64BTRQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTRQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -4481,9 +4358,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify(v *Value) bool { v.reset(OpAMD64BTRQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -4579,8 +4454,7 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify(v *Value) bool { v.reset(OpAMD64BTSLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTSLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -4602,8 +4476,7 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify(v *Value) bool { v.reset(OpAMD64BTSLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -4631,9 +4504,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify(v *Value) bool { v.reset(OpAMD64BTSLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTSLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -4656,9 +4527,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify(v *Value) bool { v.reset(OpAMD64BTSLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -4754,8 +4623,7 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify(v *Value) bool { v.reset(OpAMD64BTSQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (BTSQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -4777,8 +4645,7 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify(v *Value) bool { v.reset(OpAMD64BTSQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -4806,9 +4673,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify(v *Value) bool { v.reset(OpAMD64BTSQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (BTSQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -4831,9 +4696,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify(v *Value) bool { v.reset(OpAMD64BTSQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -4852,9 +4715,7 @@ func rewriteValueAMD64_OpAMD64CMOVLCC(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLLS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLCC _ x (FlagEQ)) @@ -4933,9 +4794,7 @@ func rewriteValueAMD64_OpAMD64CMOVLCS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLHI) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLCS y _ (FlagEQ)) @@ -5014,9 +4873,7 @@ func rewriteValueAMD64_OpAMD64CMOVLEQ(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLEQ) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLEQ _ x (FlagEQ)) @@ -5095,9 +4952,7 @@ func rewriteValueAMD64_OpAMD64CMOVLGE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLLE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLGE _ x (FlagEQ)) @@ -5176,9 +5031,7 @@ func rewriteValueAMD64_OpAMD64CMOVLGT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLLT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLGT y _ (FlagEQ)) @@ -5257,9 +5110,7 @@ func rewriteValueAMD64_OpAMD64CMOVLHI(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLCS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLHI y _ (FlagEQ)) @@ -5338,9 +5189,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLGE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLLE _ x (FlagEQ)) @@ -5419,9 +5268,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLCC) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLLS _ x (FlagEQ)) @@ -5500,9 +5347,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLGT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLLT y _ (FlagEQ)) @@ -5581,9 +5426,7 @@ func rewriteValueAMD64_OpAMD64CMOVLNE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVLNE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVLNE y _ (FlagEQ)) @@ -5662,9 +5505,7 @@ func rewriteValueAMD64_OpAMD64CMOVQCC(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQLS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQCC _ x (FlagEQ)) @@ -5743,9 +5584,7 @@ func rewriteValueAMD64_OpAMD64CMOVQCS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQHI) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQCS y _ (FlagEQ)) @@ -5824,9 +5663,7 @@ func rewriteValueAMD64_OpAMD64CMOVQEQ(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQEQ) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQEQ _ x (FlagEQ)) @@ -5930,9 +5767,7 @@ func rewriteValueAMD64_OpAMD64CMOVQGE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQLE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQGE _ x (FlagEQ)) @@ -6011,9 +5846,7 @@ func rewriteValueAMD64_OpAMD64CMOVQGT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQLT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQGT y _ (FlagEQ)) @@ -6092,9 +5925,7 @@ func rewriteValueAMD64_OpAMD64CMOVQHI(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQCS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQHI y _ (FlagEQ)) @@ -6173,9 +6004,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQGE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQLE _ x (FlagEQ)) @@ -6254,9 +6083,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQCC) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQLS _ x (FlagEQ)) @@ -6335,9 +6162,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQGT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQLT y _ (FlagEQ)) @@ -6416,9 +6241,7 @@ func rewriteValueAMD64_OpAMD64CMOVQNE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVQNE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVQNE y _ (FlagEQ)) @@ -6497,9 +6320,7 @@ func rewriteValueAMD64_OpAMD64CMOVWCC(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWLS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWCC _ x (FlagEQ)) @@ -6578,9 +6399,7 @@ func rewriteValueAMD64_OpAMD64CMOVWCS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWHI) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWCS y _ (FlagEQ)) @@ -6659,9 +6478,7 @@ func rewriteValueAMD64_OpAMD64CMOVWEQ(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWEQ) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWEQ _ x (FlagEQ)) @@ -6740,9 +6557,7 @@ func rewriteValueAMD64_OpAMD64CMOVWGE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWLE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWGE _ x (FlagEQ)) @@ -6821,9 +6636,7 @@ func rewriteValueAMD64_OpAMD64CMOVWGT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWLT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWGT y _ (FlagEQ)) @@ -6902,9 +6715,7 @@ func rewriteValueAMD64_OpAMD64CMOVWHI(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWCS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWHI y _ (FlagEQ)) @@ -6983,9 +6794,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWGE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWLE _ x (FlagEQ)) @@ -7064,9 +6873,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLS(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWCC) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWLS _ x (FlagEQ)) @@ -7145,9 +6952,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLT(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWGT) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWLT y _ (FlagEQ)) @@ -7226,9 +7031,7 @@ func rewriteValueAMD64_OpAMD64CMOVWNE(v *Value) bool { } cond := v_2.Args[0] v.reset(OpAMD64CMOVWNE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(cond) + v.AddArg3(x, y, cond) return true } // match: (CMOVWNE y _ (FlagEQ)) @@ -7336,8 +7139,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool { } v.reset(OpAMD64InvertFlags) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -7360,9 +7162,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool { v.reset(OpAMD64CMPBload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPB x l:(MOVBload {sym} [off] ptr mem)) @@ -7385,9 +7185,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool { v0 := b.NewValue0(l.Pos, OpAMD64CMPBload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -7495,8 +7293,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpAMD64TESTB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPBconst (ANDLconst [c] x) [0]) @@ -7520,8 +7317,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool { } x := v_0 v.reset(OpAMD64TESTB) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPBconst l:(MOVBload {sym} [off] ptr mem) [c]) @@ -7546,8 +7342,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -7573,8 +7368,7 @@ func rewriteValueAMD64_OpAMD64CMPBconstload(v *Value) bool { v.reset(OpAMD64CMPBconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (CMPBconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -7596,8 +7390,7 @@ func rewriteValueAMD64_OpAMD64CMPBconstload(v *Value) bool { v.reset(OpAMD64CMPBconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -7625,9 +7418,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool { v.reset(OpAMD64CMPBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPBload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -7650,9 +7441,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool { v.reset(OpAMD64CMPBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPBload {sym} [off] ptr (MOVLconst [c]) mem) @@ -7673,8 +7462,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool { v.reset(OpAMD64CMPBconstload) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -7722,8 +7510,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool { } v.reset(OpAMD64InvertFlags) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -7746,9 +7533,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool { v.reset(OpAMD64CMPLload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPL x l:(MOVLload {sym} [off] ptr mem)) @@ -7771,9 +7556,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool { v0 := b.NewValue0(l.Pos, OpAMD64CMPLload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -7896,8 +7679,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpAMD64TESTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPLconst (ANDLconst [c] x) [0]) @@ -7921,8 +7703,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64TESTL) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPLconst l:(MOVLload {sym} [off] ptr mem) [c]) @@ -7947,8 +7728,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -7974,8 +7754,7 @@ func rewriteValueAMD64_OpAMD64CMPLconstload(v *Value) bool { v.reset(OpAMD64CMPLconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (CMPLconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -7997,8 +7776,7 @@ func rewriteValueAMD64_OpAMD64CMPLconstload(v *Value) bool { v.reset(OpAMD64CMPLconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -8026,9 +7804,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool { v.reset(OpAMD64CMPLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPLload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -8051,9 +7827,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool { v.reset(OpAMD64CMPLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPLload {sym} [off] ptr (MOVLconst [c]) mem) @@ -8074,8 +7848,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool { v.reset(OpAMD64CMPLconstload) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -8131,8 +7904,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool { } v.reset(OpAMD64InvertFlags) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -8245,9 +8017,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool { v.reset(OpAMD64CMPQload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPQ x l:(MOVQload {sym} [off] ptr mem)) @@ -8270,9 +8040,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool { v0 := b.NewValue0(l.Pos, OpAMD64CMPQload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -8477,8 +8245,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpAMD64TESTQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPQconst (ANDQconst [c] x) [0]) @@ -8502,8 +8269,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64TESTQ) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPQconst l:(MOVQload {sym} [off] ptr mem) [c]) @@ -8528,8 +8294,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -8555,8 +8320,7 @@ func rewriteValueAMD64_OpAMD64CMPQconstload(v *Value) bool { v.reset(OpAMD64CMPQconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (CMPQconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -8578,8 +8342,7 @@ func rewriteValueAMD64_OpAMD64CMPQconstload(v *Value) bool { v.reset(OpAMD64CMPQconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -8607,9 +8370,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool { v.reset(OpAMD64CMPQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPQload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -8632,9 +8393,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool { v.reset(OpAMD64CMPQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPQload {sym} [off] ptr (MOVQconst [c]) mem) @@ -8655,8 +8414,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool { v.reset(OpAMD64CMPQconstload) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -8704,8 +8462,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool { } v.reset(OpAMD64InvertFlags) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -8728,9 +8485,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool { v.reset(OpAMD64CMPWload) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (CMPW x l:(MOVWload {sym} [off] ptr mem)) @@ -8753,9 +8508,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool { v0 := b.NewValue0(l.Pos, OpAMD64CMPWload, types.TypeFlags) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(x) - v0.AddArg(mem) + v0.AddArg3(ptr, x, mem) v.AddArg(v0) return true } @@ -8863,8 +8616,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpAMD64TESTW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWconst (ANDLconst [c] x) [0]) @@ -8888,8 +8640,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool { } x := v_0 v.reset(OpAMD64TESTW) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (CMPWconst l:(MOVWload {sym} [off] ptr mem) [c]) @@ -8914,8 +8665,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(c, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -8941,8 +8691,7 @@ func rewriteValueAMD64_OpAMD64CMPWconstload(v *Value) bool { v.reset(OpAMD64CMPWconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (CMPWconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -8964,8 +8713,7 @@ func rewriteValueAMD64_OpAMD64CMPWconstload(v *Value) bool { v.reset(OpAMD64CMPWconstload) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -8993,9 +8741,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool { v.reset(OpAMD64CMPWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPWload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -9018,9 +8764,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool { v.reset(OpAMD64CMPWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (CMPWload {sym} [off] ptr (MOVLconst [c]) mem) @@ -9041,8 +8785,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool { v.reset(OpAMD64CMPWconstload) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -9072,10 +8815,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGLlock(v *Value) bool { v.reset(OpAMD64CMPXCHGLlock) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(old) - v.AddArg(new_) - v.AddArg(mem) + v.AddArg4(ptr, old, new_, mem) return true } return false @@ -9105,10 +8845,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGQlock(v *Value) bool { v.reset(OpAMD64CMPXCHGQlock) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(old) - v.AddArg(new_) - v.AddArg(mem) + v.AddArg4(ptr, old, new_, mem) return true } return false @@ -9135,9 +8872,7 @@ func rewriteValueAMD64_OpAMD64DIVSD(v *Value) bool { v.reset(OpAMD64DIVSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -9165,9 +8900,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload(v *Value) bool { v.reset(OpAMD64DIVSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (DIVSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -9190,9 +8923,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload(v *Value) bool { v.reset(OpAMD64DIVSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -9219,9 +8950,7 @@ func rewriteValueAMD64_OpAMD64DIVSS(v *Value) bool { v.reset(OpAMD64DIVSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -9249,9 +8978,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload(v *Value) bool { v.reset(OpAMD64DIVSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (DIVSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -9274,9 +9001,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload(v *Value) bool { v.reset(OpAMD64DIVSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } return false @@ -9294,8 +9019,7 @@ func rewriteValueAMD64_OpAMD64HMULL(v *Value) bool { break } v.reset(OpAMD64HMULL) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -9313,8 +9037,7 @@ func rewriteValueAMD64_OpAMD64HMULLU(v *Value) bool { break } v.reset(OpAMD64HMULLU) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -9332,8 +9055,7 @@ func rewriteValueAMD64_OpAMD64HMULQ(v *Value) bool { break } v.reset(OpAMD64HMULQ) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -9351,8 +9073,7 @@ func rewriteValueAMD64_OpAMD64HMULQU(v *Value) bool { break } v.reset(OpAMD64HMULQU) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } return false @@ -9400,8 +9121,7 @@ func rewriteValueAMD64_OpAMD64LEAL(v *Value) bool { v.reset(OpAMD64LEAL1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9430,8 +9150,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool { v.reset(OpAMD64LEAL1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9450,8 +9169,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool { v.reset(OpAMD64LEAL2) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9470,8 +9188,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool { v.reset(OpAMD64LEAL4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9490,8 +9207,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9519,8 +9235,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool { v.reset(OpAMD64LEAL2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (ADDLconst [d] y)) @@ -9541,8 +9256,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool { v.reset(OpAMD64LEAL2) v.AuxInt = c + 2*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (SHLLconst [1] y)) @@ -9558,8 +9272,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool { v.reset(OpAMD64LEAL4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL2 [c] {s} x (SHLLconst [2] y)) @@ -9575,8 +9288,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9602,8 +9314,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool { v.reset(OpAMD64LEAL4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL4 [c] {s} x (ADDLconst [d] y)) @@ -9624,8 +9335,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool { v.reset(OpAMD64LEAL4) v.AuxInt = c + 4*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL4 [c] {s} x (SHLLconst [1] y)) @@ -9641,8 +9351,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9668,8 +9377,7 @@ func rewriteValueAMD64_OpAMD64LEAL8(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAL8 [c] {s} x (ADDLconst [d] y)) @@ -9690,8 +9398,7 @@ func rewriteValueAMD64_OpAMD64LEAL8(v *Value) bool { v.reset(OpAMD64LEAL8) v.AuxInt = c + 8*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9739,8 +9446,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9785,8 +9491,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ [off1] {sym1} (LEAQ2 [off2] {sym2} x y)) @@ -9808,8 +9513,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ [off1] {sym1} (LEAQ4 [off2] {sym2} x y)) @@ -9831,8 +9535,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ [off1] {sym1} (LEAQ8 [off2] {sym2} x y)) @@ -9854,8 +9557,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9882,8 +9584,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9902,8 +9603,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9922,8 +9622,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9942,8 +9641,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9968,8 +9666,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { v.reset(OpAMD64LEAQ1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9987,8 +9684,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool { break } v.reset(OpAMD64ADDQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10014,8 +9710,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ2 [c] {s} x (ADDQconst [d] y)) @@ -10036,8 +9731,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = c + 2*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ2 [c] {s} x (SHLQconst [1] y)) @@ -10053,8 +9747,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ2 [c] {s} x (SHLQconst [2] y)) @@ -10070,8 +9763,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ2 [off1] {sym1} (LEAQ [off2] {sym2} x) y) @@ -10093,8 +9785,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool { v.reset(OpAMD64LEAQ2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10120,8 +9811,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ4 [c] {s} x (ADDQconst [d] y)) @@ -10142,8 +9832,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = c + 4*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ4 [c] {s} x (SHLQconst [1] y)) @@ -10159,8 +9848,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ4 [off1] {sym1} (LEAQ [off2] {sym2} x) y) @@ -10182,8 +9870,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool { v.reset(OpAMD64LEAQ4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10209,8 +9896,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ8 [c] {s} x (ADDQconst [d] y)) @@ -10231,8 +9917,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = c + 8*d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (LEAQ8 [off1] {sym1} (LEAQ [off2] {sym2} x) y) @@ -10254,8 +9939,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool { v.reset(OpAMD64LEAQ8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10284,8 +9968,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQSX x:(MOVWload [off] {sym} ptr mem)) @@ -10309,8 +9992,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQSX x:(MOVLload [off] {sym} ptr mem)) @@ -10334,8 +10016,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQSX x:(MOVQload [off] {sym} ptr mem)) @@ -10359,8 +10040,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQSX (ANDLconst [c] x)) @@ -10437,8 +10117,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSXload(v *Value) bool { v.reset(OpAMD64MOVBQSXload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -10467,8 +10146,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQZX x:(MOVWload [off] {sym} ptr mem)) @@ -10492,8 +10170,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQZX x:(MOVLload [off] {sym} ptr mem)) @@ -10517,8 +10194,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQZX x:(MOVQload [off] {sym} ptr mem)) @@ -10542,8 +10218,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBQZX x) @@ -10581,9 +10256,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVBQZX (ANDLconst [c] x)) @@ -10633,8 +10306,7 @@ func rewriteValueAMD64_OpAMD64MOVBatomicload(v *Value) bool { v.reset(OpAMD64MOVBatomicload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem) @@ -10656,8 +10328,7 @@ func rewriteValueAMD64_OpAMD64MOVBatomicload(v *Value) bool { v.reset(OpAMD64MOVBatomicload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -10705,8 +10376,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -10728,8 +10398,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -10752,9 +10421,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBload [off] {sym} (ADDQ ptr idx) mem) @@ -10779,9 +10446,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10805,8 +10470,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBload [off1] {sym} (ADDLconst [off2] ptr) mem) @@ -10827,8 +10491,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool { v.reset(OpAMD64MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off] {sym} (SB) _) @@ -10870,9 +10533,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool { v.reset(OpAMD64MOVBloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10897,9 +10558,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool { v.reset(OpAMD64MOVBloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10923,8 +10582,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool { v.reset(OpAMD64MOVBload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } break @@ -10956,9 +10614,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETLstore) 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 y:(SETLE x) mem) @@ -10980,9 +10636,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETLEstore) 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 y:(SETG x) mem) @@ -11004,9 +10658,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETGstore) 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 y:(SETGE x) mem) @@ -11028,9 +10680,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETGEstore) 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 y:(SETEQ x) mem) @@ -11052,9 +10702,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETEQstore) 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 y:(SETNE x) mem) @@ -11076,9 +10724,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETNEstore) 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 y:(SETB x) mem) @@ -11100,9 +10746,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETBstore) 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 y:(SETBE x) mem) @@ -11124,9 +10768,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETBEstore) 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 y:(SETA x) mem) @@ -11148,9 +10790,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETAstore) 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 y:(SETAE x) mem) @@ -11172,9 +10812,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64SETAEstore) 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 (MOVBQSX x) mem) @@ -11191,9 +10829,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) 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 (MOVBQZX x) mem) @@ -11210,9 +10846,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off1] {sym} (ADDQconst [off2] ptr) val mem) @@ -11234,9 +10868,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) 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} ptr (MOVLconst [c]) mem) @@ -11257,8 +10889,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVQconst [c]) mem) @@ -11279,8 +10910,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -11303,9 +10933,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVBstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -11329,10 +10957,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVBstore [off] {sym} (ADDQ ptr idx) val mem) @@ -11358,10 +10983,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -11389,12 +11011,10 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x0.Pos, OpAMD64ROLWconst, w.Type) v0.AuxInt = 8 v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [i] {s} p w x2:(MOVBstore [i-1] {s} p (SHRLconst [8] w) x1:(MOVBstore [i-2] {s} p (SHRLconst [16] w) x0:(MOVBstore [i-3] {s} p (SHRLconst [24] w) mem)))) @@ -11444,11 +11064,9 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 3 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x0.Pos, OpAMD64BSWAPL, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [i] {s} p w x6:(MOVBstore [i-1] {s} p (SHRQconst [8] w) x5:(MOVBstore [i-2] {s} p (SHRQconst [16] w) x4:(MOVBstore [i-3] {s} p (SHRQconst [24] w) x3:(MOVBstore [i-4] {s} p (SHRQconst [32] w) x2:(MOVBstore [i-5] {s} p (SHRQconst [40] w) x1:(MOVBstore [i-6] {s} p (SHRQconst [48] w) x0:(MOVBstore [i-7] {s} p (SHRQconst [56] w) mem)))))))) @@ -11546,11 +11164,9 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i - 7 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x0.Pos, OpAMD64BSWAPQ, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [i] {s} p (SHRWconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -11575,9 +11191,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SHRLconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -11602,9 +11216,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SHRQconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -11629,9 +11241,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRWconst [8] w) mem)) @@ -11657,9 +11267,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRLconst [8] w) mem)) @@ -11685,9 +11293,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRQconst [8] w) mem)) @@ -11713,9 +11319,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SHRLconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRLconst [j-8] w) mem)) @@ -11745,9 +11349,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVBstore [i] {s} p (SHRQconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRQconst [j-8] w) mem)) @@ -11777,9 +11379,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVBstore [i] {s} p x1:(MOVBload [j] {s2} p2 mem) mem2:(MOVBstore [i-1] {s} p x2:(MOVBload [j-1] {s2} p2 mem) mem)) @@ -11816,14 +11416,11 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x2.Pos, OpAMD64MOVWload, typ.UInt16) v0.AuxInt = j - 1 v0.Aux = s2 - v0.AddArg(p2) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(p2, mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -11846,9 +11443,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVBstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -11870,9 +11465,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -11898,8 +11491,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem) @@ -11921,8 +11513,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem) @@ -11945,9 +11536,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconst [x] {sym} (ADDQ ptr idx) mem) @@ -11964,9 +11553,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem)) @@ -11991,8 +11578,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVBstoreconst [a] {s} p x:(MOVBstoreconst [c] {s} p mem)) @@ -12017,8 +11603,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVBstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -12040,8 +11625,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [sc] {s} (ADDLconst [off] ptr) mem) @@ -12062,8 +11646,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool { v.reset(OpAMD64MOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -12092,9 +11675,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -12119,9 +11700,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVBstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -12153,9 +11732,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(i) - v.AddArg(mem) + v.AddArg3(p, i, mem) return true } } @@ -12190,10 +11767,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVBstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -12219,10 +11793,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVBstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -12255,13 +11826,10 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpAMD64ROLWconst, w.Type) v0.AuxInt = 8 v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(p, idx, v0, mem) return true } } @@ -12325,12 +11893,9 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 3 v.Aux = s - v.AddArg(p) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpAMD64BSWAPL, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(p, idx, v0, mem) return true } } @@ -12456,12 +12021,9 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = i - 7 v.Aux = s - v.AddArg(p) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpAMD64BSWAPQ, w.Type) v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(p, idx, v0, mem) return true } } @@ -12500,10 +12062,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -12536,10 +12095,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -12572,10 +12128,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -12613,10 +12166,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -12654,10 +12204,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -12683,9 +12230,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } break @@ -12709,9 +12254,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool { v.reset(OpAMD64MOVBstoreconstidx1) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -12740,8 +12283,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVLQSX x:(MOVQload [off] {sym} ptr mem)) @@ -12765,8 +12307,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVLQSX (ANDLconst [c] x)) @@ -12865,8 +12406,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSXload(v *Value) bool { v.reset(OpAMD64MOVLQSXload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -12895,8 +12435,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVLQZX x:(MOVQload [off] {sym} ptr mem)) @@ -12920,8 +12459,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVLQZX x) @@ -12959,9 +12497,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVLQZX x:(MOVLloadidx4 [off] {sym} ptr idx mem)) @@ -12986,9 +12522,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVLQZX (ANDLconst [c] x)) @@ -13060,8 +12594,7 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload(v *Value) bool { v.reset(OpAMD64MOVLatomicload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem) @@ -13083,8 +12616,7 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload(v *Value) bool { v.reset(OpAMD64MOVLatomicload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -13188,8 +12720,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -13211,8 +12742,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVLload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -13235,9 +12765,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLload [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) mem) @@ -13260,9 +12788,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem) @@ -13285,9 +12811,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLloadidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLload [off] {sym} (ADDQ ptr idx) mem) @@ -13312,9 +12836,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13338,8 +12860,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVLload [off1] {sym} (ADDLconst [off2] ptr) mem) @@ -13360,8 +12881,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLload [off] {sym} ptr (MOVSSstore [off] {sym} ptr val _)) @@ -13416,9 +12936,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool { v.reset(OpAMD64MOVLloadidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13438,9 +12956,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool { v.reset(OpAMD64MOVLloadidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13465,9 +12981,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool { v.reset(OpAMD64MOVLloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13492,9 +13006,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool { v.reset(OpAMD64MOVLloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13518,8 +13030,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } break @@ -13549,9 +13060,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool { v.reset(OpAMD64MOVLloadidx4) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLloadidx4 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -13573,9 +13082,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool { v.reset(OpAMD64MOVLloadidx4) v.AuxInt = c + 4*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLloadidx4 [i] {s} p (MOVQconst [c]) mem) @@ -13596,8 +13103,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = i + 4*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -13625,9 +13131,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool { v.reset(OpAMD64MOVLloadidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -13649,9 +13153,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool { v.reset(OpAMD64MOVLloadidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLloadidx8 [i] {s} p (MOVQconst [c]) mem) @@ -13672,8 +13174,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool { v.reset(OpAMD64MOVLload) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -13698,9 +13199,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore [off] {sym} ptr (MOVLQZX x) mem) @@ -13717,9 +13216,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore [off1] {sym} (ADDQconst [off2] ptr) val mem) @@ -13741,9 +13238,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVLstore [off] {sym} ptr (MOVLconst [c]) mem) @@ -13764,8 +13259,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr (MOVQconst [c]) mem) @@ -13786,8 +13280,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -13810,9 +13303,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -13836,10 +13327,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) val mem) @@ -13863,10 +13351,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem) @@ -13890,10 +13375,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstore [off] {sym} (ADDQ ptr idx) val mem) @@ -13919,10 +13401,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -13949,9 +13428,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVLstore [i] {s} p (SHRQconst [j] w) x:(MOVLstore [i-4] {s} p w0:(SHRQconst [j-32] w) mem)) @@ -13981,9 +13458,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVLstore [i] {s} p x1:(MOVLload [j] {s2} p2 mem) mem2:(MOVLstore [i-4] {s} p x2:(MOVLload [j-4] {s2} p2 mem) mem)) @@ -14020,14 +13495,11 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x2.Pos, OpAMD64MOVQload, typ.UInt64) v0.AuxInt = j - 4 v0.Aux = s2 - v0.AddArg(p2) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(p2, mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVLstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -14050,9 +13522,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVLstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -14074,9 +13544,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ADDLload x [off] {sym} ptr mem) mem) @@ -14098,9 +13566,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ADDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ANDLload x [off] {sym} ptr mem) mem) @@ -14122,9 +13588,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ANDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ORLload x [off] {sym} ptr mem) mem) @@ -14146,9 +13610,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(XORLload x [off] {sym} ptr mem) mem) @@ -14170,9 +13632,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64XORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ADDL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -14205,9 +13665,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ADDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -14235,9 +13693,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64SUBLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(ANDL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -14270,9 +13726,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ANDLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -14307,9 +13761,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -14344,9 +13796,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64XORLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -14374,9 +13824,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTCLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(BTRL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -14402,9 +13850,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTRLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore {sym} [off] ptr y:(BTSL l:(MOVLload [off] {sym} ptr mem) x) mem) @@ -14430,9 +13876,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTSLmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(ADDLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14459,8 +13903,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ADDLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(ANDLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14487,8 +13930,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ANDLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(ORLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14515,8 +13957,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64ORLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(XORLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14543,8 +13984,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64XORLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(BTCLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14571,8 +14011,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTCLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(BTRLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14599,8 +14038,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTRLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr a:(BTSLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem) @@ -14627,8 +14065,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64BTSLconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstore [off] {sym} ptr (MOVLf2i val) mem) @@ -14645,9 +14082,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool { v.reset(OpAMD64MOVSSstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -14675,8 +14110,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem) @@ -14698,8 +14132,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem) @@ -14722,9 +14155,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconst [x] {sym1} (LEAQ4 [off] {sym2} ptr idx) mem) @@ -14747,9 +14178,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconst [x] {sym} (ADDQ ptr idx) mem) @@ -14766,9 +14195,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconst [c] {s} p x:(MOVLstoreconst [a] {s} p mem)) @@ -14793,11 +14220,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVLstoreconst [a] {s} p x:(MOVLstoreconst [c] {s} p mem)) @@ -14822,11 +14247,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVLstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -14848,8 +14271,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVLstoreconst [sc] {s} (ADDLconst [off] ptr) mem) @@ -14870,8 +14292,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -14897,9 +14318,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -14924,9 +14343,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -14951,9 +14368,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -14985,12 +14400,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(p, i, v0, mem) return true } } @@ -15023,9 +14435,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconstidx4 [x] {sym} ptr (ADDQconst [c] idx) mem) @@ -15047,9 +14457,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx4) v.AuxInt = ValAndOff(x).add(4 * c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVLstoreconstidx4 [c] {s} p i x:(MOVLstoreconstidx4 [a] {s} p i mem)) @@ -15075,15 +14483,12 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type) v0.AuxInt = 2 v0.AddArg(i) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v1.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32 - v.AddArg(v1) - v.AddArg(mem) + v.AddArg4(p, v0, v1, mem) return true } return false @@ -15109,10 +14514,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -15133,10 +14535,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -15162,10 +14561,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -15191,10 +14587,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -15226,10 +14619,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -15267,10 +14657,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -15296,9 +14683,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } break @@ -15322,9 +14707,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -15355,10 +14738,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVLstoreidx4) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx4 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -15381,10 +14761,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVLstoreidx4) v.AuxInt = c + 4*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx4 [i] {s} p idx (SHRQconst [32] w) x:(MOVLstoreidx4 [i-4] {s} p idx w mem)) @@ -15410,13 +14787,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type) v0.AuxInt = 2 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, v0, w, mem) return true } // match: (MOVLstoreidx4 [i] {s} p idx (SHRQconst [j] w) x:(MOVLstoreidx4 [i-4] {s} p idx w0:(SHRQconst [j-32] w) mem)) @@ -15447,13 +14821,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type) v0.AuxInt = 2 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, v0, w0, mem) return true } // match: (MOVLstoreidx4 [i] {s} p (MOVQconst [c]) w mem) @@ -15475,9 +14846,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i + 4*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVLstoreidx4 [off] {s} ptr idx (MOVQconst [c]) mem) @@ -15499,9 +14868,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx4) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -15531,10 +14898,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool { v.reset(OpAMD64MOVLstoreidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -15557,10 +14921,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool { v.reset(OpAMD64MOVLstoreidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVLstoreidx8 [i] {s} p (MOVQconst [c]) w mem) @@ -15582,9 +14943,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -15610,8 +14969,7 @@ func rewriteValueAMD64_OpAMD64MOVOload(v *Value) bool { v.reset(OpAMD64MOVOload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVOload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -15633,8 +14991,7 @@ func rewriteValueAMD64_OpAMD64MOVOload(v *Value) bool { v.reset(OpAMD64MOVOload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -15665,9 +15022,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool { v.reset(OpAMD64MOVOstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVOstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -15690,9 +15045,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool { v.reset(OpAMD64MOVOstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVOstore [dstOff] {dstSym} ptr (MOVOload [srcOff] {srcSym} (SB) _) mem) @@ -15719,19 +15072,15 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = dstOff + 8 v.Aux = dstSym - v.AddArg(ptr) v0 := b.NewValue0(v_1.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = int64(read64(srcSym, srcOff+8, config.ctxt.Arch.ByteOrder)) - v.AddArg(v0) v1 := b.NewValue0(v_1.Pos, OpAMD64MOVQstore, types.TypeMem) v1.AuxInt = dstOff v1.Aux = dstSym - v1.AddArg(ptr) v2 := b.NewValue0(v_1.Pos, OpAMD64MOVQconst, typ.UInt64) v2.AuxInt = int64(read64(srcSym, srcOff, config.ctxt.Arch.ByteOrder)) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(ptr, v2, mem) + v.AddArg3(ptr, v0, v1) return true } return false @@ -15757,8 +15106,7 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload(v *Value) bool { v.reset(OpAMD64MOVQatomicload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem) @@ -15780,8 +15128,7 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload(v *Value) bool { v.reset(OpAMD64MOVQatomicload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -15886,8 +15233,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -15909,8 +15255,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVQload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -15933,9 +15278,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem) @@ -15958,9 +15301,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQloadidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQload [off] {sym} (ADDQ ptr idx) mem) @@ -15985,9 +15326,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -16011,8 +15350,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVQload [off1] {sym} (ADDLconst [off2] ptr) mem) @@ -16033,8 +15371,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQload [off] {sym} ptr (MOVSDstore [off] {sym} ptr val _)) @@ -16089,9 +15426,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool { v.reset(OpAMD64MOVQloadidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -16116,9 +15451,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool { v.reset(OpAMD64MOVQloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -16143,9 +15476,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool { v.reset(OpAMD64MOVQloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -16169,8 +15500,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } break @@ -16200,9 +15530,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool { v.reset(OpAMD64MOVQloadidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -16224,9 +15552,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool { v.reset(OpAMD64MOVQloadidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQloadidx8 [i] {s} p (MOVQconst [c]) mem) @@ -16247,8 +15573,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool { v.reset(OpAMD64MOVQload) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -16276,9 +15601,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVQstore [off] {sym} ptr (MOVQconst [c]) mem) @@ -16299,8 +15622,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstoreconst) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -16323,9 +15645,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVQstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -16349,10 +15669,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVQstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem) @@ -16376,10 +15693,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstoreidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVQstore [off] {sym} (ADDQ ptr idx) val mem) @@ -16405,10 +15719,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -16433,9 +15744,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVQstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -16457,9 +15766,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(ADDQload x [off] {sym} ptr mem) mem) @@ -16481,9 +15788,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ADDQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(ANDQload x [off] {sym} ptr mem) mem) @@ -16505,9 +15810,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ANDQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(ORQload x [off] {sym} ptr mem) mem) @@ -16529,9 +15832,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ORQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(XORQload x [off] {sym} ptr mem) mem) @@ -16553,9 +15854,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64XORQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(ADDQ l:(MOVQload [off] {sym} ptr mem) x) mem) @@ -16588,9 +15887,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ADDQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -16618,9 +15915,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64SUBQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(ANDQ l:(MOVQload [off] {sym} ptr mem) x) mem) @@ -16653,9 +15948,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ANDQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -16690,9 +15983,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ORQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -16727,9 +16018,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64XORQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } break @@ -16757,9 +16046,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTCQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(BTRQ l:(MOVQload [off] {sym} ptr mem) x) mem) @@ -16785,9 +16072,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTRQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore {sym} [off] ptr y:(BTSQ l:(MOVQload [off] {sym} ptr mem) x) mem) @@ -16813,9 +16098,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTSQmodify) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(ADDQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16842,8 +16125,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ADDQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(ANDQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16870,8 +16152,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ANDQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(ORQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16898,8 +16179,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64ORQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(XORQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16926,8 +16206,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64XORQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(BTCQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16954,8 +16233,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTCQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(BTRQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -16982,8 +16260,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTRQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr a:(BTSQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem) @@ -17010,8 +16287,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64BTSQconstmodify) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstore [off] {sym} ptr (MOVQf2i val) mem) @@ -17028,9 +16304,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool { v.reset(OpAMD64MOVSDstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -17058,8 +16332,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem) @@ -17081,8 +16354,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem) @@ -17105,9 +16377,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQstoreconst [x] {sym1} (LEAQ8 [off] {sym2} ptr idx) mem) @@ -17130,9 +16400,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx8) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQstoreconst [x] {sym} (ADDQ ptr idx) mem) @@ -17149,9 +16417,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQstoreconst [c] {s} p x:(MOVQstoreconst [c2] {s} p mem)) @@ -17176,11 +16442,9 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVOstore) v.AuxInt = ValAndOff(c2).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x.Pos, OpAMD64MOVOconst, types.TypeInt128) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVQstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -17202,8 +16466,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVQstoreconst [sc] {s} (ADDLconst [off] ptr) mem) @@ -17224,8 +16487,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool { v.reset(OpAMD64MOVQstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -17249,9 +16511,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -17276,9 +16536,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -17303,9 +16561,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -17335,9 +16591,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx8) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVQstoreconstidx8 [x] {sym} ptr (ADDQconst [c] idx) mem) @@ -17359,9 +16613,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx8) v.AuxInt = ValAndOff(x).add(8 * c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -17387,10 +16639,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -17416,10 +16665,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -17445,10 +16691,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -17473,9 +16716,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } break @@ -17499,9 +16740,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx1) v.AuxInt = makeValAndOff(c, off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -17531,10 +16770,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool { v.reset(OpAMD64MOVQstoreidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVQstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -17557,10 +16793,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool { v.reset(OpAMD64MOVQstoreidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVQstoreidx8 [i] {s} p (MOVQconst [c]) w mem) @@ -17582,9 +16815,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVQstoreidx8 [off] {s} ptr idx (MOVQconst [c]) mem) @@ -17606,9 +16837,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool { v.reset(OpAMD64MOVQstoreconstidx8) v.AuxInt = makeValAndOff(c, off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -17634,8 +16863,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool { v.reset(OpAMD64MOVSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -17657,8 +16885,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool { v.reset(OpAMD64MOVSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -17681,9 +16908,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool { v.reset(OpAMD64MOVSDloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem) @@ -17706,9 +16931,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool { v.reset(OpAMD64MOVSDloadidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDload [off] {sym} (ADDQ ptr idx) mem) @@ -17733,9 +16956,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool { v.reset(OpAMD64MOVSDloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -17778,9 +16999,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool { v.reset(OpAMD64MOVSDloadidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx1 [c] {sym} (ADDQconst [d] ptr) idx mem) @@ -17802,9 +17021,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool { v.reset(OpAMD64MOVSDloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx1 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -17826,9 +17043,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool { v.reset(OpAMD64MOVSDloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx1 [i] {s} p (MOVQconst [c]) mem) @@ -17849,8 +17064,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool { v.reset(OpAMD64MOVSDload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -17878,9 +17092,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool { v.reset(OpAMD64MOVSDloadidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -17902,9 +17114,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool { v.reset(OpAMD64MOVSDloadidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSDloadidx8 [i] {s} p (MOVQconst [c]) mem) @@ -17925,8 +17135,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool { v.reset(OpAMD64MOVSDload) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -17954,9 +17163,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVSDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -17979,9 +17186,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVSDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -18005,10 +17210,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem) @@ -18032,10 +17234,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx8) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstore [off] {sym} (ADDQ ptr idx) val mem) @@ -18061,10 +17260,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -18083,9 +17279,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool { v.reset(OpAMD64MOVQstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -18110,10 +17304,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx8) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx1 [c] {sym} (ADDQconst [d] ptr) idx val mem) @@ -18136,10 +17327,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx1 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -18162,10 +17350,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx1 [i] {s} p (MOVQconst [c]) w mem) @@ -18187,9 +17372,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSDstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -18219,10 +17402,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx8) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -18245,10 +17425,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool { v.reset(OpAMD64MOVSDstoreidx8) v.AuxInt = c + 8*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSDstoreidx8 [i] {s} p (MOVQconst [c]) w mem) @@ -18270,9 +17447,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool { v.reset(OpAMD64MOVSDstore) v.AuxInt = i + 8*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -18298,8 +17473,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool { v.reset(OpAMD64MOVSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -18321,8 +17495,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool { v.reset(OpAMD64MOVSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -18345,9 +17518,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool { v.reset(OpAMD64MOVSSloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSload [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) mem) @@ -18370,9 +17541,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool { v.reset(OpAMD64MOVSSloadidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSload [off] {sym} (ADDQ ptr idx) mem) @@ -18397,9 +17566,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool { v.reset(OpAMD64MOVSSloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -18442,9 +17609,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool { v.reset(OpAMD64MOVSSloadidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx1 [c] {sym} (ADDQconst [d] ptr) idx mem) @@ -18466,9 +17631,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool { v.reset(OpAMD64MOVSSloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx1 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -18490,9 +17653,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool { v.reset(OpAMD64MOVSSloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx1 [i] {s} p (MOVQconst [c]) mem) @@ -18513,8 +17674,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool { v.reset(OpAMD64MOVSSload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -18542,9 +17702,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool { v.reset(OpAMD64MOVSSloadidx4) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx4 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -18566,9 +17724,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool { v.reset(OpAMD64MOVSSloadidx4) v.AuxInt = c + 4*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVSSloadidx4 [i] {s} p (MOVQconst [c]) mem) @@ -18589,8 +17745,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool { v.reset(OpAMD64MOVSSload) v.AuxInt = i + 4*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -18618,9 +17773,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVSSstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -18643,9 +17796,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVSSstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -18669,10 +17820,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstore [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) val mem) @@ -18696,10 +17844,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx4) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstore [off] {sym} (ADDQ ptr idx) val mem) @@ -18725,10 +17870,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -18747,9 +17889,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -18774,10 +17914,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx4) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx1 [c] {sym} (ADDQconst [d] ptr) idx val mem) @@ -18800,10 +17937,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx1 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -18826,10 +17960,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx1 [i] {s} p (MOVQconst [c]) w mem) @@ -18851,9 +17982,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool { v.reset(OpAMD64MOVSSstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -18883,10 +18012,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx4) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx4 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -18909,10 +18035,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool { v.reset(OpAMD64MOVSSstoreidx4) v.AuxInt = c + 4*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVSSstoreidx4 [i] {s} p (MOVQconst [c]) w mem) @@ -18934,9 +18057,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool { v.reset(OpAMD64MOVSSstore) v.AuxInt = i + 4*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -18965,8 +18086,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQSX x:(MOVLload [off] {sym} ptr mem)) @@ -18990,8 +18110,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQSX x:(MOVQload [off] {sym} ptr mem)) @@ -19015,8 +18134,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQSX (ANDLconst [c] x)) @@ -19104,8 +18222,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSXload(v *Value) bool { v.reset(OpAMD64MOVWQSXload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -19134,8 +18251,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQZX x:(MOVLload [off] {sym} ptr mem)) @@ -19159,8 +18275,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQZX x:(MOVQload [off] {sym} ptr mem)) @@ -19184,8 +18299,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVWQZX x) @@ -19223,9 +18337,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVWQZX x:(MOVWloadidx2 [off] {sym} ptr idx mem)) @@ -19250,9 +18362,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(ptr, idx, mem) return true } // match: (MOVWQZX (ANDLconst [c] x)) @@ -19337,8 +18447,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -19360,8 +18469,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem) @@ -19384,9 +18492,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWloadidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off1] {sym1} (LEAQ2 [off2] {sym2} ptr idx) mem) @@ -19409,9 +18515,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWloadidx2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off] {sym} (ADDQ ptr idx) mem) @@ -19436,9 +18540,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWloadidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -19462,8 +18564,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWload [off1] {sym} (ADDLconst [off2] ptr) mem) @@ -19484,8 +18585,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off] {sym} (SB) _) @@ -19522,9 +18622,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool { v.reset(OpAMD64MOVWloadidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -19549,9 +18647,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool { v.reset(OpAMD64MOVWloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -19576,9 +18672,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool { v.reset(OpAMD64MOVWloadidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -19602,8 +18696,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } break @@ -19633,9 +18726,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool { v.reset(OpAMD64MOVWloadidx2) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx2 [c] {sym} ptr (ADDQconst [d] idx) mem) @@ -19657,9 +18748,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool { v.reset(OpAMD64MOVWloadidx2) v.AuxInt = c + 2*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx2 [i] {s} p (MOVQconst [c]) mem) @@ -19680,8 +18769,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool { v.reset(OpAMD64MOVWload) v.AuxInt = i + 2*c v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -19706,9 +18794,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) 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 (MOVWQZX x) mem) @@ -19725,9 +18811,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [off1] {sym} (ADDQconst [off2] ptr) val mem) @@ -19749,9 +18833,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) 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} ptr (MOVLconst [c]) mem) @@ -19772,8 +18854,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVQconst [c]) mem) @@ -19794,8 +18875,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -19818,9 +18898,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem) @@ -19844,10 +18922,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAQ2 [off2] {sym2} ptr idx) val mem) @@ -19871,10 +18946,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstoreidx2) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off] {sym} (ADDQ ptr idx) val mem) @@ -19900,10 +18972,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -19930,9 +18999,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWstore [i] {s} p (SHRQconst [16] w) x:(MOVWstore [i-2] {s} p w mem)) @@ -19957,9 +19024,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWstore [i] {s} p (SHRLconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRLconst [j-16] w) mem)) @@ -19989,9 +19054,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVWstore [i] {s} p (SHRQconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRQconst [j-16] w) mem)) @@ -20021,9 +19084,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVWstore [i] {s} p x1:(MOVWload [j] {s2} p2 mem) mem2:(MOVWstore [i-2] {s} p x2:(MOVWload [j-2] {s2} p2 mem) mem)) @@ -20060,14 +19121,11 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVLstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x2.Pos, OpAMD64MOVLload, typ.UInt32) v0.AuxInt = j - 2 v0.Aux = s2 - v0.AddArg(p2) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(p2, mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVWstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem) @@ -20090,9 +19148,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVWstore [off1] {sym} (ADDLconst [off2] ptr) val mem) @@ -20114,9 +19170,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -20142,8 +19196,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem) @@ -20165,8 +19218,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem) @@ -20189,9 +19241,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [x] {sym1} (LEAQ2 [off] {sym2} ptr idx) mem) @@ -20214,9 +19264,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [x] {sym} (ADDQ ptr idx) mem) @@ -20233,9 +19281,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = x v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconst [c] {s} p x:(MOVWstoreconst [a] {s} p mem)) @@ -20260,8 +19306,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVWstoreconst [a] {s} p x:(MOVWstoreconst [c] {s} p mem)) @@ -20286,8 +19331,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVLstoreconst) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } // match: (MOVWstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem) @@ -20309,8 +19353,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [sc] {s} (ADDLconst [off] ptr) mem) @@ -20331,8 +19374,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool { v.reset(OpAMD64MOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -20356,9 +19398,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -20383,9 +19423,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -20410,9 +19448,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -20444,9 +19480,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(i) - v.AddArg(mem) + v.AddArg3(p, i, mem) return true } } @@ -20478,9 +19512,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx2 [x] {sym} ptr (ADDQconst [c] idx) mem) @@ -20502,9 +19534,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx2) v.AuxInt = ValAndOff(x).add(2 * c) v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWstoreconstidx2 [c] {s} p i x:(MOVWstoreconstidx2 [a] {s} p i mem)) @@ -20530,12 +19560,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool { v.reset(OpAMD64MOVLstoreconstidx1) v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type) v0.AuxInt = 1 v0.AddArg(i) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } return false @@ -20561,10 +19589,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx2) v.AuxInt = c v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -20590,10 +19615,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -20619,10 +19641,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreidx1) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -20654,10 +19673,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -20690,10 +19706,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -20731,10 +19744,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -20772,10 +19782,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -20801,9 +19808,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i + c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } break @@ -20827,9 +19832,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx1) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -20860,10 +19863,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVWstoreidx2) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx2 [c] {sym} ptr (ADDQconst [d] idx) val mem) @@ -20886,10 +19886,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVWstoreidx2) v.AuxInt = c + 2*d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem)) @@ -20915,13 +19912,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type) v0.AuxInt = 1 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, v0, w, mem) return true } // match: (MOVWstoreidx2 [i] {s} p idx (SHRQconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem)) @@ -20947,13 +19941,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type) v0.AuxInt = 1 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, v0, w, mem) return true } // match: (MOVWstoreidx2 [i] {s} p idx (SHRQconst [j] w) x:(MOVWstoreidx2 [i-2] {s} p idx w0:(SHRQconst [j-16] w) mem)) @@ -20984,13 +19975,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVLstoreidx1) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type) v0.AuxInt = 1 v0.AddArg(idx) - v.AddArg(v0) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, v0, w0, mem) return true } // match: (MOVWstoreidx2 [i] {s} p (MOVQconst [c]) w mem) @@ -21012,9 +20000,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVWstore) v.AuxInt = i + 2*c v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWstoreidx2 [off] {s} ptr idx (MOVLconst [c]) mem) @@ -21036,9 +20022,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool { v.reset(OpAMD64MOVWstoreconstidx2) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -21090,8 +20074,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGL) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21104,8 +20087,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGL) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21118,8 +20100,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGL) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21164,8 +20145,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL2) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [ 5] x) @@ -21176,8 +20156,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL4) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [ 7] x) @@ -21188,11 +20167,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [ 9] x) @@ -21203,8 +20180,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL8) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULLconst [11] x) @@ -21215,11 +20191,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [13] x) @@ -21230,11 +20204,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [19] x) @@ -21245,11 +20217,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [21] x) @@ -21260,11 +20230,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [25] x) @@ -21275,11 +20243,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [27] x) @@ -21291,13 +20257,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAL8) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [37] x) @@ -21308,11 +20271,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [41] x) @@ -21323,11 +20284,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [45] x) @@ -21339,13 +20298,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAL8) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [73] x) @@ -21356,11 +20312,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAL8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULLconst [81] x) @@ -21372,13 +20326,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAL8) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULLconst [c] x) @@ -21394,8 +20345,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type) v0.AuxInt = log2(c + 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -21411,8 +20361,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type) v0.AuxInt = log2(c - 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -21428,8 +20377,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type) v0.AuxInt = log2(c - 2) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -21445,8 +20393,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type) v0.AuxInt = log2(c - 4) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -21462,8 +20409,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type) v0.AuxInt = log2(c - 8) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLconst [c] x) @@ -21478,8 +20424,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v.reset(OpAMD64SHLLconst) v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21495,8 +20440,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v.reset(OpAMD64SHLLconst) v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21512,8 +20456,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool { v.reset(OpAMD64SHLLconst) v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21586,8 +20529,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGQ) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21600,8 +20542,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGQ) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21614,8 +20555,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64NEGQ) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21660,8 +20600,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ2) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULQconst [ 5] x) @@ -21672,8 +20611,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ4) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULQconst [ 7] x) @@ -21684,11 +20622,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [ 9] x) @@ -21699,8 +20635,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ8) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } // match: (MULQconst [11] x) @@ -21711,11 +20646,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [13] x) @@ -21726,11 +20659,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [19] x) @@ -21741,11 +20672,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ2) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [21] x) @@ -21756,11 +20685,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [25] x) @@ -21771,11 +20698,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [27] x) @@ -21787,13 +20712,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAQ8) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULQconst [37] x) @@ -21804,11 +20726,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ4) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [41] x) @@ -21819,11 +20739,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [45] x) @@ -21835,13 +20753,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAQ8) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULQconst [73] x) @@ -21852,11 +20767,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { } x := v_0 v.reset(OpAMD64LEAQ8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) + v.AddArg2(x, v0) return true } // match: (MULQconst [81] x) @@ -21868,13 +20781,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { x := v_0 v.reset(OpAMD64LEAQ8) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(x, x) v1 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v1.AddArg(x) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(x, x) + v.AddArg2(v0, v1) return true } // match: (MULQconst [c] x) @@ -21890,8 +20800,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type) v0.AuxInt = log2(c + 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULQconst [c] x) @@ -21907,8 +20816,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type) v0.AuxInt = log2(c - 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULQconst [c] x) @@ -21924,8 +20832,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type) v0.AuxInt = log2(c - 2) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULQconst [c] x) @@ -21941,8 +20848,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type) v0.AuxInt = log2(c - 4) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULQconst [c] x) @@ -21958,8 +20864,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type) v0.AuxInt = log2(c - 8) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULQconst [c] x) @@ -21974,8 +20879,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v.reset(OpAMD64SHLQconst) v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -21991,8 +20895,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v.reset(OpAMD64SHLQconst) v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -22008,8 +20911,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool { v.reset(OpAMD64SHLQconst) v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type) - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -22067,9 +20969,7 @@ func rewriteValueAMD64_OpAMD64MULSD(v *Value) bool { v.reset(OpAMD64MULSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -22101,9 +21001,7 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool { v.reset(OpAMD64MULSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -22126,9 +21024,7 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool { v.reset(OpAMD64MULSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _)) @@ -22147,10 +21043,9 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64MULSD) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -22178,9 +21073,7 @@ func rewriteValueAMD64_OpAMD64MULSS(v *Value) bool { v.reset(OpAMD64MULSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -22212,9 +21105,7 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool { v.reset(OpAMD64MULSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -22237,9 +21128,7 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool { v.reset(OpAMD64MULSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (MULSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _)) @@ -22258,10 +21147,9 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64MULSS) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -22294,8 +21182,7 @@ func rewriteValueAMD64_OpAMD64NEGL(v *Value) bool { break } v.reset(OpAMD64SUBL) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (NEGL (MOVLconst [c])) @@ -22339,8 +21226,7 @@ func rewriteValueAMD64_OpAMD64NEGQ(v *Value) bool { break } v.reset(OpAMD64SUBQ) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (NEGQ (MOVQconst [c])) @@ -22426,8 +21312,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { } x := v_1 v.reset(OpAMD64BTSL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -22586,8 +21471,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22637,8 +21521,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22688,8 +21571,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22739,8 +21621,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22804,8 +21685,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22869,8 +21749,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -22911,8 +21790,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -22952,8 +21830,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -23016,8 +21893,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -23081,8 +21957,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64ROLB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -23123,8 +21998,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -23164,8 +22038,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { continue } v.reset(OpAMD64RORB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -23217,8 +22090,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -23258,8 +22130,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -23320,11 +22191,9 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v2 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -23372,9 +22241,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -23423,9 +22290,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -23495,12 +22360,9 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v2 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -23545,8 +22407,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v1 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -23596,8 +22457,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v1 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -23661,12 +22521,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v3 := b.NewValue0(x1.Pos, OpAMD64MOVWload, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -23716,9 +22574,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -23777,9 +22633,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -23852,13 +22706,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v3 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -23886,9 +22737,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool { v.reset(OpAMD64ORLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -24000,8 +22849,7 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify(v *Value) bool { v.reset(OpAMD64ORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ORLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -24023,8 +22871,7 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify(v *Value) bool { v.reset(OpAMD64ORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -24054,9 +22901,7 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool { v.reset(OpAMD64ORLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ORLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -24079,9 +22924,7 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool { v.reset(OpAMD64ORLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: ( ORLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _)) @@ -24100,10 +22943,9 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ORL) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -24131,9 +22973,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify(v *Value) bool { v.reset(OpAMD64ORLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ORLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -24156,9 +22996,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify(v *Value) bool { v.reset(OpAMD64ORLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -24182,8 +23020,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { } x := v_1 v.reset(OpAMD64BTSQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -24312,8 +23149,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { continue } v.reset(OpAMD64ROLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -24363,8 +23199,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { continue } v.reset(OpAMD64ROLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -24414,8 +23249,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { continue } v.reset(OpAMD64RORQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -24465,8 +23299,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { continue } v.reset(OpAMD64RORQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -24537,8 +23370,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -24578,8 +23410,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -24619,8 +23450,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -24681,11 +23511,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v2 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -24747,11 +23575,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v2 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -24799,9 +23625,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -24850,9 +23674,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -24901,9 +23723,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -24973,12 +23793,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v2 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25049,12 +23866,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v2 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25099,8 +23913,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -25150,8 +23963,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -25201,8 +24013,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(x0.Pos, OpAMD64MOVQload, typ.UInt64) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -25266,12 +24077,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v3 := b.NewValue0(x1.Pos, OpAMD64MOVWload, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25342,12 +24151,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v3 := b.NewValue0(x1.Pos, OpAMD64MOVLload, typ.UInt32) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25397,9 +24204,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -25458,9 +24263,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -25519,9 +24322,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64MOVQloadidx1, typ.UInt64) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -25594,13 +24395,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v3 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25680,13 +24478,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v3 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -25714,9 +24509,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool { v.reset(OpAMD64ORQload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -25824,8 +24617,7 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify(v *Value) bool { v.reset(OpAMD64ORQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (ORQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -25847,8 +24639,7 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify(v *Value) bool { v.reset(OpAMD64ORQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -25878,9 +24669,7 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool { v.reset(OpAMD64ORQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (ORQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -25903,9 +24692,7 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool { v.reset(OpAMD64ORQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: ( ORQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _)) @@ -25924,10 +24711,9 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64ORQ) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -25955,9 +24741,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify(v *Value) bool { v.reset(OpAMD64ORQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (ORQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -25980,9 +24764,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify(v *Value) bool { v.reset(OpAMD64ORQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -25999,8 +24781,7 @@ func rewriteValueAMD64_OpAMD64ROLB(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLB x (NEGL y)) @@ -26012,8 +24793,7 @@ func rewriteValueAMD64_OpAMD64ROLB(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLB x (MOVQconst [c])) @@ -26086,8 +24866,7 @@ func rewriteValueAMD64_OpAMD64ROLL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLL x (NEGL y)) @@ -26099,8 +24878,7 @@ func rewriteValueAMD64_OpAMD64ROLL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLL x (MOVQconst [c])) @@ -26173,8 +24951,7 @@ func rewriteValueAMD64_OpAMD64ROLQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLQ x (NEGL y)) @@ -26186,8 +24963,7 @@ func rewriteValueAMD64_OpAMD64ROLQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLQ x (MOVQconst [c])) @@ -26260,8 +25036,7 @@ func rewriteValueAMD64_OpAMD64ROLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLW x (NEGL y)) @@ -26273,8 +25048,7 @@ func rewriteValueAMD64_OpAMD64ROLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64RORW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ROLW x (MOVQconst [c])) @@ -26347,8 +25121,7 @@ func rewriteValueAMD64_OpAMD64RORB(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORB x (NEGL y)) @@ -26360,8 +25133,7 @@ func rewriteValueAMD64_OpAMD64RORB(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORB x (MOVQconst [c])) @@ -26404,8 +25176,7 @@ func rewriteValueAMD64_OpAMD64RORL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORL x (NEGL y)) @@ -26417,8 +25188,7 @@ func rewriteValueAMD64_OpAMD64RORL(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORL x (MOVQconst [c])) @@ -26461,8 +25231,7 @@ func rewriteValueAMD64_OpAMD64RORQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORQ x (NEGL y)) @@ -26474,8 +25243,7 @@ func rewriteValueAMD64_OpAMD64RORQ(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORQ x (MOVQconst [c])) @@ -26518,8 +25286,7 @@ func rewriteValueAMD64_OpAMD64RORW(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORW x (NEGL y)) @@ -26531,8 +25298,7 @@ func rewriteValueAMD64_OpAMD64RORW(v *Value) bool { } y := v_1.Args[0] v.reset(OpAMD64ROLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RORW x (MOVQconst [c])) @@ -26666,8 +25432,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARL x (NEGQ (ADDQconst [c] y))) @@ -26689,10 +25454,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARL x (ANDQconst [c] y)) @@ -26709,8 +25473,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARL x (NEGQ (ANDQconst [c] y))) @@ -26732,10 +25495,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARL x (ADDLconst [c] y)) @@ -26752,8 +25514,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARL x (NEGL (ADDLconst [c] y))) @@ -26775,10 +25536,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARL x (ANDLconst [c] y)) @@ -26795,8 +25555,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARL x (NEGL (ANDLconst [c] y))) @@ -26818,10 +25577,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -26898,8 +25656,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARQ x (NEGQ (ADDQconst [c] y))) @@ -26921,10 +25678,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARQ x (ANDQconst [c] y)) @@ -26941,8 +25697,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARQ x (NEGQ (ANDQconst [c] y))) @@ -26964,10 +25719,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARQ x (ADDLconst [c] y)) @@ -26984,8 +25738,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARQ x (NEGL (ADDLconst [c] y))) @@ -27007,10 +25760,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SARQ x (ANDLconst [c] y)) @@ -27027,8 +25779,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SARQ x (NEGL (ANDLconst [c] y))) @@ -27050,10 +25801,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -27218,8 +25968,7 @@ func rewriteValueAMD64_OpAMD64SBBQ(v *Value) bool { } v.reset(OpAMD64SBBQconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(borrow) + v.AddArg2(x, borrow) return true } // match: (SBBQ x y (FlagEQ)) @@ -27231,8 +25980,7 @@ func rewriteValueAMD64_OpAMD64SBBQ(v *Value) bool { break } v.reset(OpAMD64SUBQborrow) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -27515,9 +26263,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64SETBEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETAEstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -27539,9 +26285,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETAEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -27564,9 +26308,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETAEstore [off] {sym} ptr (FlagEQ) mem) @@ -27582,11 +26324,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAEstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -27602,11 +26342,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAEstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -27622,11 +26360,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAEstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -27642,11 +26378,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAEstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -27662,11 +26396,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -27691,9 +26423,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETAstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -27715,9 +26445,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64SETAstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETAstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -27740,9 +26468,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64SETAstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETAstore [off] {sym} ptr (FlagEQ) mem) @@ -27758,11 +26484,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -27778,11 +26502,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -27798,11 +26520,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -27818,11 +26538,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETAstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -27838,11 +26556,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -28053,9 +26769,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETBEstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -28077,9 +26791,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64SETBEstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETBEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -28102,9 +26814,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64SETBEstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETBEstore [off] {sym} ptr (FlagEQ) mem) @@ -28120,11 +26830,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBEstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -28140,11 +26848,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBEstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -28160,11 +26866,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBEstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -28180,11 +26884,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBEstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -28200,11 +26902,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -28229,9 +26929,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64SETAstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETBstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -28253,9 +26951,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETBstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -28278,9 +26974,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETBstore [off] {sym} ptr (FlagEQ) mem) @@ -28296,11 +26990,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -28316,11 +27008,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -28336,11 +27026,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -28356,11 +27044,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETBstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -28376,11 +27062,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -28409,8 +27093,7 @@ func rewriteValueAMD64_OpAMD64SETEQ(v *Value) bool { y := v_0_1 v.reset(OpAMD64SETAE) v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -28437,8 +27120,7 @@ func rewriteValueAMD64_OpAMD64SETEQ(v *Value) bool { y := v_0_1 v.reset(OpAMD64SETAE) v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -28829,12 +27511,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(x, y) + v.AddArg3(ptr, v0, mem) return true } break @@ -28865,12 +27544,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(x, y) + v.AddArg3(ptr, v0, mem) return true } break @@ -28894,12 +27570,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = log2uint32(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (TESTQconst [c] x) mem) @@ -28921,12 +27595,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (TESTQ (MOVQconst [c]) x) mem) @@ -28955,12 +27627,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -28982,12 +27652,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETNEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(s) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (CMPQconst [1] s:(ANDQconst [1] _)) mem) @@ -29007,12 +27675,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETNEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(s) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2) mem) @@ -29046,12 +27712,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 63 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29087,12 +27751,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 31 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29128,12 +27790,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29169,12 +27829,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29206,12 +27864,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 63 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29243,12 +27899,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETAEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 31 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -29267,9 +27921,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETEQstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETEQstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -29291,9 +27943,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETEQstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETEQstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -29316,9 +27966,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64SETEQstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETEQstore [off] {sym} ptr (FlagEQ) mem) @@ -29334,11 +27982,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -29354,11 +28000,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -29374,11 +28018,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -29394,11 +28036,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETEQstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -29414,11 +28054,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -29573,9 +28211,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64SETLEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETGEstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -29597,9 +28233,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64SETGEstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETGEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -29622,9 +28256,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64SETGEstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETGEstore [off] {sym} ptr (FlagEQ) mem) @@ -29640,11 +28272,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGEstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -29660,11 +28290,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGEstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -29680,11 +28308,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGEstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -29700,11 +28326,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGEstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -29720,11 +28344,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -29749,9 +28371,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64SETLstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETGstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -29773,9 +28393,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64SETGstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETGstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -29798,9 +28416,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64SETGstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETGstore [off] {sym} ptr (FlagEQ) mem) @@ -29816,11 +28432,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -29836,11 +28450,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -29856,11 +28468,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -29876,11 +28486,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETGstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -29896,11 +28504,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -30055,9 +28661,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64SETGEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETLEstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -30079,9 +28683,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64SETLEstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETLEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -30104,9 +28706,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64SETLEstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETLEstore [off] {sym} ptr (FlagEQ) mem) @@ -30122,11 +28722,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLEstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -30142,11 +28740,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLEstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -30162,11 +28758,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLEstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -30182,11 +28776,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLEstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -30202,11 +28794,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -30231,9 +28821,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64SETGstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETLstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -30255,9 +28843,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64SETLstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETLstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -30280,9 +28866,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64SETLstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETLstore [off] {sym} ptr (FlagEQ) mem) @@ -30298,11 +28882,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -30318,11 +28900,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -30338,11 +28918,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -30358,11 +28936,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETLstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -30378,11 +28954,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -30411,8 +28985,7 @@ func rewriteValueAMD64_OpAMD64SETNE(v *Value) bool { y := v_0_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -30439,8 +29012,7 @@ func rewriteValueAMD64_OpAMD64SETNE(v *Value) bool { y := v_0_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -30831,12 +29403,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(x, y) + v.AddArg3(ptr, v0, mem) return true } break @@ -30867,12 +29436,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(x, y) + v.AddArg3(ptr, v0, mem) return true } break @@ -30896,12 +29462,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = log2uint32(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (TESTQconst [c] x) mem) @@ -30923,12 +29487,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (TESTQ (MOVQconst [c]) x) mem) @@ -30957,12 +29519,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -30984,12 +29544,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETEQstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(s) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (CMPQconst [1] s:(ANDQconst [1] _)) mem) @@ -31009,12 +29567,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETEQstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(s) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2) mem) @@ -31048,12 +29604,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 63 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31089,12 +29643,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 31 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31130,12 +29682,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31171,12 +29721,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31208,12 +29756,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags) v0.AuxInt = 63 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31245,12 +29791,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags) v0.AuxInt = 31 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } break @@ -31269,9 +29813,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETNEstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (SETNEstore [off1] {sym} (ADDQconst [off2] base) val mem) @@ -31293,9 +29835,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETNEstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETNEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -31318,9 +29858,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64SETNEstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SETNEstore [off] {sym} ptr (FlagEQ) mem) @@ -31336,11 +29874,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (FlagLT_ULT) mem) @@ -31356,11 +29892,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (FlagLT_UGT) mem) @@ -31376,11 +29910,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (FlagGT_ULT) mem) @@ -31396,11 +29928,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (SETNEstore [off] {sym} ptr (FlagGT_UGT) mem) @@ -31416,11 +29946,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool { v.reset(OpAMD64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -31469,8 +29997,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLL x (NEGQ (ADDQconst [c] y))) @@ -31492,10 +30019,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLL x (ANDQconst [c] y)) @@ -31512,8 +30038,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLL x (NEGQ (ANDQconst [c] y))) @@ -31535,10 +30060,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLL x (ADDLconst [c] y)) @@ -31555,8 +30079,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLL x (NEGL (ADDLconst [c] y))) @@ -31578,10 +30101,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLL x (ANDLconst [c] y)) @@ -31598,8 +30120,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLL x (NEGL (ANDLconst [c] y))) @@ -31621,10 +30142,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -31713,8 +30233,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLQ x (NEGQ (ADDQconst [c] y))) @@ -31736,10 +30255,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLQ x (ANDQconst [c] y)) @@ -31756,8 +30274,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLQ x (NEGQ (ANDQconst [c] y))) @@ -31779,10 +30296,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLQ x (ADDLconst [c] y)) @@ -31799,8 +30315,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLQ x (NEGL (ADDLconst [c] y))) @@ -31822,10 +30337,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHLQ x (ANDLconst [c] y)) @@ -31842,8 +30356,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHLQ x (NEGL (ANDLconst [c] y))) @@ -31865,10 +30378,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -32054,8 +30566,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRL x (NEGQ (ADDQconst [c] y))) @@ -32077,10 +30588,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRL x (ANDQconst [c] y)) @@ -32097,8 +30607,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRL x (NEGQ (ANDQconst [c] y))) @@ -32120,10 +30629,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRL x (ADDLconst [c] y)) @@ -32140,8 +30648,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRL x (NEGL (ADDLconst [c] y))) @@ -32163,10 +30670,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRL x (ANDLconst [c] y)) @@ -32183,8 +30689,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRL x (NEGL (ANDLconst [c] y))) @@ -32206,10 +30711,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -32286,8 +30790,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRQ x (NEGQ (ADDQconst [c] y))) @@ -32309,10 +30812,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRQ x (ANDQconst [c] y)) @@ -32329,8 +30831,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRQ x (NEGQ (ANDQconst [c] y))) @@ -32352,10 +30853,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRQ x (ADDLconst [c] y)) @@ -32372,8 +30872,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRQ x (NEGL (ADDLconst [c] y))) @@ -32395,10 +30894,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SHRQ x (ANDLconst [c] y)) @@ -32415,8 +30913,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SHRQ x (NEGL (ANDLconst [c] y))) @@ -32438,10 +30935,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -32621,9 +31117,7 @@ func rewriteValueAMD64_OpAMD64SUBL(v *Value) bool { v.reset(OpAMD64SUBLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -32680,9 +31174,7 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool { v.reset(OpAMD64SUBLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -32705,9 +31197,7 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool { v.reset(OpAMD64SUBLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _)) @@ -32726,10 +31216,9 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64SUBL) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -32757,9 +31246,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify(v *Value) bool { v.reset(OpAMD64SUBLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SUBLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -32782,9 +31269,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify(v *Value) bool { v.reset(OpAMD64SUBLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -32859,9 +31344,7 @@ func rewriteValueAMD64_OpAMD64SUBQ(v *Value) bool { v.reset(OpAMD64SUBQload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -32973,9 +31456,7 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool { v.reset(OpAMD64SUBQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -32998,9 +31479,7 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool { v.reset(OpAMD64SUBQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _)) @@ -33019,10 +31498,9 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64SUBQ) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -33050,9 +31528,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify(v *Value) bool { v.reset(OpAMD64SUBQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (SUBQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -33075,9 +31551,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify(v *Value) bool { v.reset(OpAMD64SUBQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -33104,9 +31578,7 @@ func rewriteValueAMD64_OpAMD64SUBSD(v *Value) bool { v.reset(OpAMD64SUBSDload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -33136,9 +31608,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool { v.reset(OpAMD64SUBSDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -33161,9 +31631,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool { v.reset(OpAMD64SUBSDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _)) @@ -33182,10 +31650,9 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64SUBSD) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -33212,9 +31679,7 @@ func rewriteValueAMD64_OpAMD64SUBSS(v *Value) bool { v.reset(OpAMD64SUBSSload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -33244,9 +31709,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool { v.reset(OpAMD64SUBSSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -33269,9 +31732,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool { v.reset(OpAMD64SUBSSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (SUBSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _)) @@ -33290,10 +31751,9 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64SUBSS) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -33341,8 +31801,7 @@ func rewriteValueAMD64_OpAMD64TESTB(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(0, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } break @@ -33363,8 +31822,7 @@ func rewriteValueAMD64_OpAMD64TESTBconst(v *Value) bool { break } v.reset(OpAMD64TESTB) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } return false @@ -33412,8 +31870,7 @@ func rewriteValueAMD64_OpAMD64TESTL(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(0, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } break @@ -33444,8 +31901,7 @@ func rewriteValueAMD64_OpAMD64TESTLconst(v *Value) bool { break } v.reset(OpAMD64TESTL) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } return false @@ -33497,8 +31953,7 @@ func rewriteValueAMD64_OpAMD64TESTQ(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(0, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } break @@ -33529,8 +31984,7 @@ func rewriteValueAMD64_OpAMD64TESTQconst(v *Value) bool { break } v.reset(OpAMD64TESTQ) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } return false @@ -33578,8 +32032,7 @@ func rewriteValueAMD64_OpAMD64TESTW(v *Value) bool { v.AddArg(v0) v0.AuxInt = makeValAndOff(0, off) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } break @@ -33600,8 +32053,7 @@ func rewriteValueAMD64_OpAMD64TESTWconst(v *Value) bool { break } v.reset(OpAMD64TESTW) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } return false @@ -33629,9 +32081,7 @@ func rewriteValueAMD64_OpAMD64XADDLlock(v *Value) bool { v.reset(OpAMD64XADDLlock) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } return false @@ -33659,9 +32109,7 @@ func rewriteValueAMD64_OpAMD64XADDQlock(v *Value) bool { v.reset(OpAMD64XADDQlock) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } return false @@ -33689,9 +32137,7 @@ func rewriteValueAMD64_OpAMD64XCHGL(v *Value) bool { v.reset(OpAMD64XCHGL) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } // match: (XCHGL [off1] {sym1} val (LEAQ [off2] {sym2} ptr) mem) @@ -33714,9 +32160,7 @@ func rewriteValueAMD64_OpAMD64XCHGL(v *Value) bool { v.reset(OpAMD64XCHGL) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } return false @@ -33744,9 +32188,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ(v *Value) bool { v.reset(OpAMD64XCHGQ) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } // match: (XCHGQ [off1] {sym1} val (LEAQ [off2] {sym2} ptr) mem) @@ -33769,9 +32211,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ(v *Value) bool { v.reset(OpAMD64XCHGQ) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } return false @@ -33793,8 +32233,7 @@ func rewriteValueAMD64_OpAMD64XORL(v *Value) bool { } x := v_1 v.reset(OpAMD64BTCL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -33940,9 +32379,7 @@ func rewriteValueAMD64_OpAMD64XORL(v *Value) bool { v.reset(OpAMD64XORLload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -34152,8 +32589,7 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify(v *Value) bool { v.reset(OpAMD64XORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (XORLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -34175,8 +32611,7 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify(v *Value) bool { v.reset(OpAMD64XORLconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -34206,9 +32641,7 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool { v.reset(OpAMD64XORLload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -34231,9 +32664,7 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool { v.reset(OpAMD64XORLload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _)) @@ -34252,10 +32683,9 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64XORL) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -34283,9 +32713,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify(v *Value) bool { v.reset(OpAMD64XORLmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (XORLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -34308,9 +32736,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify(v *Value) bool { v.reset(OpAMD64XORLmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -34332,8 +32758,7 @@ func rewriteValueAMD64_OpAMD64XORQ(v *Value) bool { } x := v_1 v.reset(OpAMD64BTCQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -34433,9 +32858,7 @@ func rewriteValueAMD64_OpAMD64XORQ(v *Value) bool { v.reset(OpAMD64XORQload) v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -34533,8 +32956,7 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify(v *Value) bool { v.reset(OpAMD64XORQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (XORQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem) @@ -34556,8 +32978,7 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify(v *Value) bool { v.reset(OpAMD64XORQconstmodify) v.AuxInt = ValAndOff(valoff1).add(off2) v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -34587,9 +33008,7 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool { v.reset(OpAMD64XORQload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem) @@ -34612,9 +33031,7 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool { v.reset(OpAMD64XORQload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(val) - v.AddArg(base) - v.AddArg(mem) + v.AddArg3(val, base, mem) return true } // match: (XORQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _)) @@ -34633,10 +33050,9 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool { } y := v_2.Args[1] v.reset(OpAMD64XORQ) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -34664,9 +33080,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify(v *Value) bool { v.reset(OpAMD64XORQmodify) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (XORQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem) @@ -34689,9 +33103,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify(v *Value) bool { v.reset(OpAMD64XORQmodify) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -34709,12 +33121,9 @@ func rewriteValueAMD64_OpAtomicAdd32(v *Value) bool { val := v_1 mem := v_2 v.reset(OpAMD64AddTupleFirst32) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpAMD64XADDLlock, types.NewTuple(typ.UInt32, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(val, ptr, mem) + v.AddArg2(val, v0) return true } } @@ -34731,12 +33140,9 @@ func rewriteValueAMD64_OpAtomicAdd64(v *Value) bool { val := v_1 mem := v_2 v.reset(OpAMD64AddTupleFirst64) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpAMD64XADDQlock, types.NewTuple(typ.UInt64, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(val, ptr, mem) + v.AddArg2(val, v0) return true } } @@ -34751,9 +33157,7 @@ func rewriteValueAMD64_OpAtomicExchange32(v *Value) bool { val := v_1 mem := v_2 v.reset(OpAMD64XCHGL) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } } @@ -34768,9 +33172,7 @@ func rewriteValueAMD64_OpAtomicExchange64(v *Value) bool { val := v_1 mem := v_2 v.reset(OpAMD64XCHGQ) - v.AddArg(val) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(val, ptr, mem) return true } } @@ -34788,9 +33190,7 @@ func rewriteValueAMD64_OpAtomicStore32(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64XCHGL, types.NewTuple(typ.UInt32, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg3(val, ptr, mem) v.AddArg(v0) return true } @@ -34809,9 +33209,7 @@ func rewriteValueAMD64_OpAtomicStore64(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, types.NewTuple(typ.UInt64, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg3(val, ptr, mem) v.AddArg(v0) return true } @@ -34830,9 +33228,7 @@ func rewriteValueAMD64_OpAtomicStore8(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64XCHGB, types.NewTuple(typ.UInt8, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg3(val, ptr, mem) v.AddArg(v0) return true } @@ -34851,9 +33247,7 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB(v *Value) bool { mem := v_2 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, types.NewTuple(typ.BytePtr, types.TypeMem)) - v0.AddArg(val) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg3(val, ptr, mem) v.AddArg(v0) return true } @@ -34871,10 +33265,9 @@ func rewriteValueAMD64_OpBitLen16(v *Value) bool { v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32) v2.AddArg(x) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -34893,10 +33286,9 @@ func rewriteValueAMD64_OpBitLen32(v *Value) bool { v1.AuxInt = 1 v2 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64) v3.AddArg(x) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) v.AddArg(v0) return true @@ -34918,15 +33310,13 @@ func rewriteValueAMD64_OpBitLen64(v *Value) bool { v2 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags)) v2.AddArg(x) v1.AddArg(v2) - v0.AddArg(v1) v3 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t) v3.AuxInt = -1 - v0.AddArg(v3) v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v5 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags)) v5.AddArg(x) v4.AddArg(v5) - v0.AddArg(v4) + v0.AddArg3(v1, v3, v4) v.AddArg(v0) return true } @@ -34944,10 +33334,9 @@ func rewriteValueAMD64_OpBitLen8(v *Value) bool { v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32) v2.AddArg(x) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -34985,9 +33374,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQEQ) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNE cond)) @@ -35005,9 +33392,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQNE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETL cond)) @@ -35025,9 +33410,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQLT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETG cond)) @@ -35045,9 +33428,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQGT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETLE cond)) @@ -35065,9 +33446,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQLE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGE cond)) @@ -35085,9 +33464,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQGE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETA cond)) @@ -35105,9 +33482,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQHI) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETB cond)) @@ -35125,9 +33500,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQCS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETAE cond)) @@ -35145,9 +33518,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQCC) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETBE cond)) @@ -35165,9 +33536,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQLS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETEQF cond)) @@ -35185,9 +33554,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQEQF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNEF cond)) @@ -35205,9 +33572,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQNEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGF cond)) @@ -35225,9 +33590,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQGTF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGEF cond)) @@ -35245,9 +33608,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQGEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETEQ cond)) @@ -35265,9 +33626,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLEQ) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNE cond)) @@ -35285,9 +33644,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLNE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETL cond)) @@ -35305,9 +33662,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLLT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETG cond)) @@ -35325,9 +33680,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLGT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETLE cond)) @@ -35345,9 +33698,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLLE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGE cond)) @@ -35365,9 +33716,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLGE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETA cond)) @@ -35385,9 +33734,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLHI) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETB cond)) @@ -35405,9 +33752,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLCS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETAE cond)) @@ -35425,9 +33770,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLCC) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETBE cond)) @@ -35445,9 +33788,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLLS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETEQF cond)) @@ -35465,9 +33806,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLEQF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNEF cond)) @@ -35485,9 +33824,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLNEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGF cond)) @@ -35505,9 +33842,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLGTF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGEF cond)) @@ -35525,9 +33860,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLGEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETEQ cond)) @@ -35545,9 +33878,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWEQ) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNE cond)) @@ -35565,9 +33896,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWNE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETL cond)) @@ -35585,9 +33914,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWLT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETG cond)) @@ -35605,9 +33932,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWGT) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETLE cond)) @@ -35625,9 +33950,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWLE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGE cond)) @@ -35645,9 +33968,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWGE) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETA cond)) @@ -35665,9 +33986,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWHI) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETB cond)) @@ -35685,9 +34004,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWCS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETAE cond)) @@ -35705,9 +34022,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWCC) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETBE cond)) @@ -35725,9 +34040,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWLS) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETEQF cond)) @@ -35745,9 +34058,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWEQF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETNEF cond)) @@ -35765,9 +34076,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWNEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGF cond)) @@ -35785,9 +34094,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWGTF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y (SETGEF cond)) @@ -35805,9 +34112,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWGEF) - v.AddArg(y) - v.AddArg(x) - v.AddArg(cond) + v.AddArg3(y, x, cond) return true } // match: (CondSelect x y check) @@ -35823,11 +34128,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { } v.reset(OpCondSelect) v.Type = t - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt64) v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } // match: (CondSelect x y check) @@ -35843,11 +34146,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { } v.reset(OpCondSelect) v.Type = t - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt64) v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } // match: (CondSelect x y check) @@ -35863,11 +34164,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { } v.reset(OpCondSelect) v.Type = t - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64) v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } // match: (CondSelect x y check) @@ -35882,12 +34181,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVQNE) - v.AddArg(y) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(y, x, v0) return true } // match: (CondSelect x y check) @@ -35902,12 +34199,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVLNE) - v.AddArg(y) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(y, x, v0) return true } // match: (CondSelect x y check) @@ -35922,12 +34217,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool { break } v.reset(OpAMD64CMOVWNE) - v.AddArg(y) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(check) - v.AddArg(v0) + v.AddArg3(y, x, v0) return true } return false @@ -35980,15 +34273,13 @@ func rewriteValueAMD64_OpCtz64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags)) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t) v2.AuxInt = 64 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v4 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags)) v4.AddArg(x) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -36037,8 +34328,7 @@ func rewriteValueAMD64_OpDiv16(v *Value) bool { v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36055,8 +34345,7 @@ func rewriteValueAMD64_OpDiv16u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36075,8 +34364,7 @@ func rewriteValueAMD64_OpDiv32(v *Value) bool { v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36093,8 +34381,7 @@ func rewriteValueAMD64_OpDiv32u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36113,8 +34400,7 @@ func rewriteValueAMD64_OpDiv64(v *Value) bool { v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36131,8 +34417,7 @@ func rewriteValueAMD64_OpDiv64u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36151,10 +34436,9 @@ func rewriteValueAMD64_OpDiv8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16)) v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -36173,10 +34457,9 @@ func rewriteValueAMD64_OpDiv8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16)) v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -36192,8 +34475,7 @@ func rewriteValueAMD64_OpEq16(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36209,8 +34491,7 @@ func rewriteValueAMD64_OpEq32(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36226,8 +34507,7 @@ func rewriteValueAMD64_OpEq32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36243,8 +34523,7 @@ func rewriteValueAMD64_OpEq64(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36260,8 +34539,7 @@ func rewriteValueAMD64_OpEq64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36277,8 +34555,7 @@ func rewriteValueAMD64_OpEq8(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36294,8 +34571,7 @@ func rewriteValueAMD64_OpEqB(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36311,8 +34587,7 @@ func rewriteValueAMD64_OpEqPtr(v *Value) bool { y := v_1 v.reset(OpAMD64SETEQ) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36328,9 +34603,7 @@ func rewriteValueAMD64_OpFMA(v *Value) bool { y := v_1 z := v_2 v.reset(OpAMD64VFMADD231SD) - v.AddArg(z) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(z, x, y) return true } } @@ -36357,8 +34630,7 @@ func rewriteValueAMD64_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36374,8 +34646,7 @@ func rewriteValueAMD64_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36391,8 +34662,7 @@ func rewriteValueAMD64_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36408,8 +34678,7 @@ func rewriteValueAMD64_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36425,8 +34694,7 @@ func rewriteValueAMD64_OpIsInBounds(v *Value) bool { len := v_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -36440,8 +34708,7 @@ func rewriteValueAMD64_OpIsNonNil(v *Value) bool { p := v_0 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64TESTQ, types.TypeFlags) - v0.AddArg(p) - v0.AddArg(p) + v0.AddArg2(p, p) v.AddArg(v0) return true } @@ -36457,8 +34724,7 @@ func rewriteValueAMD64_OpIsSliceInBounds(v *Value) bool { len := v_1 v.reset(OpAMD64SETBE) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -36474,8 +34740,7 @@ func rewriteValueAMD64_OpLeq16(v *Value) bool { y := v_1 v.reset(OpAMD64SETLE) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36491,8 +34756,7 @@ func rewriteValueAMD64_OpLeq16U(v *Value) bool { y := v_1 v.reset(OpAMD64SETBE) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36508,8 +34772,7 @@ func rewriteValueAMD64_OpLeq32(v *Value) bool { y := v_1 v.reset(OpAMD64SETLE) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36525,8 +34788,7 @@ func rewriteValueAMD64_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -36542,8 +34804,7 @@ func rewriteValueAMD64_OpLeq32U(v *Value) bool { y := v_1 v.reset(OpAMD64SETBE) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36559,8 +34820,7 @@ func rewriteValueAMD64_OpLeq64(v *Value) bool { y := v_1 v.reset(OpAMD64SETLE) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36576,8 +34836,7 @@ func rewriteValueAMD64_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -36593,8 +34852,7 @@ func rewriteValueAMD64_OpLeq64U(v *Value) bool { y := v_1 v.reset(OpAMD64SETBE) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36610,8 +34868,7 @@ func rewriteValueAMD64_OpLeq8(v *Value) bool { y := v_1 v.reset(OpAMD64SETLE) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36627,8 +34884,7 @@ func rewriteValueAMD64_OpLeq8U(v *Value) bool { y := v_1 v.reset(OpAMD64SETBE) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36644,8 +34900,7 @@ func rewriteValueAMD64_OpLess16(v *Value) bool { y := v_1 v.reset(OpAMD64SETL) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36661,8 +34916,7 @@ func rewriteValueAMD64_OpLess16U(v *Value) bool { y := v_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36678,8 +34932,7 @@ func rewriteValueAMD64_OpLess32(v *Value) bool { y := v_1 v.reset(OpAMD64SETL) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36695,8 +34948,7 @@ func rewriteValueAMD64_OpLess32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -36712,8 +34964,7 @@ func rewriteValueAMD64_OpLess32U(v *Value) bool { y := v_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36729,8 +34980,7 @@ func rewriteValueAMD64_OpLess64(v *Value) bool { y := v_1 v.reset(OpAMD64SETL) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36746,8 +34996,7 @@ func rewriteValueAMD64_OpLess64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETGF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -36763,8 +35012,7 @@ func rewriteValueAMD64_OpLess64U(v *Value) bool { y := v_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36780,8 +35028,7 @@ func rewriteValueAMD64_OpLess8(v *Value) bool { y := v_1 v.reset(OpAMD64SETL) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36797,8 +35044,7 @@ func rewriteValueAMD64_OpLess8U(v *Value) bool { y := v_1 v.reset(OpAMD64SETB) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -36817,8 +35063,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVQload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -36832,8 +35077,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVLload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -36847,8 +35091,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -36862,8 +35105,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -36877,8 +35119,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVSSload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -36892,8 +35133,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool { break } v.reset(OpAMD64MOVSDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -36927,15 +35167,13 @@ func rewriteValueAMD64_OpLsh16x16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x16 x y) @@ -36948,8 +35186,7 @@ func rewriteValueAMD64_OpLsh16x16(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -36970,15 +35207,13 @@ func rewriteValueAMD64_OpLsh16x32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x32 x y) @@ -36991,8 +35226,7 @@ func rewriteValueAMD64_OpLsh16x32(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37013,15 +35247,13 @@ func rewriteValueAMD64_OpLsh16x64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x64 x y) @@ -37034,8 +35266,7 @@ func rewriteValueAMD64_OpLsh16x64(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37056,15 +35287,13 @@ func rewriteValueAMD64_OpLsh16x8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh16x8 x y) @@ -37077,8 +35306,7 @@ func rewriteValueAMD64_OpLsh16x8(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37099,15 +35327,13 @@ func rewriteValueAMD64_OpLsh32x16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x16 x y) @@ -37120,8 +35346,7 @@ func rewriteValueAMD64_OpLsh32x16(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37142,15 +35367,13 @@ func rewriteValueAMD64_OpLsh32x32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x32 x y) @@ -37163,8 +35386,7 @@ func rewriteValueAMD64_OpLsh32x32(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37185,15 +35407,13 @@ func rewriteValueAMD64_OpLsh32x64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x64 x y) @@ -37206,8 +35426,7 @@ func rewriteValueAMD64_OpLsh32x64(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37228,15 +35447,13 @@ func rewriteValueAMD64_OpLsh32x8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh32x8 x y) @@ -37249,8 +35466,7 @@ func rewriteValueAMD64_OpLsh32x8(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37271,15 +35487,13 @@ func rewriteValueAMD64_OpLsh64x16(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh64x16 x y) @@ -37292,8 +35506,7 @@ func rewriteValueAMD64_OpLsh64x16(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37314,15 +35527,13 @@ func rewriteValueAMD64_OpLsh64x32(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh64x32 x y) @@ -37335,8 +35546,7 @@ func rewriteValueAMD64_OpLsh64x32(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37357,15 +35567,13 @@ func rewriteValueAMD64_OpLsh64x64(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh64x64 x y) @@ -37378,8 +35586,7 @@ func rewriteValueAMD64_OpLsh64x64(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37400,15 +35607,13 @@ func rewriteValueAMD64_OpLsh64x8(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh64x8 x y) @@ -37421,8 +35626,7 @@ func rewriteValueAMD64_OpLsh64x8(v *Value) bool { break } v.reset(OpAMD64SHLQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37443,15 +35647,13 @@ func rewriteValueAMD64_OpLsh8x16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x16 x y) @@ -37464,8 +35666,7 @@ func rewriteValueAMD64_OpLsh8x16(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37486,15 +35687,13 @@ func rewriteValueAMD64_OpLsh8x32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x32 x y) @@ -37507,8 +35706,7 @@ func rewriteValueAMD64_OpLsh8x32(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37529,15 +35727,13 @@ func rewriteValueAMD64_OpLsh8x64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x64 x y) @@ -37550,8 +35746,7 @@ func rewriteValueAMD64_OpLsh8x64(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37572,15 +35767,13 @@ func rewriteValueAMD64_OpLsh8x8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Lsh8x8 x y) @@ -37593,8 +35786,7 @@ func rewriteValueAMD64_OpLsh8x8(v *Value) bool { break } v.reset(OpAMD64SHLL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -37613,8 +35805,7 @@ func rewriteValueAMD64_OpMod16(v *Value) bool { v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37631,8 +35822,7 @@ func rewriteValueAMD64_OpMod16u(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37651,8 +35841,7 @@ func rewriteValueAMD64_OpMod32(v *Value) bool { v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37669,8 +35858,7 @@ func rewriteValueAMD64_OpMod32u(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37689,8 +35877,7 @@ func rewriteValueAMD64_OpMod64(v *Value) bool { v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64)) v0.AuxInt = a - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37707,8 +35894,7 @@ func rewriteValueAMD64_OpMod64u(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -37727,10 +35913,9 @@ func rewriteValueAMD64_OpMod8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16)) v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -37749,10 +35934,9 @@ func rewriteValueAMD64_OpMod8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16)) v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -37786,12 +35970,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpAMD64MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, 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) @@ -37804,12 +35985,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpAMD64MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, 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) @@ -37822,12 +36000,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpAMD64MOVLstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, 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) @@ -37840,12 +36015,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpAMD64MOVQstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [16] dst src mem) @@ -37862,12 +36034,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { break } v.reset(OpAMD64MOVOstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVOload, types.TypeInt128) - 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 [16] dst src mem) @@ -37885,20 +36054,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { } v.reset(OpAMD64MOVQstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [32] dst src mem) @@ -37915,17 +36078,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem) v2.AuxInt = 16 - 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 [48] dst src mem) @@ -37946,17 +36105,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem) v2.AuxInt = 16 - 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 [64] dst src mem) @@ -37977,17 +36132,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = 32 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = 32 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem) v2.AuxInt = 32 - 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 [3] dst src mem) @@ -38001,20 +36152,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVWload, 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) @@ -38028,20 +36173,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVBstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, 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) @@ -38055,20 +36194,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVWstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, 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) @@ -38082,20 +36215,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVLstore) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, 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 [9] dst src mem) @@ -38109,20 +36236,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVBstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [10] dst src mem) @@ -38136,20 +36257,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVWstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [12] dst src mem) @@ -38163,20 +36278,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { mem := v_2 v.reset(OpAMD64MOVLstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [s] dst src mem) @@ -38192,20 +36301,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { } v.reset(OpAMD64MOVQstore) v.AuxInt = s - 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) v0.AuxInt = s - 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, 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 [s] dst src mem) @@ -38224,19 +36327,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s % 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s % 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v3.AddArg2(src, mem) + v2.AddArg3(dst, v3, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -38255,19 +36353,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s % 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s % 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, OpAMD64MOVOload, types.TypeInt128) - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v3.AddArg2(src, mem) + v2.AddArg3(dst, v3, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -38286,28 +36379,20 @@ func rewriteValueAMD64_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s % 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s % 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) v2.AuxInt = 8 - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) v3.AuxInt = 8 - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) + v3.AddArg2(src, mem) v4 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem) - v4.AddArg(dst) v5 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) - v5.AddArg(src) - v5.AddArg(mem) - v4.AddArg(v5) - v4.AddArg(mem) - v2.AddArg(v4) - v.AddArg(v2) + v5.AddArg2(src, mem) + v4.AddArg3(dst, v5, mem) + v2.AddArg3(dst, v3, v4) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -38323,9 +36408,7 @@ func rewriteValueAMD64_OpMove(v *Value) bool { } v.reset(OpAMD64DUFFCOPY) v.AuxInt = 14 * (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) @@ -38340,12 +36423,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool { break } v.reset(OpAMD64REPMOVSQ) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = s / 8 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -38359,10 +36439,9 @@ func rewriteValueAMD64_OpNeg32F(v *Value) bool { for { x := v_0 v.reset(OpAMD64PXOR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64MOVSSconst, typ.Float32) v0.AuxInt = auxFrom32F(float32(math.Copysign(0, -1))) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -38375,10 +36454,9 @@ func rewriteValueAMD64_OpNeg64F(v *Value) bool { for { x := v_0 v.reset(OpAMD64PXOR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64MOVSDconst, typ.Float64) v0.AuxInt = auxFrom64F(math.Copysign(0, -1)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -38393,8 +36471,7 @@ func rewriteValueAMD64_OpNeq16(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38410,8 +36487,7 @@ func rewriteValueAMD64_OpNeq32(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38427,8 +36503,7 @@ func rewriteValueAMD64_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpAMD64SETNEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38444,8 +36519,7 @@ func rewriteValueAMD64_OpNeq64(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38461,8 +36535,7 @@ func rewriteValueAMD64_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpAMD64SETNEF) v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38478,8 +36551,7 @@ func rewriteValueAMD64_OpNeq8(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38495,8 +36567,7 @@ func rewriteValueAMD64_OpNeqB(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38512,8 +36583,7 @@ func rewriteValueAMD64_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpAMD64SETNE) v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -38556,8 +36626,7 @@ func rewriteValueAMD64_OpOffPtr(v *Value) bool { v.reset(OpAMD64ADDQ) v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = off - v.AddArg(v0) - v.AddArg(ptr) + v.AddArg2(v0, ptr) return true } } @@ -38578,9 +36647,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool { } v.reset(OpAMD64LoweredPanicBoundsA) 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) @@ -38596,9 +36663,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool { } v.reset(OpAMD64LoweredPanicBoundsB) 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) @@ -38614,9 +36679,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool { } v.reset(OpAMD64LoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -38679,15 +36742,13 @@ func rewriteValueAMD64_OpRsh16Ux16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux16 x y) @@ -38700,8 +36761,7 @@ func rewriteValueAMD64_OpRsh16Ux16(v *Value) bool { break } v.reset(OpAMD64SHRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38722,15 +36782,13 @@ func rewriteValueAMD64_OpRsh16Ux32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux32 x y) @@ -38743,8 +36801,7 @@ func rewriteValueAMD64_OpRsh16Ux32(v *Value) bool { break } v.reset(OpAMD64SHRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38765,15 +36822,13 @@ func rewriteValueAMD64_OpRsh16Ux64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux64 x y) @@ -38786,8 +36841,7 @@ func rewriteValueAMD64_OpRsh16Ux64(v *Value) bool { break } v.reset(OpAMD64SHRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38808,15 +36862,13 @@ func rewriteValueAMD64_OpRsh16Ux8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 16 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh16Ux8 x y) @@ -38829,8 +36881,7 @@ func rewriteValueAMD64_OpRsh16Ux8(v *Value) bool { break } v.reset(OpAMD64SHRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38851,9 +36902,7 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool { } v.reset(OpAMD64SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) @@ -38861,8 +36910,8 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x16 x y) @@ -38875,8 +36924,7 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool { break } v.reset(OpAMD64SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38897,9 +36945,7 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool { } v.reset(OpAMD64SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) @@ -38907,8 +36953,8 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x32 x y) @@ -38921,8 +36967,7 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool { break } v.reset(OpAMD64SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38943,9 +36988,7 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool { } v.reset(OpAMD64SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) @@ -38953,8 +36996,8 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x64 x y) @@ -38967,8 +37010,7 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool { break } v.reset(OpAMD64SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -38989,9 +37031,7 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool { } v.reset(OpAMD64SARW) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) @@ -38999,8 +37039,8 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh16x8 x y) @@ -39013,8 +37053,7 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool { break } v.reset(OpAMD64SARW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39035,15 +37074,13 @@ func rewriteValueAMD64_OpRsh32Ux16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux16 x y) @@ -39056,8 +37093,7 @@ func rewriteValueAMD64_OpRsh32Ux16(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39078,15 +37114,13 @@ func rewriteValueAMD64_OpRsh32Ux32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux32 x y) @@ -39099,8 +37133,7 @@ func rewriteValueAMD64_OpRsh32Ux32(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39121,15 +37154,13 @@ func rewriteValueAMD64_OpRsh32Ux64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux64 x y) @@ -39142,8 +37173,7 @@ func rewriteValueAMD64_OpRsh32Ux64(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39164,15 +37194,13 @@ func rewriteValueAMD64_OpRsh32Ux8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 32 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh32Ux8 x y) @@ -39185,8 +37213,7 @@ func rewriteValueAMD64_OpRsh32Ux8(v *Value) bool { break } v.reset(OpAMD64SHRL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39207,9 +37234,7 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool { } v.reset(OpAMD64SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) @@ -39217,8 +37242,8 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x16 x y) @@ -39231,8 +37256,7 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39253,9 +37277,7 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool { } v.reset(OpAMD64SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) @@ -39263,8 +37285,8 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x32 x y) @@ -39277,8 +37299,7 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39299,9 +37320,7 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool { } v.reset(OpAMD64SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) @@ -39309,8 +37328,8 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x64 x y) @@ -39323,8 +37342,7 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39345,9 +37363,7 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool { } v.reset(OpAMD64SARL) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) @@ -39355,8 +37371,8 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh32x8 x y) @@ -39369,8 +37385,7 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool { break } v.reset(OpAMD64SARL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39391,15 +37406,13 @@ func rewriteValueAMD64_OpRsh64Ux16(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh64Ux16 x y) @@ -39412,8 +37425,7 @@ func rewriteValueAMD64_OpRsh64Ux16(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39434,15 +37446,13 @@ func rewriteValueAMD64_OpRsh64Ux32(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh64Ux32 x y) @@ -39455,8 +37465,7 @@ func rewriteValueAMD64_OpRsh64Ux32(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39477,15 +37486,13 @@ func rewriteValueAMD64_OpRsh64Ux64(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh64Ux64 x y) @@ -39498,8 +37505,7 @@ func rewriteValueAMD64_OpRsh64Ux64(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39520,15 +37526,13 @@ func rewriteValueAMD64_OpRsh64Ux8(v *Value) bool { } v.reset(OpAMD64ANDQ) v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh64Ux8 x y) @@ -39541,8 +37545,7 @@ func rewriteValueAMD64_OpRsh64Ux8(v *Value) bool { break } v.reset(OpAMD64SHRQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39563,9 +37566,7 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool { } v.reset(OpAMD64SARQ) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) @@ -39573,8 +37574,8 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh64x16 x y) @@ -39587,8 +37588,7 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39609,9 +37609,7 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool { } v.reset(OpAMD64SARQ) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) @@ -39619,8 +37617,8 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh64x32 x y) @@ -39633,8 +37631,7 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39655,9 +37652,7 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool { } v.reset(OpAMD64SARQ) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) @@ -39665,8 +37660,8 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 x y) @@ -39679,8 +37674,7 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39701,9 +37695,7 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool { } v.reset(OpAMD64SARQ) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) @@ -39711,8 +37703,8 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh64x8 x y) @@ -39725,8 +37717,7 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool { break } v.reset(OpAMD64SARQ) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39747,15 +37738,13 @@ func rewriteValueAMD64_OpRsh8Ux16(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux16 x y) @@ -39768,8 +37757,7 @@ func rewriteValueAMD64_OpRsh8Ux16(v *Value) bool { break } v.reset(OpAMD64SHRB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39790,15 +37778,13 @@ func rewriteValueAMD64_OpRsh8Ux32(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux32 x y) @@ -39811,8 +37797,7 @@ func rewriteValueAMD64_OpRsh8Ux32(v *Value) bool { break } v.reset(OpAMD64SHRB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39833,15 +37818,13 @@ func rewriteValueAMD64_OpRsh8Ux64(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux64 x y) @@ -39854,8 +37837,7 @@ func rewriteValueAMD64_OpRsh8Ux64(v *Value) bool { break } v.reset(OpAMD64SHRB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39876,15 +37858,13 @@ func rewriteValueAMD64_OpRsh8Ux8(v *Value) bool { } v.reset(OpAMD64ANDL) v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t) v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) v2.AuxInt = 8 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Rsh8Ux8 x y) @@ -39897,8 +37877,7 @@ func rewriteValueAMD64_OpRsh8Ux8(v *Value) bool { break } v.reset(OpAMD64SHRB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39919,9 +37898,7 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool { } v.reset(OpAMD64SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags) @@ -39929,8 +37906,8 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x16 x y) @@ -39943,8 +37920,7 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool { break } v.reset(OpAMD64SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -39965,9 +37941,7 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool { } v.reset(OpAMD64SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags) @@ -39975,8 +37949,8 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x32 x y) @@ -39989,8 +37963,7 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool { break } v.reset(OpAMD64SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -40011,9 +37984,7 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool { } v.reset(OpAMD64SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags) @@ -40021,8 +37992,8 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x64 x y) @@ -40035,8 +38006,7 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool { break } v.reset(OpAMD64SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -40057,9 +38027,7 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool { } v.reset(OpAMD64SARB) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type) v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type) v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags) @@ -40067,8 +38035,8 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } // match: (Rsh8x8 x y) @@ -40081,8 +38049,7 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool { break } v.reset(OpAMD64SARB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -40102,8 +38069,7 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -40118,8 +38084,7 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt32 v0 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -40135,13 +38100,11 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpAMD64ADCQ, 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, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags)) v2.AddArg(c) v1.AddArg(v2) - v0.AddArg(v1) + v0.AddArg3(x, y, v1) v.AddArg(v0) return true } @@ -40157,13 +38120,11 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpAMD64SBBQ, 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, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags)) v2.AddArg(c) v1.AddArg(v2) - v0.AddArg(v1) + v0.AddArg3(x, y, v1) v.AddArg(v0) return true } @@ -40177,10 +38138,9 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { tuple := v_0.Args[1] val := v_0.Args[0] v.reset(OpAMD64ADDL) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpSelect0, t) v0.AddArg(tuple) - v.AddArg(v0) + v.AddArg2(val, v0) return true } // match: (Select0 (AddTupleFirst64 val tuple)) @@ -40193,10 +38153,9 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool { tuple := v_0.Args[1] val := v_0.Args[0] v.reset(OpAMD64ADDQ) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpSelect0, t) v0.AddArg(tuple) - v.AddArg(v0) + v.AddArg2(val, v0) return true } return false @@ -40216,8 +38175,7 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool { v.reset(OpAMD64SETO) v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags)) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -40233,8 +38191,7 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool { v.reset(OpAMD64SETO) v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v1 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags)) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -40253,13 +38210,11 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64) v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v2 := b.NewValue0(v.Pos, OpAMD64ADCQ, 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, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags)) v4.AddArg(c) v3.AddArg(v4) - v2.AddArg(v3) + v2.AddArg3(x, y, v3) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -40279,13 +38234,11 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64) v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v2 := b.NewValue0(v.Pos, OpAMD64SBBQ, 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, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags)) v4.AddArg(c) v3.AddArg(v4) - v2.AddArg(v3) + v2.AddArg3(x, y, v3) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -40380,9 +38333,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVSDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -40397,9 +38348,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVSSstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -40414,9 +38363,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVQstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -40431,9 +38378,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVLstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -40448,9 +38393,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -40465,9 +38408,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool { break } v.reset(OpAMD64MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -40512,8 +38453,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVBstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [2] destptr mem) @@ -40526,8 +38466,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVWstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [4] destptr mem) @@ -40540,8 +38479,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVLstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [8] destptr mem) @@ -40554,8 +38492,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVQstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [3] destptr mem) @@ -40568,12 +38505,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVBstoreconst) v.AuxInt = makeValAndOff(0, 2) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVWstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [5] destptr mem) @@ -40586,12 +38521,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVBstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [6] destptr mem) @@ -40604,12 +38537,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVWstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [7] destptr mem) @@ -40622,12 +38553,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { mem := v_1 v.reset(OpAMD64MOVLstoreconst) v.AuxInt = makeValAndOff(0, 3) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -40645,12 +38574,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = s % 8 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(destptr, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [16] destptr mem) @@ -40667,12 +38594,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { } v.reset(OpAMD64MOVQstoreconst) v.AuxInt = makeValAndOff(0, 8) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [24] destptr mem) @@ -40689,16 +38614,13 @@ func rewriteValueAMD64_OpZero(v *Value) bool { } v.reset(OpAMD64MOVQstoreconst) v.AuxInt = makeValAndOff(0, 16) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v0.AuxInt = makeValAndOff(0, 8) - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(destptr, mem) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [32] destptr mem) @@ -40715,20 +38637,16 @@ func rewriteValueAMD64_OpZero(v *Value) bool { } v.reset(OpAMD64MOVQstoreconst) v.AuxInt = makeValAndOff(0, 24) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v0.AuxInt = makeValAndOff(0, 16) - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v1.AuxInt = makeValAndOff(0, 8) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v2.AuxInt = 0 - v2.AddArg(destptr) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg2(destptr, mem) + v1.AddArg2(destptr, v2) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -40743,12 +38661,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { } v.reset(OpAMD64MOVQstoreconst) v.AuxInt = makeValAndOff(0, s-8) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -40766,14 +38682,11 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = s % 16 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [s] destptr mem) @@ -40791,12 +38704,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = s % 16 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(destptr, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [16] destptr mem) @@ -40812,11 +38723,9 @@ func rewriteValueAMD64_OpZero(v *Value) bool { break } v.reset(OpAMD64MOVOstore) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [32] destptr mem) @@ -40835,17 +38744,13 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = 16 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) - v2.AddArg(destptr) v3 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v3.AuxInt = 0 - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg3(destptr, v3, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Zero [48] destptr mem) @@ -40864,26 +38769,20 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = 32 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v3.AuxInt = 16 v3.AddArg(destptr) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v4.AuxInt = 0 - v2.AddArg(v4) v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) - v5.AddArg(destptr) v6 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v6.AuxInt = 0 - v5.AddArg(v6) - v5.AddArg(mem) - v2.AddArg(v5) - v.AddArg(v2) + v5.AddArg3(destptr, v6, mem) + v2.AddArg3(v3, v4, v5) + v.AddArg3(v0, v1, v2) return true } // match: (Zero [64] destptr mem) @@ -40902,35 +38801,27 @@ func rewriteValueAMD64_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = 48 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v3.AuxInt = 32 v3.AddArg(destptr) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v4.AuxInt = 0 - v2.AddArg(v4) v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) v6 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v6.AuxInt = 16 v6.AddArg(destptr) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v7.AuxInt = 0 - v5.AddArg(v7) v8 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem) - v8.AddArg(destptr) v9 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v9.AuxInt = 0 - v8.AddArg(v9) - v8.AddArg(mem) - v5.AddArg(v8) - v2.AddArg(v5) - v.AddArg(v2) + v8.AddArg3(destptr, v9, mem) + v5.AddArg3(v6, v7, v8) + v2.AddArg3(v3, v4, v5) + v.AddArg3(v0, v1, v2) return true } // match: (Zero [s] destptr mem) @@ -40945,11 +38836,9 @@ func rewriteValueAMD64_OpZero(v *Value) bool { } v.reset(OpAMD64DUFFZERO) v.AuxInt = s - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [s] destptr mem) @@ -40963,14 +38852,11 @@ func rewriteValueAMD64_OpZero(v *Value) bool { break } v.reset(OpAMD64REPSTOSQ) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v0.AuxInt = s / 8 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) - v.AddArg(mem) + v.AddArg4(destptr, v0, v1, mem) return true } return false @@ -40997,8 +38883,7 @@ func rewriteBlockAMD64(b *Block) bool { y := v_0_1 b.Reset(BlockAMD64UGE) v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -41023,8 +38908,7 @@ func rewriteBlockAMD64(b *Block) bool { y := v_0_1 b.Reset(BlockAMD64UGE) v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -41538,8 +39422,7 @@ func rewriteBlockAMD64(b *Block) bool { cond := b.Controls[0] b.Reset(BlockAMD64NE) v0 := b.NewValue0(cond.Pos, OpAMD64TESTB, types.TypeFlags) - v0.AddArg(cond) - v0.AddArg(cond) + v0.AddArg2(cond, cond) b.AddControl(v0) return true } @@ -41846,8 +39729,7 @@ func rewriteBlockAMD64(b *Block) bool { y := v_0_1 b.Reset(BlockAMD64ULT) v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -41872,8 +39754,7 @@ func rewriteBlockAMD64(b *Block) bool { y := v_0_1 b.Reset(BlockAMD64ULT) v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go index 69df3f7a1e..40a7013744 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go @@ -41,8 +41,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPBconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -65,10 +64,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPBload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } @@ -89,8 +86,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPLconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -113,10 +109,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPLload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } @@ -137,8 +131,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPQconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -161,10 +154,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPQload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } @@ -185,8 +176,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPWconstload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16) v0.AuxInt = offOnly(vo) v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -209,10 +199,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPWload(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(ptr, mem) + v.AddArg2(v0, x) return true } } diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go index 6849fecc2a..5be3e34dcb 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM.go +++ b/src/cmd/compile/internal/ssa/rewriteARM.go @@ -918,8 +918,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { flags := v_2 v.reset(OpARMADCconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } break @@ -937,9 +936,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { flags := v_2 v.reset(OpARMADCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } break @@ -957,9 +954,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { flags := v_2 v.reset(OpARMADCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } break @@ -977,9 +972,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { flags := v_2 v.reset(OpARMADCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } break @@ -996,10 +989,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMADCshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } break @@ -1016,10 +1006,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMADCshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } break @@ -1036,10 +1023,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMADCshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } break @@ -1061,8 +1045,7 @@ func rewriteValueARM_OpARMADCconst(v *Value) bool { flags := v_1 v.reset(OpARMADCconst) v.AuxInt = int64(int32(c + d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } // match: (ADCconst [c] (SUBconst [d] x) flags) @@ -1077,8 +1060,7 @@ func rewriteValueARM_OpARMADCconst(v *Value) bool { flags := v_1 v.reset(OpARMADCconst) v.AuxInt = int64(int32(c - d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -1103,8 +1085,7 @@ func rewriteValueARM_OpARMADCshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (ADCshiftLL x (MOVWconst [c]) [d] flags) @@ -1119,8 +1100,7 @@ func rewriteValueARM_OpARMADCshiftLL(v *Value) bool { flags := v_2 v.reset(OpARMADCconst) v.AuxInt = int64(int32(uint32(c) << uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -1144,10 +1124,8 @@ func rewriteValueARM_OpARMADCshiftLLreg(v *Value) bool { v.reset(OpARMADCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (ADCshiftLLreg x y (MOVWconst [c]) flags) @@ -1162,9 +1140,7 @@ func rewriteValueARM_OpARMADCshiftLLreg(v *Value) bool { flags := v_3 v.reset(OpARMADCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -1189,8 +1165,7 @@ func rewriteValueARM_OpARMADCshiftRA(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (ADCshiftRA x (MOVWconst [c]) [d] flags) @@ -1205,8 +1180,7 @@ func rewriteValueARM_OpARMADCshiftRA(v *Value) bool { flags := v_2 v.reset(OpARMADCconst) v.AuxInt = int64(int32(c) >> uint64(d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -1230,10 +1204,8 @@ func rewriteValueARM_OpARMADCshiftRAreg(v *Value) bool { v.reset(OpARMADCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (ADCshiftRAreg x y (MOVWconst [c]) flags) @@ -1248,9 +1220,7 @@ func rewriteValueARM_OpARMADCshiftRAreg(v *Value) bool { flags := v_3 v.reset(OpARMADCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -1275,8 +1245,7 @@ func rewriteValueARM_OpARMADCshiftRL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (ADCshiftRL x (MOVWconst [c]) [d] flags) @@ -1291,8 +1260,7 @@ func rewriteValueARM_OpARMADCshiftRL(v *Value) bool { flags := v_2 v.reset(OpARMADCconst) v.AuxInt = int64(int32(uint32(c) >> uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -1316,10 +1284,8 @@ func rewriteValueARM_OpARMADCshiftRLreg(v *Value) bool { v.reset(OpARMADCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (ADCshiftRLreg x y (MOVWconst [c]) flags) @@ -1334,9 +1300,7 @@ func rewriteValueARM_OpARMADCshiftRLreg(v *Value) bool { flags := v_3 v.reset(OpARMADCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -1373,8 +1337,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1391,8 +1354,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1409,8 +1371,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1426,9 +1387,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1444,9 +1403,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1462,9 +1419,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1479,8 +1434,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { } y := v_1.Args[0] v.reset(OpARMSUB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1503,8 +1457,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { v.reset(OpARMRSBconst) v.AuxInt = c + d v0 := b.NewValue0(v.Pos, OpARMADD, t) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1521,9 +1474,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool { x := v_0.Args[0] a := v_1 v.reset(OpARMMULA) - v.AddArg(x) - v.AddArg(y) - v.AddArg(a) + v.AddArg3(x, y, a) return true } break @@ -1548,9 +1499,7 @@ func rewriteValueARM_OpARMADDD(v *Value) bool { continue } v.reset(OpARMMULAD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1570,9 +1519,7 @@ func rewriteValueARM_OpARMADDD(v *Value) bool { continue } v.reset(OpARMMULSD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1597,9 +1544,7 @@ func rewriteValueARM_OpARMADDF(v *Value) bool { continue } v.reset(OpARMMULAF) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1619,9 +1564,7 @@ func rewriteValueARM_OpARMADDF(v *Value) bool { continue } v.reset(OpARMMULSF) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } break @@ -1659,8 +1602,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1677,8 +1619,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1695,8 +1636,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMADDSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -1712,9 +1652,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDSshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1730,9 +1668,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDSshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1748,9 +1684,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMADDSshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -1811,8 +1745,7 @@ func rewriteValueARM_OpARMADDSshiftLLreg(v *Value) bool { v.reset(OpARMADDSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1827,8 +1760,7 @@ func rewriteValueARM_OpARMADDSshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -1887,8 +1819,7 @@ func rewriteValueARM_OpARMADDSshiftRAreg(v *Value) bool { v.reset(OpARMADDSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1903,8 +1834,7 @@ func rewriteValueARM_OpARMADDSshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -1963,8 +1893,7 @@ func rewriteValueARM_OpARMADDSshiftRLreg(v *Value) bool { v.reset(OpARMADDSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1979,8 +1908,7 @@ func rewriteValueARM_OpARMADDSshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2203,8 +2131,7 @@ func rewriteValueARM_OpARMADDshiftLLreg(v *Value) bool { v.reset(OpARMADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2219,8 +2146,7 @@ func rewriteValueARM_OpARMADDshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2279,8 +2205,7 @@ func rewriteValueARM_OpARMADDshiftRAreg(v *Value) bool { v.reset(OpARMADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2295,8 +2220,7 @@ func rewriteValueARM_OpARMADDshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2371,8 +2295,7 @@ func rewriteValueARM_OpARMADDshiftRLreg(v *Value) bool { v.reset(OpARMADDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2387,8 +2310,7 @@ func rewriteValueARM_OpARMADDshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMADDshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2424,8 +2346,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMANDshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2442,8 +2363,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMANDshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2460,8 +2380,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMANDshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2477,9 +2396,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMANDshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -2495,9 +2412,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMANDshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -2513,9 +2428,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMANDshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -2542,8 +2455,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { } y := v_1.Args[0] v.reset(OpARMBIC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2560,8 +2472,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2578,8 +2489,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2596,8 +2506,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2759,8 +2668,7 @@ func rewriteValueARM_OpARMANDshiftLLreg(v *Value) bool { v.reset(OpARMANDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2775,8 +2683,7 @@ func rewriteValueARM_OpARMANDshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMANDshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2854,8 +2761,7 @@ func rewriteValueARM_OpARMANDshiftRAreg(v *Value) bool { v.reset(OpARMANDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2870,8 +2776,7 @@ func rewriteValueARM_OpARMANDshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMANDshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -2949,8 +2854,7 @@ func rewriteValueARM_OpARMANDshiftRLreg(v *Value) bool { v.reset(OpARMANDconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2965,8 +2869,7 @@ func rewriteValueARM_OpARMANDshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMANDshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3030,8 +2933,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (BIC x (SRLconst [c] y)) @@ -3045,8 +2947,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (BIC x (SRAconst [c] y)) @@ -3060,8 +2961,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { y := v_1.Args[0] v.reset(OpARMBICshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (BIC x (SLL y z)) @@ -3074,9 +2974,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMBICshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (BIC x (SRL y z)) @@ -3089,9 +2987,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMBICshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (BIC x (SRA y z)) @@ -3104,9 +3000,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMBICshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (BIC x x) @@ -3255,8 +3149,7 @@ func rewriteValueARM_OpARMBICshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMBICshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3312,8 +3205,7 @@ func rewriteValueARM_OpARMBICshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMBICshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3369,8 +3261,7 @@ func rewriteValueARM_OpARMBICshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMBICshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3406,8 +3297,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMNshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3424,8 +3314,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMNshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3442,8 +3331,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMNshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3459,9 +3347,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMNshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -3477,9 +3363,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMNshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -3495,9 +3379,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMNshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -3512,8 +3394,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool { } y := v_1.Args[0] v.reset(OpARMCMP) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -3653,8 +3534,7 @@ func rewriteValueARM_OpARMCMNshiftLLreg(v *Value) bool { v.reset(OpARMCMNconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3669,8 +3549,7 @@ func rewriteValueARM_OpARMCMNshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMNshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3729,8 +3608,7 @@ func rewriteValueARM_OpARMCMNshiftRAreg(v *Value) bool { v.reset(OpARMCMNconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3745,8 +3623,7 @@ func rewriteValueARM_OpARMCMNshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMNshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3805,8 +3682,7 @@ func rewriteValueARM_OpARMCMNshiftRLreg(v *Value) bool { v.reset(OpARMCMNconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3821,8 +3697,7 @@ func rewriteValueARM_OpARMCMNshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMNshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -3898,8 +3773,7 @@ func rewriteValueARM_OpARMCMOVWHSconst(v *Value) bool { flags := v_1.Args[0] v.reset(OpARMCMOVWLSconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -3975,8 +3849,7 @@ func rewriteValueARM_OpARMCMOVWLSconst(v *Value) bool { flags := v_1.Args[0] v.reset(OpARMCMOVWHSconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -4024,8 +3897,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { } v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -4040,8 +3912,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMPshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMP (SLLconst [c] y) x) @@ -4056,8 +3927,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -4072,8 +3942,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMPshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMP (SRLconst [c] y) x) @@ -4088,8 +3957,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -4104,8 +3972,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { y := v_1.Args[0] v.reset(OpARMCMPshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMP (SRAconst [c] y) x) @@ -4120,8 +3987,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -4135,9 +4001,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMPshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (CMP (SLL y z) x) @@ -4151,9 +4015,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { x := v_1 v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) v.AddArg(v0) return true } @@ -4167,9 +4029,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMPshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (CMP (SRL y z) x) @@ -4183,9 +4043,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { x := v_1 v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) v.AddArg(v0) return true } @@ -4199,9 +4057,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMCMPshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (CMP (SRA y z) x) @@ -4215,9 +4071,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { x := v_1 v.reset(OpARMInvertFlags) v0 := b.NewValue0(v.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) v.AddArg(v0) return true } @@ -4230,8 +4084,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool { } y := v_1.Args[0] v.reset(OpARMCMN) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4456,8 +4309,7 @@ func rewriteValueARM_OpARMCMPshiftLLreg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v0.AuxInt = c v1 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -4473,8 +4325,7 @@ func rewriteValueARM_OpARMCMPshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMPshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4536,8 +4387,7 @@ func rewriteValueARM_OpARMCMPshiftRAreg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v0.AuxInt = c v1 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -4553,8 +4403,7 @@ func rewriteValueARM_OpARMCMPshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMPshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -4616,8 +4465,7 @@ func rewriteValueARM_OpARMCMPshiftRLreg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v0.AuxInt = c v1 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -4633,8 +4481,7 @@ func rewriteValueARM_OpARMCMPshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMCMPshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -5241,8 +5088,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool { v.reset(OpARMMOVBUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -5259,8 +5105,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool { v.reset(OpARMMOVBUload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -5282,8 +5127,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool { v.reset(OpARMMOVBUload) 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 (MOVBstore [off2] {sym2} ptr2 x _)) @@ -5326,9 +5170,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool { break } v.reset(OpARMMOVBUloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBUload [off] {sym} (SB) _) @@ -5383,8 +5225,7 @@ func rewriteValueARM_OpARMMOVBUloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVBUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUloadidx (MOVWconst [c]) ptr mem) @@ -5398,8 +5239,7 @@ func rewriteValueARM_OpARMMOVBUloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVBUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -5472,8 +5312,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool { v.reset(OpARMMOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -5490,8 +5329,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool { v.reset(OpARMMOVBload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -5513,8 +5351,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool { v.reset(OpARMMOVBload) 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 (MOVBstore [off2] {sym2} ptr2 x _)) @@ -5557,9 +5394,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool { break } v.reset(OpARMMOVBloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -5601,8 +5436,7 @@ func rewriteValueARM_OpARMMOVBloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVBload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBloadidx (MOVWconst [c]) ptr mem) @@ -5616,8 +5450,7 @@ func rewriteValueARM_OpARMMOVBloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVBload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -5696,9 +5529,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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 [off1] {sym} (SUBconst [off2] ptr) val mem) @@ -5716,9 +5547,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -5741,9 +5570,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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 (MOVBreg x) mem) @@ -5760,9 +5587,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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) @@ -5779,9 +5604,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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) @@ -5798,9 +5621,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) 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) @@ -5817,9 +5638,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { v.reset(OpARMMOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [0] {sym} (ADD ptr idx) val mem) @@ -5841,10 +5660,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool { break } v.reset(OpARMMOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -5866,9 +5682,7 @@ func rewriteValueARM_OpARMMOVBstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVBstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstoreidx (MOVWconst [c]) ptr val mem) @@ -5883,9 +5697,7 @@ func rewriteValueARM_OpARMMOVBstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVBstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -5907,8 +5719,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool { v.reset(OpARMMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -5925,8 +5736,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool { v.reset(OpARMMOVDload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -5948,8 +5758,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool { v.reset(OpARMMOVDload) 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 (MOVDstore [off2] {sym2} ptr2 x _)) @@ -5996,9 +5805,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool { v.reset(OpARMMOVDstore) 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 [off1] {sym} (SUBconst [off2] ptr) val mem) @@ -6016,9 +5823,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool { v.reset(OpARMMOVDstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -6041,9 +5846,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool { v.reset(OpARMMOVDstore) 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 @@ -6065,8 +5868,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool { v.reset(OpARMMOVFload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -6083,8 +5885,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool { v.reset(OpARMMOVFload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -6106,8 +5907,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool { v.reset(OpARMMOVFload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off] {sym} ptr (MOVFstore [off2] {sym2} ptr2 x _)) @@ -6154,9 +5954,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool { v.reset(OpARMMOVFstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVFstore [off1] {sym} (SUBconst [off2] ptr) val mem) @@ -6174,9 +5972,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool { v.reset(OpARMMOVFstore) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVFstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -6199,9 +5995,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool { v.reset(OpARMMOVFstore) 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 @@ -6225,8 +6019,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool { v.reset(OpARMMOVHUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -6243,8 +6036,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool { v.reset(OpARMMOVHUload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -6266,8 +6058,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool { v.reset(OpARMMOVHUload) 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 (MOVHstore [off2] {sym2} ptr2 x _)) @@ -6310,9 +6101,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool { break } v.reset(OpARMMOVHUloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHUload [off] {sym} (SB) _) @@ -6367,8 +6156,7 @@ func rewriteValueARM_OpARMMOVHUloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVHUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUloadidx (MOVWconst [c]) ptr mem) @@ -6382,8 +6170,7 @@ func rewriteValueARM_OpARMMOVHUloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVHUload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -6479,8 +6266,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool { v.reset(OpARMMOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -6497,8 +6283,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool { v.reset(OpARMMOVHload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -6520,8 +6305,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool { v.reset(OpARMMOVHload) 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 (MOVHstore [off2] {sym2} ptr2 x _)) @@ -6564,9 +6348,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool { break } v.reset(OpARMMOVHloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6608,8 +6390,7 @@ func rewriteValueARM_OpARMMOVHloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHloadidx (MOVWconst [c]) ptr mem) @@ -6623,8 +6404,7 @@ func rewriteValueARM_OpARMMOVHloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -6749,9 +6529,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { v.reset(OpARMMOVHstore) 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 [off1] {sym} (SUBconst [off2] ptr) val mem) @@ -6769,9 +6547,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { v.reset(OpARMMOVHstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -6794,9 +6570,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { v.reset(OpARMMOVHstore) 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 (MOVHreg x) mem) @@ -6813,9 +6587,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { v.reset(OpARMMOVHstore) 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) @@ -6832,9 +6604,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { v.reset(OpARMMOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [0] {sym} (ADD ptr idx) val mem) @@ -6856,10 +6626,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool { break } v.reset(OpARMMOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -6881,9 +6648,7 @@ func rewriteValueARM_OpARMMOVHstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVHstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstoreidx (MOVWconst [c]) ptr val mem) @@ -6898,9 +6663,7 @@ func rewriteValueARM_OpARMMOVHstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVHstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -6924,8 +6687,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { v.reset(OpARMMOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym} (SUBconst [off2] ptr) mem) @@ -6942,8 +6704,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { v.reset(OpARMMOVWload) v.AuxInt = off1 - off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -6965,8 +6726,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { v.reset(OpARMMOVWload) 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 (MOVWstore [off2] {sym2} ptr2 x _)) @@ -7010,9 +6770,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { break } v.reset(OpARMMOVWloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [0] {sym} (ADDshiftLL ptr idx [c]) mem) @@ -7035,9 +6793,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { } v.reset(OpARMMOVWloadshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [0] {sym} (ADDshiftRL ptr idx [c]) mem) @@ -7060,9 +6816,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { } v.reset(OpARMMOVWloadshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [0] {sym} (ADDshiftRA ptr idx [c]) mem) @@ -7085,9 +6839,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool { } v.reset(OpARMMOVWloadshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off] {sym} (SB) _) @@ -7143,8 +6895,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx (MOVWconst [c]) ptr mem) @@ -7158,8 +6909,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx ptr (SLLconst idx [c]) mem) @@ -7174,9 +6924,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx (SLLconst idx [c]) ptr mem) @@ -7191,9 +6939,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx ptr (SRLconst idx [c]) mem) @@ -7208,9 +6954,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx (SRLconst idx [c]) ptr mem) @@ -7225,9 +6969,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx ptr (SRAconst idx [c]) mem) @@ -7242,9 +6984,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWloadidx (SRAconst idx [c]) ptr mem) @@ -7259,9 +6999,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool { mem := v_2 v.reset(OpARMMOVWloadshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7307,8 +7045,7 @@ func rewriteValueARM_OpARMMOVWloadshiftLL(v *Value) bool { mem := v_2 v.reset(OpARMMOVWload) v.AuxInt = int64(uint32(c) << uint64(d)) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -7354,8 +7091,7 @@ func rewriteValueARM_OpARMMOVWloadshiftRA(v *Value) bool { mem := v_2 v.reset(OpARMMOVWload) v.AuxInt = int64(int32(c) >> uint64(d)) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -7401,8 +7137,7 @@ func rewriteValueARM_OpARMMOVWloadshiftRL(v *Value) bool { mem := v_2 v.reset(OpARMMOVWload) v.AuxInt = int64(uint32(c) >> uint64(d)) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -7453,9 +7188,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { v.reset(OpARMMOVWstore) 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 [off1] {sym} (SUBconst [off2] ptr) val mem) @@ -7473,9 +7206,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { v.reset(OpARMMOVWstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -7498,9 +7229,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { v.reset(OpARMMOVWstore) 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 [0] {sym} (ADD ptr idx) val mem) @@ -7522,10 +7251,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { break } v.reset(OpARMMOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [0] {sym} (ADDshiftLL ptr idx [c]) val mem) @@ -7549,10 +7275,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { } v.reset(OpARMMOVWstoreshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [0] {sym} (ADDshiftRL ptr idx [c]) val mem) @@ -7576,10 +7299,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { } v.reset(OpARMMOVWstoreshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [0] {sym} (ADDshiftRA ptr idx [c]) val mem) @@ -7603,10 +7323,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool { } v.reset(OpARMMOVWstoreshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7628,9 +7345,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx (MOVWconst [c]) ptr val mem) @@ -7645,9 +7360,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx ptr (SLLconst idx [c]) val mem) @@ -7663,10 +7376,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx (SLLconst idx [c]) ptr val mem) @@ -7682,10 +7392,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftLL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx ptr (SRLconst idx [c]) val mem) @@ -7701,10 +7408,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx (SRLconst idx [c]) ptr val mem) @@ -7720,10 +7424,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftRL) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx ptr (SRAconst idx [c]) val mem) @@ -7739,10 +7440,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstoreidx (SRAconst idx [c]) ptr val mem) @@ -7758,10 +7456,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstoreshiftRA) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -7784,9 +7479,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftLL(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstore) v.AuxInt = int64(uint32(c) << uint64(d)) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -7809,9 +7502,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRA(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstore) v.AuxInt = int64(int32(c) >> uint64(d)) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -7834,9 +7525,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRL(v *Value) bool { mem := v_3 v.reset(OpARMMOVWstore) v.AuxInt = int64(uint32(c) >> uint64(d)) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -7928,8 +7617,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { } v.reset(OpARMADDshiftLL) v.AuxInt = log2(c - 1) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -7949,8 +7637,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { } v.reset(OpARMRSBshiftLL) v.AuxInt = log2(c + 1) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -7972,8 +7659,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { v.AuxInt = log2(c / 3) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = 1 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -7996,8 +7682,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { v.AuxInt = log2(c / 5) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = 2 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -8020,8 +7705,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { v.AuxInt = log2(c / 7) v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -8044,8 +7728,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool { v.AuxInt = log2(c / 9) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = 3 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -8090,8 +7773,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { break } v.reset(OpARMSUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MULA _ (MOVWconst [0]) a) @@ -8115,8 +7797,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { } a := v_2 v.reset(OpARMADD) - v.AddArg(x) - v.AddArg(a) + v.AddArg2(x, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8136,8 +7817,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8156,10 +7836,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v.reset(OpARMADD) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8178,10 +7856,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v.reset(OpARMADD) v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8202,11 +7878,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 3) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 1 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8227,11 +7901,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8252,11 +7924,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 7) v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA x (MOVWconst [c]) a) @@ -8277,11 +7947,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8298,8 +7966,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { break } v.reset(OpARMSUB) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MULA (MOVWconst [0]) _ a) @@ -8323,8 +7990,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { x := v_1 a := v_2 v.reset(OpARMADD) - v.AddArg(x) - v.AddArg(a) + v.AddArg2(x, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8344,8 +8010,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8364,10 +8029,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v.reset(OpARMADD) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8386,10 +8049,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v.reset(OpARMADD) v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8410,11 +8071,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 3) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 1 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8435,11 +8094,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8460,11 +8117,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 7) v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) x a) @@ -8485,11 +8140,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULA (MOVWconst [c]) (MOVWconst [d]) a) @@ -8528,8 +8181,7 @@ func rewriteValueARM_OpARMMULD(v *Value) bool { continue } v.reset(OpARMNMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -8553,8 +8205,7 @@ func rewriteValueARM_OpARMMULF(v *Value) bool { continue } v.reset(OpARMNMULF) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -8580,8 +8231,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { break } v.reset(OpARMADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MULS _ (MOVWconst [0]) a) @@ -8605,8 +8255,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { } a := v_2 v.reset(OpARMRSB) - v.AddArg(x) - v.AddArg(a) + v.AddArg2(x, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8626,8 +8275,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8646,10 +8294,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v.reset(OpARMRSB) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8668,10 +8314,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v.reset(OpARMRSB) v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8692,11 +8336,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 3) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 1 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8717,11 +8359,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8742,11 +8382,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 7) v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS x (MOVWconst [c]) a) @@ -8767,11 +8405,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8788,8 +8424,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { break } v.reset(OpARMADD) - v.AddArg(a) - v.AddArg(x) + v.AddArg2(a, x) return true } // match: (MULS (MOVWconst [0]) _ a) @@ -8813,8 +8448,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { x := v_1 a := v_2 v.reset(OpARMRSB) - v.AddArg(x) - v.AddArg(a) + v.AddArg2(x, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8834,8 +8468,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = log2(c) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8854,10 +8487,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v.reset(OpARMRSB) v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v0.AuxInt = log2(c - 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8876,10 +8507,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v.reset(OpARMRSB) v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v0.AuxInt = log2(c + 1) - v0.AddArg(x) - v0.AddArg(x) - v.AddArg(v0) - v.AddArg(a) + v0.AddArg2(x, x) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8900,11 +8529,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 3) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 1 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8925,11 +8552,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 5) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 2 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8950,11 +8575,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 7) v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) x a) @@ -8975,11 +8598,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool { v0.AuxInt = log2(c / 9) v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type) v1.AuxInt = 3 - v1.AddArg(x) - v1.AddArg(x) + v1.AddArg2(x, x) v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(a) + v.AddArg2(v0, a) return true } // match: (MULS (MOVWconst [c]) (MOVWconst [d]) a) @@ -9062,8 +8683,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARMMVNshiftLLreg) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (MVN (SRL x y)) @@ -9075,8 +8695,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARMMVNshiftRLreg) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (MVN (SRA x y)) @@ -9088,8 +8707,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpARMMVNshiftRAreg) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9211,8 +8829,7 @@ func rewriteValueARM_OpARMNEGD(v *Value) bool { break } v.reset(OpARMNMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9232,8 +8849,7 @@ func rewriteValueARM_OpARMNEGF(v *Value) bool { break } v.reset(OpARMNMULF) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9251,8 +8867,7 @@ func rewriteValueARM_OpARMNMULD(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARMMULD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9272,8 +8887,7 @@ func rewriteValueARM_OpARMNMULF(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpARMMULF) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9376,8 +8990,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMORshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9394,8 +9007,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMORshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9412,8 +9024,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMORshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -9429,9 +9040,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMORshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -9447,9 +9056,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMORshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -9465,9 +9072,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMORshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -9663,8 +9268,7 @@ func rewriteValueARM_OpARMORshiftLLreg(v *Value) bool { v.reset(OpARMORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -9679,8 +9283,7 @@ func rewriteValueARM_OpARMORshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMORshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9758,8 +9361,7 @@ func rewriteValueARM_OpARMORshiftRAreg(v *Value) bool { v.reset(OpARMORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -9774,8 +9376,7 @@ func rewriteValueARM_OpARMORshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMORshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9869,8 +9470,7 @@ func rewriteValueARM_OpARMORshiftRLreg(v *Value) bool { v.reset(OpARMORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -9885,8 +9485,7 @@ func rewriteValueARM_OpARMORshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMORshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -9931,8 +9530,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMRSBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB (SLLconst [c] y) x) @@ -9946,8 +9544,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { x := v_1 v.reset(OpARMSUBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB x (SRLconst [c] y)) @@ -9961,8 +9558,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMRSBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB (SRLconst [c] y) x) @@ -9976,8 +9572,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { x := v_1 v.reset(OpARMSUBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB x (SRAconst [c] y)) @@ -9991,8 +9586,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMRSBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB (SRAconst [c] y) x) @@ -10006,8 +9600,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { x := v_1 v.reset(OpARMSUBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (RSB x (SLL y z)) @@ -10020,9 +9613,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMRSBshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB (SLL y z) x) @@ -10035,9 +9626,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMSUBshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB x (SRL y z)) @@ -10050,9 +9639,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMRSBshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB (SRL y z) x) @@ -10065,9 +9652,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMSUBshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB x (SRA y z)) @@ -10080,9 +9665,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMRSBshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB (SRA y z) x) @@ -10095,9 +9678,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMSUBshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (RSB x x) @@ -10125,9 +9706,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool { break } v.reset(OpARMMULS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(a) + v.AddArg3(x, y, a) return true } return false @@ -10186,8 +9765,7 @@ func rewriteValueARM_OpARMRSBSshiftLLreg(v *Value) bool { v.reset(OpARMSUBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10202,8 +9780,7 @@ func rewriteValueARM_OpARMRSBSshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10262,8 +9839,7 @@ func rewriteValueARM_OpARMRSBSshiftRAreg(v *Value) bool { v.reset(OpARMSUBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10278,8 +9854,7 @@ func rewriteValueARM_OpARMRSBSshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10338,8 +9913,7 @@ func rewriteValueARM_OpARMRSBSshiftRLreg(v *Value) bool { v.reset(OpARMSUBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10354,8 +9928,7 @@ func rewriteValueARM_OpARMRSBSshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10489,8 +10062,7 @@ func rewriteValueARM_OpARMRSBshiftLLreg(v *Value) bool { v.reset(OpARMSUBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10505,8 +10077,7 @@ func rewriteValueARM_OpARMRSBshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10582,8 +10153,7 @@ func rewriteValueARM_OpARMRSBshiftRAreg(v *Value) bool { v.reset(OpARMSUBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10598,8 +10168,7 @@ func rewriteValueARM_OpARMRSBshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10675,8 +10244,7 @@ func rewriteValueARM_OpARMRSBshiftRLreg(v *Value) bool { v.reset(OpARMSUBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -10691,8 +10259,7 @@ func rewriteValueARM_OpARMRSBshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMRSBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10712,8 +10279,7 @@ func rewriteValueARM_OpARMRSCconst(v *Value) bool { flags := v_1 v.reset(OpARMRSCconst) v.AuxInt = int64(int32(c - d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } // match: (RSCconst [c] (SUBconst [d] x) flags) @@ -10728,8 +10294,7 @@ func rewriteValueARM_OpARMRSCconst(v *Value) bool { flags := v_1 v.reset(OpARMRSCconst) v.AuxInt = int64(int32(c + d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -10754,8 +10319,7 @@ func rewriteValueARM_OpARMRSCshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (RSCshiftLL x (MOVWconst [c]) [d] flags) @@ -10770,8 +10334,7 @@ func rewriteValueARM_OpARMRSCshiftLL(v *Value) bool { flags := v_2 v.reset(OpARMRSCconst) v.AuxInt = int64(int32(uint32(c) << uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -10795,10 +10358,8 @@ func rewriteValueARM_OpARMRSCshiftLLreg(v *Value) bool { v.reset(OpARMSBCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (RSCshiftLLreg x y (MOVWconst [c]) flags) @@ -10813,9 +10374,7 @@ func rewriteValueARM_OpARMRSCshiftLLreg(v *Value) bool { flags := v_3 v.reset(OpARMRSCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -10840,8 +10399,7 @@ func rewriteValueARM_OpARMRSCshiftRA(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (RSCshiftRA x (MOVWconst [c]) [d] flags) @@ -10856,8 +10414,7 @@ func rewriteValueARM_OpARMRSCshiftRA(v *Value) bool { flags := v_2 v.reset(OpARMRSCconst) v.AuxInt = int64(int32(c) >> uint64(d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -10881,10 +10438,8 @@ func rewriteValueARM_OpARMRSCshiftRAreg(v *Value) bool { v.reset(OpARMSBCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (RSCshiftRAreg x y (MOVWconst [c]) flags) @@ -10899,9 +10454,7 @@ func rewriteValueARM_OpARMRSCshiftRAreg(v *Value) bool { flags := v_3 v.reset(OpARMRSCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -10926,8 +10479,7 @@ func rewriteValueARM_OpARMRSCshiftRL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (RSCshiftRL x (MOVWconst [c]) [d] flags) @@ -10942,8 +10494,7 @@ func rewriteValueARM_OpARMRSCshiftRL(v *Value) bool { flags := v_2 v.reset(OpARMRSCconst) v.AuxInt = int64(int32(uint32(c) >> uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -10967,10 +10518,8 @@ func rewriteValueARM_OpARMRSCshiftRLreg(v *Value) bool { v.reset(OpARMSBCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (RSCshiftRLreg x y (MOVWconst [c]) flags) @@ -10985,9 +10534,7 @@ func rewriteValueARM_OpARMRSCshiftRLreg(v *Value) bool { flags := v_3 v.reset(OpARMRSCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -11007,8 +10554,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMRSCconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } // match: (SBC x (MOVWconst [c]) flags) @@ -11022,8 +10568,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMSBCconst) v.AuxInt = c - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } // match: (SBC x (SLLconst [c] y) flags) @@ -11038,9 +10583,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMSBCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC (SLLconst [c] y) x flags) @@ -11055,9 +10598,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMRSCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC x (SRLconst [c] y) flags) @@ -11072,9 +10613,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMSBCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC (SRLconst [c] y) x flags) @@ -11089,9 +10628,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMRSCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC x (SRAconst [c] y) flags) @@ -11106,9 +10643,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMSBCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC (SRAconst [c] y) x flags) @@ -11123,9 +10658,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { flags := v_2 v.reset(OpARMRSCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } // match: (SBC x (SLL y z) flags) @@ -11139,10 +10672,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMSBCshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } // match: (SBC (SLL y z) x flags) @@ -11156,10 +10686,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { x := v_1 flags := v_2 v.reset(OpARMRSCshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } // match: (SBC x (SRL y z) flags) @@ -11173,10 +10700,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMSBCshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } // match: (SBC (SRL y z) x flags) @@ -11190,10 +10714,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { x := v_1 flags := v_2 v.reset(OpARMRSCshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } // match: (SBC x (SRA y z) flags) @@ -11207,10 +10728,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { y := v_1.Args[0] flags := v_2 v.reset(OpARMSBCshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } // match: (SBC (SRA y z) x flags) @@ -11224,10 +10742,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool { x := v_1 flags := v_2 v.reset(OpARMRSCshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) - v.AddArg(flags) + v.AddArg4(x, y, z, flags) return true } return false @@ -11247,8 +10762,7 @@ func rewriteValueARM_OpARMSBCconst(v *Value) bool { flags := v_1 v.reset(OpARMSBCconst) v.AuxInt = int64(int32(c - d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } // match: (SBCconst [c] (SUBconst [d] x) flags) @@ -11263,8 +10777,7 @@ func rewriteValueARM_OpARMSBCconst(v *Value) bool { flags := v_1 v.reset(OpARMSBCconst) v.AuxInt = int64(int32(c + d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -11289,8 +10802,7 @@ func rewriteValueARM_OpARMSBCshiftLL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (SBCshiftLL x (MOVWconst [c]) [d] flags) @@ -11305,8 +10817,7 @@ func rewriteValueARM_OpARMSBCshiftLL(v *Value) bool { flags := v_2 v.reset(OpARMSBCconst) v.AuxInt = int64(int32(uint32(c) << uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -11330,10 +10841,8 @@ func rewriteValueARM_OpARMSBCshiftLLreg(v *Value) bool { v.reset(OpARMRSCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (SBCshiftLLreg x y (MOVWconst [c]) flags) @@ -11348,9 +10857,7 @@ func rewriteValueARM_OpARMSBCshiftLLreg(v *Value) bool { flags := v_3 v.reset(OpARMSBCshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -11375,8 +10882,7 @@ func rewriteValueARM_OpARMSBCshiftRA(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (SBCshiftRA x (MOVWconst [c]) [d] flags) @@ -11391,8 +10897,7 @@ func rewriteValueARM_OpARMSBCshiftRA(v *Value) bool { flags := v_2 v.reset(OpARMSBCconst) v.AuxInt = int64(int32(c) >> uint64(d)) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -11416,10 +10921,8 @@ func rewriteValueARM_OpARMSBCshiftRAreg(v *Value) bool { v.reset(OpARMRSCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (SBCshiftRAreg x y (MOVWconst [c]) flags) @@ -11434,9 +10937,7 @@ func rewriteValueARM_OpARMSBCshiftRAreg(v *Value) bool { flags := v_3 v.reset(OpARMSBCshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -11461,8 +10962,7 @@ func rewriteValueARM_OpARMSBCshiftRL(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type) v0.AuxInt = d v0.AddArg(x) - v.AddArg(v0) - v.AddArg(flags) + v.AddArg2(v0, flags) return true } // match: (SBCshiftRL x (MOVWconst [c]) [d] flags) @@ -11477,8 +10977,7 @@ func rewriteValueARM_OpARMSBCshiftRL(v *Value) bool { flags := v_2 v.reset(OpARMSBCconst) v.AuxInt = int64(int32(uint32(c) >> uint64(d))) - v.AddArg(x) - v.AddArg(flags) + v.AddArg2(x, flags) return true } return false @@ -11502,10 +11001,8 @@ func rewriteValueARM_OpARMSBCshiftRLreg(v *Value) bool { v.reset(OpARMRSCconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(flags) + v0.AddArg2(x, y) + v.AddArg2(v0, flags) return true } // match: (SBCshiftRLreg x y (MOVWconst [c]) flags) @@ -11520,9 +11017,7 @@ func rewriteValueARM_OpARMSBCshiftRLreg(v *Value) bool { flags := v_3 v.reset(OpARMSBCshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) - v.AddArg(flags) + v.AddArg3(x, y, flags) return true } return false @@ -11604,8 +11099,7 @@ func rewriteValueARM_OpARMSRAcond(v *Value) bool { break } v.reset(OpARMSRA) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAcond x _ (FlagLT_UGT)) @@ -11629,8 +11123,7 @@ func rewriteValueARM_OpARMSRAcond(v *Value) bool { break } v.reset(OpARMSRA) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAcond x _ (FlagGT_UGT)) @@ -11773,8 +11266,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB (SLLconst [c] y) x) @@ -11788,8 +11280,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { x := v_1 v.reset(OpARMRSBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB x (SRLconst [c] y)) @@ -11803,8 +11294,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB (SRLconst [c] y) x) @@ -11818,8 +11308,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { x := v_1 v.reset(OpARMRSBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB x (SRAconst [c] y)) @@ -11833,8 +11322,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB (SRAconst [c] y) x) @@ -11848,8 +11336,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { x := v_1 v.reset(OpARMRSBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUB x (SLL y z)) @@ -11862,9 +11349,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB (SLL y z) x) @@ -11877,9 +11362,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB x (SRL y z)) @@ -11892,9 +11375,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB (SRL y z) x) @@ -11907,9 +11388,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB x (SRA y z)) @@ -11922,9 +11401,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB (SRA y z) x) @@ -11937,9 +11414,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUB x x) @@ -11967,9 +11442,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool { break } v.reset(OpARMMULS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(a) + v.AddArg3(x, y, a) return true } return false @@ -11991,9 +11464,7 @@ func rewriteValueARM_OpARMSUBD(v *Value) bool { break } v.reset(OpARMMULSD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUBD a (NMULD x y)) @@ -12010,9 +11481,7 @@ func rewriteValueARM_OpARMSUBD(v *Value) bool { break } v.reset(OpARMMULAD) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } return false @@ -12034,9 +11503,7 @@ func rewriteValueARM_OpARMSUBF(v *Value) bool { break } v.reset(OpARMMULSF) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(a, x, y) return true } // match: (SUBF a (NMULF x y)) @@ -12051,11 +11518,9 @@ func rewriteValueARM_OpARMSUBF(v *Value) bool { x := v_1.Args[0] if !(a.Uses == 1 && objabi.GOARM >= 6) { break - } - v.reset(OpARMMULAF) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + } + v.reset(OpARMMULAF) + v.AddArg3(a, x, y) return true } return false @@ -12087,8 +11552,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS (SLLconst [c] y) x) @@ -12102,8 +11566,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { x := v_1 v.reset(OpARMRSBSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS x (SRLconst [c] y)) @@ -12117,8 +11580,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS (SRLconst [c] y) x) @@ -12132,8 +11594,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { x := v_1 v.reset(OpARMRSBSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS x (SRAconst [c] y)) @@ -12147,8 +11608,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_1.Args[0] v.reset(OpARMSUBSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS (SRAconst [c] y) x) @@ -12162,8 +11622,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { x := v_1 v.reset(OpARMRSBSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBS x (SLL y z)) @@ -12176,9 +11635,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBSshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUBS (SLL y z) x) @@ -12191,9 +11648,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBSshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUBS x (SRL y z)) @@ -12206,9 +11661,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBSshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUBS (SRL y z) x) @@ -12221,9 +11674,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBSshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUBS x (SRA y z)) @@ -12236,9 +11687,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMSUBSshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } // match: (SUBS (SRA y z) x) @@ -12251,9 +11700,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpARMRSBSshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } return false @@ -12312,8 +11759,7 @@ func rewriteValueARM_OpARMSUBSshiftLLreg(v *Value) bool { v.reset(OpARMRSBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12328,8 +11774,7 @@ func rewriteValueARM_OpARMSUBSshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBSshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12388,8 +11833,7 @@ func rewriteValueARM_OpARMSUBSshiftRAreg(v *Value) bool { v.reset(OpARMRSBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12404,8 +11848,7 @@ func rewriteValueARM_OpARMSUBSshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBSshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12464,8 +11907,7 @@ func rewriteValueARM_OpARMSUBSshiftRLreg(v *Value) bool { v.reset(OpARMRSBSconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12480,8 +11922,7 @@ func rewriteValueARM_OpARMSUBSshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBSshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12671,8 +12112,7 @@ func rewriteValueARM_OpARMSUBshiftLLreg(v *Value) bool { v.reset(OpARMRSBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12687,8 +12127,7 @@ func rewriteValueARM_OpARMSUBshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12764,8 +12203,7 @@ func rewriteValueARM_OpARMSUBshiftRAreg(v *Value) bool { v.reset(OpARMRSBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12780,8 +12218,7 @@ func rewriteValueARM_OpARMSUBshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12857,8 +12294,7 @@ func rewriteValueARM_OpARMSUBshiftRLreg(v *Value) bool { v.reset(OpARMRSBconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -12873,8 +12309,7 @@ func rewriteValueARM_OpARMSUBshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMSUBshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -12910,8 +12345,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTEQshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -12928,8 +12362,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTEQshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -12946,8 +12379,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTEQshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -12963,9 +12395,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTEQshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -12981,9 +12411,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTEQshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -12999,9 +12427,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTEQshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13111,8 +12537,7 @@ func rewriteValueARM_OpARMTEQshiftLLreg(v *Value) bool { v.reset(OpARMTEQconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13127,8 +12552,7 @@ func rewriteValueARM_OpARMTEQshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTEQshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13187,8 +12611,7 @@ func rewriteValueARM_OpARMTEQshiftRAreg(v *Value) bool { v.reset(OpARMTEQconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13203,8 +12626,7 @@ func rewriteValueARM_OpARMTEQshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTEQshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13263,8 +12685,7 @@ func rewriteValueARM_OpARMTEQshiftRLreg(v *Value) bool { v.reset(OpARMTEQconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13279,8 +12700,7 @@ func rewriteValueARM_OpARMTEQshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTEQshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13316,8 +12736,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTSTshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13334,8 +12753,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTSTshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13352,8 +12770,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { y := v_1.Args[0] v.reset(OpARMTSTshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13369,9 +12786,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTSTshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13387,9 +12802,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTSTshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13405,9 +12818,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMTSTshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13517,8 +12928,7 @@ func rewriteValueARM_OpARMTSTshiftLLreg(v *Value) bool { v.reset(OpARMTSTconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13533,8 +12943,7 @@ func rewriteValueARM_OpARMTSTshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTSTshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13593,8 +13002,7 @@ func rewriteValueARM_OpARMTSTshiftRAreg(v *Value) bool { v.reset(OpARMTSTconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13609,8 +13017,7 @@ func rewriteValueARM_OpARMTSTshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTSTshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13669,8 +13076,7 @@ func rewriteValueARM_OpARMTSTshiftRLreg(v *Value) bool { v.reset(OpARMTSTconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -13685,8 +13091,7 @@ func rewriteValueARM_OpARMTSTshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMTSTshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -13722,8 +13127,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMXORshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13740,8 +13144,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMXORshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13758,8 +13161,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMXORshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13776,8 +13178,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { y := v_1.Args[0] v.reset(OpARMXORshiftRR) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -13793,9 +13194,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMXORshiftLLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13811,9 +13210,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMXORshiftRLreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -13829,9 +13226,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool { z := v_1.Args[1] y := v_1.Args[0] v.reset(OpARMXORshiftRAreg) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -14012,8 +13407,7 @@ func rewriteValueARM_OpARMXORshiftLLreg(v *Value) bool { v.reset(OpARMXORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14028,8 +13422,7 @@ func rewriteValueARM_OpARMXORshiftLLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMXORshiftLL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14105,8 +13498,7 @@ func rewriteValueARM_OpARMXORshiftRAreg(v *Value) bool { v.reset(OpARMXORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14121,8 +13513,7 @@ func rewriteValueARM_OpARMXORshiftRAreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMXORshiftRA) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14214,8 +13605,7 @@ func rewriteValueARM_OpARMXORshiftRLreg(v *Value) bool { v.reset(OpARMXORconst) v.AuxInt = c v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14230,8 +13620,7 @@ func rewriteValueARM_OpARMXORshiftRLreg(v *Value) bool { c := v_2.AuxInt v.reset(OpARMXORshiftRL) v.AuxInt = c - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -14287,11 +13676,9 @@ func rewriteValueARM_OpAvg32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRLconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpARMSUB, 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 } } @@ -14330,18 +13717,16 @@ func rewriteValueARM_OpBswap32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpARMBICconst, t) v1.AuxInt = 0xff0000 v2 := b.NewValue0(v.Pos, OpARMXOR, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARMSRRconst, t) v3.AuxInt = 16 v3.AddArg(x) - v2.AddArg(v3) + v2.AddArg2(x, v3) v1.AddArg(v2) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpARMSRRconst, t) v4.AuxInt = 8 v4.AddArg(x) - v.AddArg(v4) + v.AddArg2(v0, v4) return true } // match: (Bswap32 x) @@ -14389,14 +13774,13 @@ func rewriteValueARM_OpCtz16(v *Value) bool { v3 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32) v3.AuxInt = 0x10000 v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32) v4.AuxInt = 0 v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32) v5.AuxInt = 0x10000 v5.AddArg(x) v4.AddArg(v5) - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -14441,11 +13825,10 @@ func rewriteValueARM_OpCtz32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpARMSUBconst, t) v1.AuxInt = 1 v2 := b.NewValue0(v.Pos, OpARMAND, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARMRSBconst, t) v3.AuxInt = 0 v3.AddArg(x) - v2.AddArg(v3) + v2.AddArg2(x, v3) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -14491,14 +13874,13 @@ func rewriteValueARM_OpCtz8(v *Value) bool { v3 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32) v3.AuxInt = 0x100 v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32) v4.AuxInt = 0 v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32) v5.AuxInt = 0x100 v5.AddArg(x) v4.AddArg(v5) - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) v0.AddArg(v1) v.AddArg(v0) @@ -14538,10 +13920,9 @@ func rewriteValueARM_OpDiv16(v *Value) bool { v.reset(OpDiv32) 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 } } @@ -14558,10 +13939,9 @@ func rewriteValueARM_OpDiv16u(v *Value) bool { v.reset(OpDiv32u) 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 } } @@ -14581,41 +13961,32 @@ func rewriteValueARM_OpDiv32(v *Value) bool { v2 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32)) v3 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32) v4 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v5.AddArg(x) - v4.AddArg(v5) - v3.AddArg(v4) + v4.AddArg2(x, v5) v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v6.AddArg(x) - v3.AddArg(v6) - v2.AddArg(v3) + v3.AddArg2(v4, v6) v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32) v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v8.AddArg(y) v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v9.AddArg(y) - v8.AddArg(v9) - v7.AddArg(v8) + v8.AddArg2(y, v9) v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v10.AddArg(y) - v7.AddArg(v10) - v2.AddArg(v7) + v7.AddArg2(v8, v10) + v2.AddArg2(v3, v7) v1.AddArg(v2) - v0.AddArg(v1) v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v12 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v12.AddArg(x) - v12.AddArg(y) + v12.AddArg2(x, y) v11.AddArg(v12) - v0.AddArg(v11) - v.AddArg(v0) + v0.AddArg2(v1, v11) v13 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v14 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v14.AddArg(x) - v14.AddArg(y) + v14.AddArg2(x, y) v13.AddArg(v14) - v.AddArg(v13) + v.AddArg2(v0, v13) return true } } @@ -14632,8 +14003,7 @@ func rewriteValueARM_OpDiv32u(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt32 v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14651,10 +14021,9 @@ func rewriteValueARM_OpDiv8(v *Value) bool { v.reset(OpDiv32) 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 } } @@ -14671,10 +14040,9 @@ func rewriteValueARM_OpDiv8u(v *Value) bool { v.reset(OpDiv32u) 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 } } @@ -14692,10 +14060,9 @@ func rewriteValueARM_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -14711,8 +14078,7 @@ func rewriteValueARM_OpEq32(v *Value) bool { y := v_1 v.reset(OpARMEqual) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14728,8 +14094,7 @@ func rewriteValueARM_OpEq32F(v *Value) bool { y := v_1 v.reset(OpARMEqual) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14745,8 +14110,7 @@ func rewriteValueARM_OpEq64F(v *Value) bool { y := v_1 v.reset(OpARMEqual) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14765,10 +14129,9 @@ func rewriteValueARM_OpEq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -14786,8 +14149,7 @@ func rewriteValueARM_OpEqB(v *Value) bool { v.reset(OpARMXORconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpARMXOR, typ.Bool) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14803,8 +14165,7 @@ func rewriteValueARM_OpEqPtr(v *Value) bool { y := v_1 v.reset(OpARMEqual) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14820,9 +14181,7 @@ func rewriteValueARM_OpFMA(v *Value) bool { y := v_1 z := v_2 v.reset(OpARMFMULAD) - v.AddArg(z) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(z, x, y) return true } } @@ -14837,8 +14196,7 @@ func rewriteValueARM_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpARMGreaterEqual) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14854,8 +14212,7 @@ func rewriteValueARM_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpARMGreaterEqual) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14871,8 +14228,7 @@ func rewriteValueARM_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpARMGreaterThan) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14888,8 +14244,7 @@ func rewriteValueARM_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpARMGreaterThan) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -14905,8 +14260,7 @@ func rewriteValueARM_OpIsInBounds(v *Value) bool { len := v_1 v.reset(OpARMLessThanU) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -14937,8 +14291,7 @@ func rewriteValueARM_OpIsSliceInBounds(v *Value) bool { len := v_1 v.reset(OpARMLessEqualU) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -14957,10 +14310,9 @@ func rewriteValueARM_OpLeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -14979,10 +14331,9 @@ func rewriteValueARM_OpLeq16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -14998,8 +14349,7 @@ func rewriteValueARM_OpLeq32(v *Value) bool { y := v_1 v.reset(OpARMLessEqual) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15015,8 +14365,7 @@ func rewriteValueARM_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpARMGreaterEqual) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15032,8 +14381,7 @@ func rewriteValueARM_OpLeq32U(v *Value) bool { y := v_1 v.reset(OpARMLessEqualU) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15049,8 +14397,7 @@ func rewriteValueARM_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpARMGreaterEqual) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15069,10 +14416,9 @@ func rewriteValueARM_OpLeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15091,10 +14437,9 @@ func rewriteValueARM_OpLeq8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15113,10 +14458,9 @@ func rewriteValueARM_OpLess16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15135,10 +14479,9 @@ func rewriteValueARM_OpLess16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15154,8 +14497,7 @@ func rewriteValueARM_OpLess32(v *Value) bool { y := v_1 v.reset(OpARMLessThan) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15171,8 +14513,7 @@ func rewriteValueARM_OpLess32F(v *Value) bool { y := v_1 v.reset(OpARMGreaterThan) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15188,8 +14529,7 @@ func rewriteValueARM_OpLess32U(v *Value) bool { y := v_1 v.reset(OpARMLessThanU) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15205,8 +14545,7 @@ func rewriteValueARM_OpLess64F(v *Value) bool { y := v_1 v.reset(OpARMGreaterThan) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15225,10 +14564,9 @@ func rewriteValueARM_OpLess8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15247,10 +14585,9 @@ func rewriteValueARM_OpLess8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -15269,8 +14606,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15284,8 +14620,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15299,8 +14634,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15314,8 +14648,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15329,8 +14662,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVHUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15344,8 +14676,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15359,8 +14690,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVFload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -15374,8 +14704,7 @@ func rewriteValueARM_OpLoad(v *Value) bool { break } v.reset(OpARMMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -15406,17 +14735,15 @@ func rewriteValueARM_OpLsh16x16(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -15432,13 +14759,11 @@ func rewriteValueARM_OpLsh16x32(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -15490,10 +14815,9 @@ func rewriteValueARM_OpLsh16x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -15510,17 +14834,15 @@ func rewriteValueARM_OpLsh32x16(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -15536,13 +14858,11 @@ func rewriteValueARM_OpLsh32x32(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -15594,10 +14914,9 @@ func rewriteValueARM_OpLsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -15614,17 +14933,15 @@ func rewriteValueARM_OpLsh8x16(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -15640,13 +14957,11 @@ func rewriteValueARM_OpLsh8x32(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -15698,10 +15013,9 @@ func rewriteValueARM_OpLsh8x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSLL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -15718,10 +15032,9 @@ func rewriteValueARM_OpMod16(v *Value) bool { v.reset(OpMod32) 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 } } @@ -15738,10 +15051,9 @@ func rewriteValueARM_OpMod16u(v *Value) bool { v.reset(OpMod32u) 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 } } @@ -15761,35 +15073,28 @@ func rewriteValueARM_OpMod32(v *Value) bool { v2 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32)) v3 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32) v4 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v5.AddArg(x) - v4.AddArg(v5) - v3.AddArg(v4) + v4.AddArg2(x, v5) v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v6.AddArg(x) - v3.AddArg(v6) - v2.AddArg(v3) + v3.AddArg2(v4, v6) v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32) v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32) - v8.AddArg(y) v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v9.AddArg(y) - v8.AddArg(v9) - v7.AddArg(v8) + v8.AddArg2(y, v9) v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v10.AddArg(y) - v7.AddArg(v10) - v2.AddArg(v7) + v7.AddArg2(v8, v10) + v2.AddArg2(v3, v7) v1.AddArg(v2) - v0.AddArg(v1) v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v11.AddArg(x) - v0.AddArg(v11) - v.AddArg(v0) + v0.AddArg2(v1, v11) v12 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v12.AddArg(x) - v.AddArg(v12) + v.AddArg2(v0, v12) return true } } @@ -15806,8 +15111,7 @@ func rewriteValueARM_OpMod32u(v *Value) bool { v.reset(OpSelect1) v.Type = typ.UInt32 v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -15825,10 +15129,9 @@ func rewriteValueARM_OpMod8(v *Value) bool { v.reset(OpMod32) 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 } } @@ -15845,10 +15148,9 @@ func rewriteValueARM_OpMod8u(v *Value) bool { v.reset(OpMod32u) 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 } } @@ -15881,12 +15183,9 @@ func rewriteValueARM_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpARMMOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVBUload, 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] {t} dst src mem) @@ -15904,12 +15203,9 @@ func rewriteValueARM_OpMove(v *Value) bool { break } v.reset(OpARMMOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVHUload, 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 [2] dst src mem) @@ -15923,20 +15219,14 @@ func rewriteValueARM_OpMove(v *Value) bool { mem := v_2 v.reset(OpARMMOVBstore) v.AuxInt = 1 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v0.AuxInt = 1 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) - 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 [4] {t} dst src mem) @@ -15954,12 +15244,9 @@ func rewriteValueARM_OpMove(v *Value) bool { break } v.reset(OpARMMOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVWload, 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 [4] {t} dst src mem) @@ -15978,20 +15265,14 @@ func rewriteValueARM_OpMove(v *Value) bool { } v.reset(OpARMMOVHstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVHUload, typ.UInt16) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARMMOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARMMOVHUload, 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 [4] dst src mem) @@ -16005,38 +15286,26 @@ func rewriteValueARM_OpMove(v *Value) bool { mem := v_2 v.reset(OpARMMOVBstore) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v2.AuxInt = 2 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v4.AuxInt = 1 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [3] dst src mem) @@ -16050,29 +15319,20 @@ func rewriteValueARM_OpMove(v *Value) bool { mem := v_2 v.reset(OpARMMOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) v2.AuxInt = 1 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8) - 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] {t} dst src mem) @@ -16089,9 +15349,7 @@ func rewriteValueARM_OpMove(v *Value) bool { } v.reset(OpARMDUFFCOPY) v.AuxInt = 8 * (128 - s/4) - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Move [s] {t} dst src mem) @@ -16108,13 +15366,10 @@ func rewriteValueARM_OpMove(v *Value) bool { } v.reset(OpARMLoweredMove) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpARMADDconst, src.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(src) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -16169,10 +15424,9 @@ func rewriteValueARM_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -16188,8 +15442,7 @@ func rewriteValueARM_OpNeq32(v *Value) bool { y := v_1 v.reset(OpARMNotEqual) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -16205,8 +15458,7 @@ func rewriteValueARM_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpARMNotEqual) v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -16222,8 +15474,7 @@ func rewriteValueARM_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpARMNotEqual) v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -16242,10 +15493,9 @@ func rewriteValueARM_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMCMP, 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 } @@ -16261,8 +15511,7 @@ func rewriteValueARM_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpARMNotEqual) v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -16322,9 +15571,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool { } v.reset(OpARMLoweredPanicBoundsA) 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) @@ -16340,9 +15587,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool { } v.reset(OpARMLoweredPanicBoundsB) 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) @@ -16358,9 +15603,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool { } v.reset(OpARMLoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -16384,10 +15627,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool { } v.reset(OpARMLoweredPanicExtendA) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -16404,10 +15644,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool { } v.reset(OpARMLoweredPanicExtendB) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -16424,10 +15661,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool { } v.reset(OpARMLoweredPanicExtendC) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } return false @@ -16448,17 +15682,14 @@ func rewriteValueARM_OpRotateLeft16(v *Value) bool { c := v_1.AuxInt v.reset(OpOr16) v0 := b.NewValue0(v.Pos, OpLsh16x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v1.AuxInt = c & 15 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh16Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -16486,11 +15717,10 @@ func rewriteValueARM_OpRotateLeft32(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSRR) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpARMRSBconst, y.Type) v0.AuxInt = 0 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -16510,17 +15740,14 @@ func rewriteValueARM_OpRotateLeft8(v *Value) bool { c := v_1.AuxInt v.reset(OpOr8) v0 := b.NewValue0(v.Pos, OpLsh8x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v1.AuxInt = c & 7 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh8Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -16540,17 +15767,15 @@ func rewriteValueARM_OpRsh16Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) 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) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v3.AuxInt = 256 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -16569,13 +15794,11 @@ func rewriteValueARM_OpRsh16Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v2.AddArg(y) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -16634,10 +15857,9 @@ func rewriteValueARM_OpRsh16Ux8(v *Value) bool { v.reset(OpARMSRL) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, 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 } } @@ -16654,16 +15876,14 @@ func rewriteValueARM_OpRsh16x16(v *Value) bool { v.reset(OpARMSRAcond) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -16680,12 +15900,10 @@ func rewriteValueARM_OpRsh16x32(v *Value) bool { v.reset(OpARMSRAcond) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg3(v0, y, v1) return true } } @@ -16749,10 +15967,9 @@ func rewriteValueARM_OpRsh16x8(v *Value) bool { v.reset(OpARMSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) 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 } } @@ -16769,17 +15986,15 @@ func rewriteValueARM_OpRsh32Ux16(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -16795,13 +16010,11 @@ func rewriteValueARM_OpRsh32Ux32(v *Value) bool { v.reset(OpARMCMOVWHSconst) v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -16853,10 +16066,9 @@ func rewriteValueARM_OpRsh32Ux8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSRL) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -16871,16 +16083,14 @@ func rewriteValueARM_OpRsh32x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSRAcond) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg3(x, v0, v1) return true } } @@ -16894,12 +16104,10 @@ func rewriteValueARM_OpRsh32x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSRAcond) - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v0.AuxInt = 256 v0.AddArg(y) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } } @@ -16953,10 +16161,9 @@ func rewriteValueARM_OpRsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpARMSRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -16975,17 +16182,15 @@ func rewriteValueARM_OpRsh8Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v3.AuxInt = 256 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -17004,13 +16209,11 @@ func rewriteValueARM_OpRsh8Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v2.AddArg(y) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -17069,10 +16272,9 @@ func rewriteValueARM_OpRsh8Ux8(v *Value) bool { v.reset(OpARMSRL) 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 } } @@ -17089,16 +16291,14 @@ func rewriteValueARM_OpRsh8x16(v *Value) bool { v.reset(OpARMSRAcond) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v2.AuxInt = 256 v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -17115,12 +16315,10 @@ func rewriteValueARM_OpRsh8x32(v *Value) bool { v.reset(OpARMSRAcond) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags) v1.AuxInt = 256 v1.AddArg(y) - v.AddArg(v1) + v.AddArg3(v0, y, v1) return true } } @@ -17184,10 +16382,9 @@ func rewriteValueARM_OpRsh8x8(v *Value) bool { v.reset(OpARMSRA) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) 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 } } @@ -17362,9 +16559,7 @@ func rewriteValueARM_OpStore(v *Value) bool { break } v.reset(OpARMMOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -17379,9 +16574,7 @@ func rewriteValueARM_OpStore(v *Value) bool { break } v.reset(OpARMMOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -17396,9 +16589,7 @@ func rewriteValueARM_OpStore(v *Value) bool { break } v.reset(OpARMMOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -17413,9 +16604,7 @@ func rewriteValueARM_OpStore(v *Value) bool { break } v.reset(OpARMMOVFstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -17430,9 +16619,7 @@ func rewriteValueARM_OpStore(v *Value) bool { break } v.reset(OpARMMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -17464,11 +16651,9 @@ func rewriteValueARM_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpARMMOVBstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] {t} ptr mem) @@ -17485,11 +16670,9 @@ func rewriteValueARM_OpZero(v *Value) bool { break } v.reset(OpARMMOVHstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] ptr mem) @@ -17502,18 +16685,14 @@ func rewriteValueARM_OpZero(v *Value) bool { mem := v_1 v.reset(OpARMMOVBstore) v.AuxInt = 1 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) 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 [4] {t} ptr mem) @@ -17530,11 +16709,9 @@ func rewriteValueARM_OpZero(v *Value) bool { break } v.reset(OpARMMOVWstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [4] {t} ptr mem) @@ -17552,18 +16729,14 @@ func rewriteValueARM_OpZero(v *Value) bool { } v.reset(OpARMMOVHstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMMOVHstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) 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 [4] ptr mem) @@ -17576,32 +16749,24 @@ func rewriteValueARM_OpZero(v *Value) bool { mem := v_1 v.reset(OpARMMOVBstore) v.AuxInt = 3 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) 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 [3] ptr mem) @@ -17614,25 +16779,19 @@ func rewriteValueARM_OpZero(v *Value) bool { mem := v_1 v.reset(OpARMMOVBstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) 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 [s] {t} ptr mem) @@ -17648,11 +16807,9 @@ func rewriteValueARM_OpZero(v *Value) bool { } v.reset(OpARMDUFFZERO) v.AuxInt = 4 * (128 - s/4) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [s] {t} ptr mem) @@ -17668,15 +16825,12 @@ func rewriteValueARM_OpZero(v *Value) bool { } v.reset(OpARMLoweredZero) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpARMADDconst, ptr.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(ptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) - v.AddArg(mem) + v.AddArg4(ptr, v0, v1, mem) return true } return false @@ -17693,8 +16847,7 @@ func rewriteValueARM_OpZeromask(v *Value) bool { v.AuxInt = 31 v0 := b.NewValue0(v.Pos, OpARMRSBshiftRL, typ.Int32) v0.AuxInt = 1 - v0.AddArg(x) - v0.AddArg(x) + v0.AddArg2(x, x) v.AddArg(v0) return true } @@ -17764,8 +16917,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17789,11 +16941,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -17842,8 +16992,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17868,8 +17017,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17894,8 +17042,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17919,9 +17066,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -17945,9 +17090,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -17971,9 +17114,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18000,8 +17141,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18027,11 +17167,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -18080,8 +17218,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18106,8 +17243,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18132,8 +17268,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18157,9 +17292,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18183,9 +17316,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18209,9 +17340,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18238,8 +17367,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18290,8 +17418,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18316,8 +17443,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18342,8 +17468,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18367,9 +17492,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18393,9 +17516,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18419,9 +17540,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18448,8 +17567,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18500,8 +17618,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18526,8 +17643,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18552,8 +17668,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18577,9 +17692,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18603,9 +17716,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18629,9 +17740,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMEQ) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18696,8 +17805,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18721,11 +17829,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -18774,8 +17880,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18800,8 +17905,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18826,8 +17930,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18851,9 +17954,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18877,9 +17978,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18903,9 +18002,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -18932,8 +18029,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -18959,11 +18055,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -19012,8 +18106,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19038,8 +18131,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19064,8 +18156,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19089,9 +18180,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19115,9 +18204,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19141,9 +18228,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19170,8 +18255,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19222,8 +18306,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19248,8 +18331,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19274,8 +18356,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19299,9 +18380,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19325,9 +18404,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19351,9 +18428,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19380,8 +18455,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19432,8 +18506,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19458,8 +18531,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19484,8 +18556,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19509,9 +18580,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19535,9 +18604,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19561,9 +18628,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19629,8 +18694,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19654,11 +18718,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -19707,8 +18769,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19733,8 +18794,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19759,8 +18819,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19784,9 +18843,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19810,9 +18867,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19836,9 +18891,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -19865,8 +18918,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19917,8 +18969,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19943,8 +18994,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19969,8 +19019,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -19994,9 +19043,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20020,9 +19067,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20046,9 +19091,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20075,8 +19118,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20102,11 +19144,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -20155,8 +19195,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20181,8 +19220,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20207,8 +19245,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20232,9 +19269,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20258,9 +19293,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20284,9 +19317,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20313,8 +19344,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20365,8 +19395,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20391,8 +19420,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20417,8 +19445,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20442,9 +19469,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20468,9 +19493,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20494,9 +19517,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMGT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20663,8 +19684,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20688,11 +19708,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -20741,8 +19759,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20767,8 +19784,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20793,8 +19809,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20818,9 +19833,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20844,9 +19857,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20870,9 +19881,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -20899,8 +19908,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -20926,11 +19934,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -20979,8 +19985,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21005,8 +20010,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21031,8 +20035,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21056,9 +20059,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21082,9 +20083,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21108,9 +20107,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21137,8 +20134,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21189,8 +20185,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21215,8 +20210,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21241,8 +20235,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21266,9 +20259,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21292,9 +20283,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21318,9 +20307,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21347,8 +20334,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21399,8 +20385,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21425,8 +20410,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21451,8 +20435,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21476,9 +20459,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21502,9 +20483,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21528,9 +20507,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21596,8 +20573,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21621,11 +20597,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -21674,8 +20648,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21700,8 +20673,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21726,8 +20698,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21751,9 +20722,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21777,9 +20746,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21803,9 +20770,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -21832,8 +20797,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21859,11 +20823,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -21912,8 +20874,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21938,8 +20899,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21964,8 +20924,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -21989,9 +20948,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22015,9 +20972,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22041,9 +20996,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22070,8 +21023,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22122,8 +21074,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22148,8 +21099,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22174,8 +21124,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22199,9 +21148,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22225,9 +21172,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22251,9 +21196,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22280,8 +21223,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22332,8 +21274,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22358,8 +21299,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22384,8 +21324,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22409,9 +21348,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22435,9 +21372,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22461,9 +21396,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMLT) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22687,8 +21620,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22712,11 +21644,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -22765,8 +21695,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22791,8 +21720,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22817,8 +21745,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22842,9 +21769,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22868,9 +21793,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22894,9 +21817,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -22923,8 +21844,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -22950,11 +21870,9 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags) - v0.AddArg(a) v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) + v1.AddArg2(x, y) + v0.AddArg2(a, v1) b.AddControl(v0) return true } @@ -23003,8 +21921,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23029,8 +21946,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23055,8 +21971,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23080,9 +21995,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23106,9 +22019,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23132,9 +22043,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23161,8 +22070,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23213,8 +22121,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23239,8 +22146,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23265,8 +22171,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23290,9 +22195,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23316,9 +22219,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23342,9 +22243,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23371,8 +22270,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23423,8 +22321,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23449,8 +22346,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23475,8 +22371,7 @@ func rewriteBlockARM(b *Block) bool { b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags) v0.AuxInt = c - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -23500,9 +22395,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23526,9 +22419,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } @@ -23552,9 +22443,7 @@ func rewriteBlockARM(b *Block) bool { } b.Reset(BlockARMNE) v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) - v0.AddArg(z) + v0.AddArg3(x, y, z) b.AddControl(v0) return true } 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 (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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 (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)) @@ -21165,11 +20323,9 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool { x := l.Args[0] if !(a.Type.Size() != 8 && l.Uses == 1 && clobber(l)) { break - } - v.reset(OpARM64MSUBW) - v.AddArg(a) - v.AddArg(x) - v.AddArg(y) + } + v.reset(OpARM64MSUBW) + 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 [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 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 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 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 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 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 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 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 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 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 } diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go index b3226cddb5..58dc71bd04 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go @@ -596,11 +596,9 @@ func rewriteValueMIPS_OpAdd32withcarry(v *Value) bool { y := v_1 c := v_2 v.reset(OpMIPSADD) - v.AddArg(c) v0 := b.NewValue0(v.Pos, OpMIPSADD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) + v.AddArg2(c, v0) return true } } @@ -625,39 +623,33 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = ^3 - v0.AddArg(v1) - v0.AddArg(ptr) - v.AddArg(v0) + v0.AddArg2(v1, ptr) v2 := b.NewValue0(v.Pos, OpMIPSOR, typ.UInt32) v3 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(val) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v5.AuxInt = 3 v6 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) v6.AuxInt = 3 v6.AddArg(ptr) v5.AddArg(v6) - v3.AddArg(v5) - v2.AddArg(v3) + v3.AddArg2(v4, v5) v7 := b.NewValue0(v.Pos, OpMIPSNORconst, typ.UInt32) v7.AuxInt = 0 v8 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v9 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v9.AuxInt = 0xff - v8.AddArg(v9) v10 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v10.AuxInt = 3 v11 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) v11.AuxInt = 3 v11.AddArg(ptr) v10.AddArg(v11) - v8.AddArg(v10) + v8.AddArg2(v9, v10) v7.AddArg(v8) - v2.AddArg(v7) - v.AddArg(v2) - v.AddArg(mem) + v2.AddArg2(v3, v7) + v.AddArg3(v0, v2, mem) return true } // match: (AtomicAnd8 ptr val mem) @@ -674,14 +666,11 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = ^3 - v0.AddArg(v1) - v0.AddArg(ptr) - v.AddArg(v0) + v0.AddArg2(v1, ptr) v2 := b.NewValue0(v.Pos, OpMIPSOR, typ.UInt32) v3 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(val) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v5.AuxInt = 3 v6 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) @@ -691,14 +680,12 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool { v7.AddArg(ptr) v6.AddArg(v7) v5.AddArg(v6) - v3.AddArg(v5) - v2.AddArg(v3) + v3.AddArg2(v4, v5) v8 := b.NewValue0(v.Pos, OpMIPSNORconst, typ.UInt32) v8.AuxInt = 0 v9 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v10 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v10.AuxInt = 0xff - v9.AddArg(v10) v11 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v11.AuxInt = 3 v12 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) @@ -708,11 +695,10 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool { v13.AddArg(ptr) v12.AddArg(v13) v11.AddArg(v12) - v9.AddArg(v11) + v9.AddArg2(v10, v11) v8.AddArg(v9) - v2.AddArg(v8) - v.AddArg(v2) - v.AddArg(mem) + v2.AddArg2(v3, v8) + v.AddArg3(v0, v2, mem) return true } return false @@ -738,22 +724,18 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = ^3 - v0.AddArg(v1) - v0.AddArg(ptr) - v.AddArg(v0) + v0.AddArg2(v1, ptr) v2 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v3 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v3.AddArg(val) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v4.AuxInt = 3 v5 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) v5.AuxInt = 3 v5.AddArg(ptr) v4.AddArg(v5) - v2.AddArg(v4) - v.AddArg(v2) - v.AddArg(mem) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v2, mem) return true } // match: (AtomicOr8 ptr val mem) @@ -770,13 +752,10 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = ^3 - v0.AddArg(v1) - v0.AddArg(ptr) - v.AddArg(v0) + v0.AddArg2(v1, ptr) v2 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32) v3 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v3.AddArg(val) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32) v4.AuxInt = 3 v5 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32) @@ -786,9 +765,8 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool { v6.AddArg(ptr) v5.AddArg(v6) v4.AddArg(v5) - v2.AddArg(v4) - v.AddArg(v2) - v.AddArg(mem) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v2, mem) return true } return false @@ -807,11 +785,9 @@ func rewriteValueMIPS_OpAvg32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRLconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpMIPSSUB, 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 } } @@ -827,10 +803,9 @@ func rewriteValueMIPS_OpBitLen32(v *Value) bool { v.reset(OpMIPSSUB) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCLZ, t) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -891,18 +866,16 @@ func rewriteValueMIPS_OpCtz32(v *Value) bool { v.reset(OpMIPSSUB) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCLZ, t) v2 := b.NewValue0(v.Pos, OpMIPSSUBconst, t) v2.AuxInt = 1 v3 := b.NewValue0(v.Pos, OpMIPSAND, t) - v3.AddArg(x) v4 := b.NewValue0(v.Pos, OpMIPSNEG, t) v4.AddArg(x) - v3.AddArg(v4) + v3.AddArg2(x, v4) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -920,10 +893,9 @@ func rewriteValueMIPS_OpDiv16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) 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 } @@ -942,10 +914,9 @@ func rewriteValueMIPS_OpDiv16u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) 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 } @@ -962,8 +933,7 @@ func rewriteValueMIPS_OpDiv32(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -980,8 +950,7 @@ func rewriteValueMIPS_OpDiv32u(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1000,10 +969,9 @@ func rewriteValueMIPS_OpDiv8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) 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 } @@ -1022,10 +990,9 @@ func rewriteValueMIPS_OpDiv8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) 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 } @@ -1045,10 +1012,9 @@ func rewriteValueMIPS_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) 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 } @@ -1066,8 +1032,7 @@ func rewriteValueMIPS_OpEq32(v *Value) bool { v.reset(OpMIPSSGTUconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1083,8 +1048,7 @@ func rewriteValueMIPS_OpEq32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1100,8 +1064,7 @@ func rewriteValueMIPS_OpEq64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1121,10 +1084,9 @@ func rewriteValueMIPS_OpEq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) 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 } @@ -1142,8 +1104,7 @@ func rewriteValueMIPS_OpEqB(v *Value) bool { v.reset(OpMIPSXORconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.Bool) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1161,8 +1122,7 @@ func rewriteValueMIPS_OpEqPtr(v *Value) bool { v.reset(OpMIPSSGTUconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1178,8 +1138,7 @@ func rewriteValueMIPS_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1195,8 +1154,7 @@ func rewriteValueMIPS_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1212,8 +1170,7 @@ func rewriteValueMIPS_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1229,8 +1186,7 @@ func rewriteValueMIPS_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1247,8 +1203,7 @@ func rewriteValueMIPS_OpHmul32(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPSMULT, types.NewTuple(typ.Int32, typ.Int32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1265,8 +1220,7 @@ func rewriteValueMIPS_OpHmul32u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPSMULTU, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1280,8 +1234,7 @@ func rewriteValueMIPS_OpIsInBounds(v *Value) bool { idx := v_0 len := v_1 v.reset(OpMIPSSGTU) - v.AddArg(len) - v.AddArg(idx) + v.AddArg2(len, idx) return true } } @@ -1294,10 +1247,9 @@ func rewriteValueMIPS_OpIsNonNil(v *Value) bool { for { ptr := v_0 v.reset(OpMIPSSGTU) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) + v.AddArg2(ptr, v0) return true } } @@ -1314,8 +1266,7 @@ func rewriteValueMIPS_OpIsSliceInBounds(v *Value) bool { v.reset(OpMIPSXORconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -1335,10 +1286,9 @@ func rewriteValueMIPS_OpLeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool) 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 } @@ -1358,10 +1308,9 @@ func rewriteValueMIPS_OpLeq16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool) 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 } @@ -1379,8 +1328,7 @@ func rewriteValueMIPS_OpLeq32(v *Value) bool { v.reset(OpMIPSXORconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1396,8 +1344,7 @@ func rewriteValueMIPS_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1415,8 +1362,7 @@ func rewriteValueMIPS_OpLeq32U(v *Value) bool { v.reset(OpMIPSXORconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1432,8 +1378,7 @@ func rewriteValueMIPS_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1453,10 +1398,9 @@ func rewriteValueMIPS_OpLeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool) 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 } @@ -1476,10 +1420,9 @@ func rewriteValueMIPS_OpLeq8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool) 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 } @@ -1497,10 +1440,9 @@ func rewriteValueMIPS_OpLess16(v *Value) bool { v.reset(OpMIPSSGT) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1517,10 +1459,9 @@ func rewriteValueMIPS_OpLess16U(v *Value) bool { v.reset(OpMIPSSGTU) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1533,8 +1474,7 @@ func rewriteValueMIPS_OpLess32(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPSSGT) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1549,8 +1489,7 @@ func rewriteValueMIPS_OpLess32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1564,8 +1503,7 @@ func rewriteValueMIPS_OpLess32U(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPSSGTU) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1580,8 +1518,7 @@ func rewriteValueMIPS_OpLess64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1599,10 +1536,9 @@ func rewriteValueMIPS_OpLess8(v *Value) bool { v.reset(OpMIPSSGT) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1619,10 +1555,9 @@ func rewriteValueMIPS_OpLess8U(v *Value) bool { v.reset(OpMIPSSGTU) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1640,8 +1575,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1655,8 +1589,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1670,8 +1603,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1685,8 +1617,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1700,8 +1631,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVHUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1715,8 +1645,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1730,8 +1659,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVFload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1745,8 +1673,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool { break } v.reset(OpMIPSMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -1777,20 +1704,17 @@ func rewriteValueMIPS_OpLsh16x16(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -1807,16 +1731,13 @@ func rewriteValueMIPS_OpLsh16x32(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v2.AuxInt = 32 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -1870,20 +1791,17 @@ func rewriteValueMIPS_OpLsh16x8(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -1900,20 +1818,17 @@ func rewriteValueMIPS_OpLsh32x16(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -1930,16 +1845,13 @@ func rewriteValueMIPS_OpLsh32x32(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v2.AuxInt = 32 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -1993,20 +1905,17 @@ func rewriteValueMIPS_OpLsh32x8(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -2023,20 +1932,17 @@ func rewriteValueMIPS_OpLsh8x16(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -2053,16 +1959,13 @@ func rewriteValueMIPS_OpLsh8x32(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v2.AuxInt = 32 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2116,20 +2019,17 @@ func rewriteValueMIPS_OpLsh8x8(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSLL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -2162,8 +2062,7 @@ func rewriteValueMIPS_OpMIPSADD(v *Value) bool { } y := v_1.Args[0] v.reset(OpMIPSSUB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2289,8 +2188,7 @@ func rewriteValueMIPS_OpMIPSAND(v *Value) bool { v.reset(OpMIPSSGTUconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2392,8 +2290,7 @@ func rewriteValueMIPS_OpMIPSCMOVZ(v *Value) bool { } c := v_2 v.reset(OpMIPSCMOVZzero) - v.AddArg(a) - v.AddArg(c) + v.AddArg2(a, c) return true } return false @@ -2449,8 +2346,7 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicAdd(v *Value) bool { } v.reset(OpMIPSLoweredAtomicAddconst) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2468,8 +2364,7 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicStore32(v *Value) bool { } mem := v_2 v.reset(OpMIPSLoweredAtomicStorezero) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2496,8 +2391,7 @@ func rewriteValueMIPS_OpMIPSMOVBUload(v *Value) bool { v.reset(OpMIPSMOVBUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -2519,8 +2413,7 @@ func rewriteValueMIPS_OpMIPSMOVBUload(v *Value) bool { v.reset(OpMIPSMOVBUload) 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 (MOVBstore [off2] {sym2} ptr2 x _)) @@ -2595,8 +2488,7 @@ func rewriteValueMIPS_OpMIPSMOVBUreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBUreg (ANDconst [c] x)) @@ -2647,8 +2539,7 @@ func rewriteValueMIPS_OpMIPSMOVBload(v *Value) bool { v.reset(OpMIPSMOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -2670,8 +2561,7 @@ func rewriteValueMIPS_OpMIPSMOVBload(v *Value) bool { v.reset(OpMIPSMOVBload) 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 (MOVBstore [off2] {sym2} ptr2 x _)) @@ -2746,8 +2636,7 @@ func rewriteValueMIPS_OpMIPSMOVBreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVBreg (ANDconst [c] x)) @@ -2804,9 +2693,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -2829,9 +2716,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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 (MOVWconst [0]) mem) @@ -2847,8 +2732,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstorezero) 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) @@ -2865,9 +2749,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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) @@ -2884,9 +2766,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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) @@ -2903,9 +2783,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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) @@ -2922,9 +2800,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) 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) @@ -2941,9 +2817,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool { v.reset(OpMIPSMOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -2970,8 +2844,7 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero(v *Value) bool { v.reset(OpMIPSMOVBstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -2993,8 +2866,7 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero(v *Value) bool { v.reset(OpMIPSMOVBstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3021,8 +2893,7 @@ func rewriteValueMIPS_OpMIPSMOVDload(v *Value) bool { v.reset(OpMIPSMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3044,8 +2915,7 @@ func rewriteValueMIPS_OpMIPSMOVDload(v *Value) bool { v.reset(OpMIPSMOVDload) 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 (MOVDstore [off2] {sym2} ptr2 x _)) @@ -3097,9 +2967,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore(v *Value) bool { v.reset(OpMIPSMOVDstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -3122,9 +2990,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore(v *Value) bool { v.reset(OpMIPSMOVDstore) 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 @@ -3151,8 +3017,7 @@ func rewriteValueMIPS_OpMIPSMOVFload(v *Value) bool { v.reset(OpMIPSMOVFload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3174,8 +3039,7 @@ func rewriteValueMIPS_OpMIPSMOVFload(v *Value) bool { v.reset(OpMIPSMOVFload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off] {sym} ptr (MOVFstore [off2] {sym2} ptr2 x _)) @@ -3227,9 +3091,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore(v *Value) bool { v.reset(OpMIPSMOVFstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVFstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -3252,9 +3114,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore(v *Value) bool { v.reset(OpMIPSMOVFstore) 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 @@ -3281,8 +3141,7 @@ func rewriteValueMIPS_OpMIPSMOVHUload(v *Value) bool { v.reset(OpMIPSMOVHUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3304,8 +3163,7 @@ func rewriteValueMIPS_OpMIPSMOVHUload(v *Value) bool { v.reset(OpMIPSMOVHUload) 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 (MOVHstore [off2] {sym2} ptr2 x _)) @@ -3403,8 +3261,7 @@ func rewriteValueMIPS_OpMIPSMOVHUreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVHUreg (ANDconst [c] x)) @@ -3455,8 +3312,7 @@ func rewriteValueMIPS_OpMIPSMOVHload(v *Value) bool { v.reset(OpMIPSMOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3478,8 +3334,7 @@ func rewriteValueMIPS_OpMIPSMOVHload(v *Value) bool { v.reset(OpMIPSMOVHload) 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 (MOVHstore [off2] {sym2} ptr2 x _)) @@ -3600,8 +3455,7 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } // match: (MOVHreg (ANDconst [c] x)) @@ -3658,9 +3512,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -3683,9 +3535,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstore) 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 (MOVWconst [0]) mem) @@ -3701,8 +3551,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstorezero) 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) @@ -3719,9 +3568,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstore) 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) @@ -3738,9 +3585,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstore) 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) @@ -3757,9 +3602,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool { v.reset(OpMIPSMOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -3786,8 +3629,7 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero(v *Value) bool { v.reset(OpMIPSMOVHstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3809,8 +3651,7 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero(v *Value) bool { v.reset(OpMIPSMOVHstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3837,8 +3678,7 @@ func rewriteValueMIPS_OpMIPSMOVWload(v *Value) bool { v.reset(OpMIPSMOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -3860,8 +3700,7 @@ func rewriteValueMIPS_OpMIPSMOVWload(v *Value) bool { v.reset(OpMIPSMOVWload) 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 (MOVWstore [off2] {sym2} ptr2 x _)) @@ -3940,9 +3779,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool { v.reset(OpMIPSMOVWstore) 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 [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem) @@ -3965,9 +3802,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool { v.reset(OpMIPSMOVWstore) 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 (MOVWconst [0]) mem) @@ -3983,8 +3818,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool { v.reset(OpMIPSMOVWstorezero) 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) @@ -4001,9 +3835,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool { v.reset(OpMIPSMOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -4030,8 +3862,7 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero(v *Value) bool { v.reset(OpMIPSMOVWstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem) @@ -4053,8 +3884,7 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero(v *Value) bool { v.reset(OpMIPSMOVWstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4242,8 +4072,7 @@ func rewriteValueMIPS_OpMIPSOR(v *Value) bool { y := v_1.Args[0] v.reset(OpMIPSSGTUzero) v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5030,10 +4859,9 @@ func rewriteValueMIPS_OpMod16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) 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 } @@ -5052,10 +4880,9 @@ func rewriteValueMIPS_OpMod16u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) 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 } @@ -5072,8 +4899,7 @@ func rewriteValueMIPS_OpMod32(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5090,8 +4916,7 @@ func rewriteValueMIPS_OpMod32u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5110,10 +4935,9 @@ func rewriteValueMIPS_OpMod8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32)) 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 } @@ -5132,10 +4956,9 @@ func rewriteValueMIPS_OpMod8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32)) 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 } @@ -5169,12 +4992,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpMIPSMOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, 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] {t} dst src mem) @@ -5192,12 +5012,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool { break } v.reset(OpMIPSMOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, 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 [2] dst src mem) @@ -5211,20 +5028,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPSMOVBstore) v.AuxInt = 1 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v0.AuxInt = 1 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) - 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 [4] {t} dst src mem) @@ -5242,12 +5053,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool { break } v.reset(OpMIPSMOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, 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 [4] {t} dst src mem) @@ -5266,20 +5074,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVHstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, typ.UInt16) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVHUload, 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 [4] dst src mem) @@ -5293,38 +5095,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPSMOVBstore) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v2.AuxInt = 2 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v4.AuxInt = 1 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [3] dst src mem) @@ -5338,29 +5128,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPSMOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) v2.AuxInt = 1 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8) - 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 [8] {t} dst src mem) @@ -5379,20 +5160,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, 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 [8] {t} dst src mem) @@ -5411,38 +5186,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVHstore) v.AuxInt = 6 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) v0.AuxInt = 6 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v3.AuxInt = 2 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) v4.AuxInt = 2 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [6] {t} dst src mem) @@ -5461,29 +5224,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVHstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) v2.AuxInt = 2 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16) - 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] {t} dst src mem) @@ -5502,29 +5256,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, 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 [16] {t} dst src mem) @@ -5543,38 +5288,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 12 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v0.AuxInt = 12 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v2.AuxInt = 8 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v3.AuxInt = 4 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) v4.AuxInt = 4 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [s] {t} dst src mem) @@ -5591,13 +5324,10 @@ func rewriteValueMIPS_OpMove(v *Value) bool { } v.reset(OpMIPSLoweredMove) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpMIPSADDconst, src.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(src) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -5616,14 +5346,12 @@ func rewriteValueMIPS_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) 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) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -5639,12 +5367,10 @@ func rewriteValueMIPS_OpNeq32(v *Value) bool { y := v_1 v.reset(OpMIPSSGTU) v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -5659,8 +5385,7 @@ func rewriteValueMIPS_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagFalse) v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5676,8 +5401,7 @@ func rewriteValueMIPS_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpMIPSFPFlagFalse) v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5696,14 +5420,12 @@ func rewriteValueMIPS_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) 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) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -5719,12 +5441,10 @@ func rewriteValueMIPS_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpMIPSSGTU) v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -5783,9 +5503,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool { } v.reset(OpMIPSLoweredPanicBoundsA) 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) @@ -5801,9 +5519,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool { } v.reset(OpMIPSLoweredPanicBoundsB) 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) @@ -5819,9 +5535,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool { } v.reset(OpMIPSLoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -5845,10 +5559,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool { } v.reset(OpMIPSLoweredPanicExtendA) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -5865,10 +5576,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool { } v.reset(OpMIPSLoweredPanicExtendB) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } // match: (PanicExtend [kind] hi lo y mem) @@ -5885,10 +5593,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool { } v.reset(OpMIPSLoweredPanicExtendC) v.AuxInt = kind - v.AddArg(hi) - v.AddArg(lo) - v.AddArg(y) - v.AddArg(mem) + v.AddArg4(hi, lo, y, mem) return true } return false @@ -5909,17 +5614,14 @@ func rewriteValueMIPS_OpRotateLeft16(v *Value) bool { c := v_1.AuxInt v.reset(OpOr16) v0 := b.NewValue0(v.Pos, OpLsh16x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = c & 15 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh16Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -5940,17 +5642,14 @@ func rewriteValueMIPS_OpRotateLeft32(v *Value) bool { c := v_1.AuxInt v.reset(OpOr32) v0 := b.NewValue0(v.Pos, OpLsh32x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = c & 31 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh32Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -c & 31 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -5971,17 +5670,14 @@ func rewriteValueMIPS_OpRotateLeft64(v *Value) bool { c := v_1.AuxInt v.reset(OpOr64) v0 := b.NewValue0(v.Pos, OpLsh64x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = c & 63 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh64Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -c & 63 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6002,17 +5698,14 @@ func rewriteValueMIPS_OpRotateLeft8(v *Value) bool { c := v_1.AuxInt v.reset(OpOr8) v0 := b.NewValue0(v.Pos, OpLsh8x32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = c & 7 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh8Ux32, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6032,20 +5725,17 @@ func rewriteValueMIPS_OpRsh16Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) 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) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -6064,16 +5754,13 @@ func rewriteValueMIPS_OpRsh16Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -6134,20 +5821,17 @@ func rewriteValueMIPS_OpRsh16Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -6164,21 +5848,18 @@ func rewriteValueMIPS_OpRsh16x16(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -1 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -6195,17 +5876,14 @@ func rewriteValueMIPS_OpRsh16x32(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = -1 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -6269,21 +5947,18 @@ func rewriteValueMIPS_OpRsh16x8(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -1 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -6300,20 +5975,17 @@ func rewriteValueMIPS_OpRsh32Ux16(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -6330,16 +6002,13 @@ func rewriteValueMIPS_OpRsh32Ux32(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v2.AuxInt = 32 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -6393,20 +6062,17 @@ func rewriteValueMIPS_OpRsh32Ux8(v *Value) bool { y := v_1 v.reset(OpMIPSCMOVZ) v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -6421,21 +6087,18 @@ func rewriteValueMIPS_OpRsh32x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPSSRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = -1 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) + v.AddArg2(x, v0) return true } } @@ -6450,17 +6113,14 @@ func rewriteValueMIPS_OpRsh32x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPSSRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = -1 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v2.AuxInt = 32 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -6514,21 +6174,18 @@ func rewriteValueMIPS_OpRsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPSSRA) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(y) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = -1 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v4.AddArg(y) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) + v.AddArg2(x, v0) return true } } @@ -6547,20 +6204,17 @@ func rewriteValueMIPS_OpRsh8Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -6579,16 +6233,13 @@ func rewriteValueMIPS_OpRsh8Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -6649,20 +6300,17 @@ func rewriteValueMIPS_OpRsh8Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSSRL, t) 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) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v.AddArg(v4) + v.AddArg3(v0, v3, v4) return true } } @@ -6679,21 +6327,18 @@ func rewriteValueMIPS_OpRsh8x16(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -1 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -6710,17 +6355,14 @@ func rewriteValueMIPS_OpRsh8x32(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = -1 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v3.AuxInt = 32 v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -6784,21 +6426,18 @@ func rewriteValueMIPS_OpRsh8x8(v *Value) bool { v.reset(OpMIPSSRA) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32) v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v2.AddArg(y) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v3.AuxInt = -1 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool) v4.AuxInt = 32 v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v5.AddArg(y) v4.AddArg(v5) - v1.AddArg(v4) - v.AddArg(v1) + v1.AddArg3(v2, v3, v4) + v.AddArg2(v0, v1) return true } } @@ -6817,8 +6456,7 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool { x := v_0.Args[0] v.reset(OpMIPSADD) v.Type = t.FieldType(0) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Select0 (Sub32carry x y)) @@ -6832,8 +6470,7 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool { x := v_0.Args[0] v.reset(OpMIPSSUB) v.Type = t.FieldType(0) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Select0 (MULTU (MOVWconst [0]) _ )) @@ -6892,11 +6529,9 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPSADDconst, x.Type) v0.AuxInt = -1 v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v.AddArg(v1) - v.AddArg(x) + v.AddArg3(v0, v1, x) return true } break @@ -7010,11 +6645,9 @@ func rewriteValueMIPS_OpSelect1(v *Value) bool { x := v_0.Args[0] v.reset(OpMIPSSGTU) v.Type = typ.Bool - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPSADD, t.FieldType(0)) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) + v.AddArg2(x, v0) return true } // match: (Select1 (Sub32carry x y)) @@ -7029,10 +6662,8 @@ func rewriteValueMIPS_OpSelect1(v *Value) bool { v.reset(OpMIPSSGTU) v.Type = typ.Bool v0 := b.NewValue0(v.Pos, OpMIPSSUB, t.FieldType(0)) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(x) + v0.AddArg2(x, y) + v.AddArg2(v0, x) return true } // match: (Select1 (MULTU (MOVWconst [0]) _ )) @@ -7234,9 +6865,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool { break } v.reset(OpMIPSMOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7251,9 +6880,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool { break } v.reset(OpMIPSMOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7268,9 +6895,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool { break } v.reset(OpMIPSMOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7285,9 +6910,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool { break } v.reset(OpMIPSMOVFstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7302,9 +6925,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool { break } v.reset(OpMIPSMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -7323,10 +6944,8 @@ func rewriteValueMIPS_OpSub32withcarry(v *Value) bool { c := v_2 v.reset(OpMIPSSUB) v0 := b.NewValue0(v.Pos, OpMIPSSUB, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) - v.AddArg(c) + v0.AddArg2(x, y) + v.AddArg2(v0, c) return true } } @@ -7357,11 +6976,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpMIPSMOVBstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] {t} ptr mem) @@ -7378,11 +6995,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool { break } v.reset(OpMIPSMOVHstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] ptr mem) @@ -7395,18 +7010,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPSMOVBstore) v.AuxInt = 1 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [4] {t} ptr mem) @@ -7423,11 +7034,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool { break } v.reset(OpMIPSMOVWstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [4] {t} ptr mem) @@ -7445,18 +7054,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSMOVHstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [4] ptr mem) @@ -7469,32 +7074,24 @@ func rewriteValueMIPS_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPSMOVBstore) v.AuxInt = 3 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [3] ptr mem) @@ -7507,25 +7104,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPSMOVBstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [6] {t} ptr mem) @@ -7543,25 +7134,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSMOVHstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [8] {t} ptr mem) @@ -7579,18 +7164,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [12] {t} ptr mem) @@ -7608,25 +7189,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [16] {t} ptr mem) @@ -7644,32 +7219,24 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSMOVWstore) v.AuxInt = 12 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v3.AuxInt = 4 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) 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 [s] {t} ptr mem) @@ -7685,12 +7252,10 @@ func rewriteValueMIPS_OpZero(v *Value) bool { } v.reset(OpMIPSLoweredZero) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPSADDconst, ptr.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(ptr) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false @@ -7705,10 +7270,9 @@ func rewriteValueMIPS_OpZeromask(v *Value) bool { x := v_0 v.reset(OpMIPSNEG) v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32) v1.AuxInt = 0 - v0.AddArg(v1) + v0.AddArg2(x, v1) v.AddArg(v0) return true } diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go index 315270b16a..6736fcd560 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go @@ -706,11 +706,9 @@ func rewriteValueMIPS64_OpAvg64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64SRLVconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpMIPS64SUBV, 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 } } @@ -725,8 +723,7 @@ func rewriteValueMIPS64_OpCom16(v *Value) bool { v.reset(OpMIPS64NOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -741,8 +738,7 @@ func rewriteValueMIPS64_OpCom32(v *Value) bool { v.reset(OpMIPS64NOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -757,8 +753,7 @@ func rewriteValueMIPS64_OpCom64(v *Value) bool { v.reset(OpMIPS64NOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -773,8 +768,7 @@ func rewriteValueMIPS64_OpCom8(v *Value) bool { v.reset(OpMIPS64NOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -801,10 +795,9 @@ func rewriteValueMIPS64_OpDiv16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -823,10 +816,9 @@ func rewriteValueMIPS64_OpDiv16u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -845,10 +837,9 @@ func rewriteValueMIPS64_OpDiv32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -867,10 +858,9 @@ func rewriteValueMIPS64_OpDiv32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -887,8 +877,7 @@ func rewriteValueMIPS64_OpDiv64(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -905,8 +894,7 @@ func rewriteValueMIPS64_OpDiv64u(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -925,10 +913,9 @@ func rewriteValueMIPS64_OpDiv8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -947,10 +934,9 @@ func rewriteValueMIPS64_OpDiv8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -968,15 +954,13 @@ func rewriteValueMIPS64_OpEq16(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -993,15 +977,13 @@ func rewriteValueMIPS64_OpEq32(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1016,8 +998,7 @@ func rewriteValueMIPS64_OpEq32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1035,11 +1016,9 @@ func rewriteValueMIPS64_OpEq64(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -1054,8 +1033,7 @@ func rewriteValueMIPS64_OpEq64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1073,15 +1051,13 @@ func rewriteValueMIPS64_OpEq8(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1098,11 +1074,9 @@ func rewriteValueMIPS64_OpEqB(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.Bool) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -1119,11 +1093,9 @@ func rewriteValueMIPS64_OpEqPtr(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -1138,8 +1110,7 @@ func rewriteValueMIPS64_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1155,8 +1126,7 @@ func rewriteValueMIPS64_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1172,8 +1142,7 @@ func rewriteValueMIPS64_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1189,8 +1158,7 @@ func rewriteValueMIPS64_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1211,10 +1179,9 @@ func rewriteValueMIPS64_OpHmul32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64MULV, types.NewTuple(typ.Int64, typ.Int64)) v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) v.AddArg(v0) return true @@ -1236,10 +1203,9 @@ func rewriteValueMIPS64_OpHmul32u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) v.AddArg(v0) return true @@ -1257,8 +1223,7 @@ func rewriteValueMIPS64_OpHmul64(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPS64MULV, types.NewTuple(typ.Int64, typ.Int64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1275,8 +1240,7 @@ func rewriteValueMIPS64_OpHmul64u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1290,8 +1254,7 @@ func rewriteValueMIPS64_OpIsInBounds(v *Value) bool { idx := v_0 len := v_1 v.reset(OpMIPS64SGTU) - v.AddArg(len) - v.AddArg(idx) + v.AddArg2(len, idx) return true } } @@ -1304,10 +1267,9 @@ func rewriteValueMIPS64_OpIsNonNil(v *Value) bool { for { ptr := v_0 v.reset(OpMIPS64SGTU) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) + v.AddArg2(ptr, v0) return true } } @@ -1324,11 +1286,9 @@ func rewriteValueMIPS64_OpIsSliceInBounds(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v1.AddArg(idx) - v1.AddArg(len) - v.AddArg(v1) + v1.AddArg2(idx, len) + v.AddArg2(v0, v1) return true } } @@ -1345,15 +1305,13 @@ func rewriteValueMIPS64_OpLeq16(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool) v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1370,15 +1328,13 @@ func rewriteValueMIPS64_OpLeq16U(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1395,15 +1351,13 @@ func rewriteValueMIPS64_OpLeq32(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool) v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1418,8 +1372,7 @@ func rewriteValueMIPS64_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1437,15 +1390,13 @@ func rewriteValueMIPS64_OpLeq32U(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1462,11 +1413,9 @@ func rewriteValueMIPS64_OpLeq64(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -1481,8 +1430,7 @@ func rewriteValueMIPS64_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1500,11 +1448,9 @@ func rewriteValueMIPS64_OpLeq64U(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v1.AddArg(x) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(x, y) + v.AddArg2(v0, v1) return true } } @@ -1521,15 +1467,13 @@ func rewriteValueMIPS64_OpLeq8(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool) v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1546,15 +1490,13 @@ func rewriteValueMIPS64_OpLeq8U(v *Value) bool { v.reset(OpMIPS64XOR) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg2(v2, v3) + v.AddArg2(v0, v1) return true } } @@ -1571,10 +1513,9 @@ func rewriteValueMIPS64_OpLess16(v *Value) bool { v.reset(OpMIPS64SGT) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1591,10 +1532,9 @@ func rewriteValueMIPS64_OpLess16U(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1611,10 +1551,9 @@ func rewriteValueMIPS64_OpLess32(v *Value) bool { v.reset(OpMIPS64SGT) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1629,8 +1568,7 @@ func rewriteValueMIPS64_OpLess32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1648,10 +1586,9 @@ func rewriteValueMIPS64_OpLess32U(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1664,8 +1601,7 @@ func rewriteValueMIPS64_OpLess64(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SGT) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1680,8 +1616,7 @@ func rewriteValueMIPS64_OpLess64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagTrue) v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1695,8 +1630,7 @@ func rewriteValueMIPS64_OpLess64U(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SGTU) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1713,10 +1647,9 @@ func rewriteValueMIPS64_OpLess8(v *Value) bool { v.reset(OpMIPS64SGT) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1733,10 +1666,9 @@ func rewriteValueMIPS64_OpLess8U(v *Value) bool { v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1754,8 +1686,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1769,8 +1700,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1784,8 +1714,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1799,8 +1728,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1814,8 +1742,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVHUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1829,8 +1756,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1844,8 +1770,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVWUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1859,8 +1784,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVVload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1874,8 +1798,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVFload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1889,8 +1812,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool { break } v.reset(OpMIPS64MOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -1924,18 +1846,15 @@ func rewriteValueMIPS64_OpLsh16x16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -1955,18 +1874,15 @@ func rewriteValueMIPS64_OpLsh16x32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -1986,14 +1902,11 @@ func rewriteValueMIPS64_OpLsh16x64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v3.AddArg(x) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(x, y) + v.AddArg2(v0, v3) return true } } @@ -2013,18 +1926,15 @@ func rewriteValueMIPS64_OpLsh16x8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2044,18 +1954,15 @@ func rewriteValueMIPS64_OpLsh32x16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2075,18 +1982,15 @@ func rewriteValueMIPS64_OpLsh32x32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2106,14 +2010,11 @@ func rewriteValueMIPS64_OpLsh32x64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v3.AddArg(x) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(x, y) + v.AddArg2(v0, v3) return true } } @@ -2133,18 +2034,15 @@ func rewriteValueMIPS64_OpLsh32x8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2164,18 +2062,15 @@ func rewriteValueMIPS64_OpLsh64x16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2195,18 +2090,15 @@ func rewriteValueMIPS64_OpLsh64x32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2226,14 +2118,11 @@ func rewriteValueMIPS64_OpLsh64x64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v3.AddArg(x) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(x, y) + v.AddArg2(v0, v3) return true } } @@ -2253,18 +2142,15 @@ func rewriteValueMIPS64_OpLsh64x8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2284,18 +2170,15 @@ func rewriteValueMIPS64_OpLsh8x16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2315,18 +2198,15 @@ func rewriteValueMIPS64_OpLsh8x32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2346,14 +2226,11 @@ func rewriteValueMIPS64_OpLsh8x64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v3.AddArg(x) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(x, y) + v.AddArg2(v0, v3) return true } } @@ -2373,18 +2250,15 @@ func rewriteValueMIPS64_OpLsh8x8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -2421,8 +2295,7 @@ func rewriteValueMIPS64_OpMIPS64ADDV(v *Value) bool { } y := v_1.Args[0] v.reset(OpMIPS64SUBV) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -2617,8 +2490,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd32(v *Value) bool { } v.reset(OpMIPS64LoweredAtomicAddconst32) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2642,8 +2514,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd64(v *Value) bool { } v.reset(OpMIPS64LoweredAtomicAddconst64) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2661,8 +2532,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore32(v *Value) bool { } mem := v_2 v.reset(OpMIPS64LoweredAtomicStorezero32) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2680,8 +2550,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore64(v *Value) bool { } mem := v_2 v.reset(OpMIPS64LoweredAtomicStorezero64) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2707,8 +2576,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload(v *Value) bool { v.reset(OpMIPS64MOVBUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -2730,8 +2598,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload(v *Value) bool { v.reset(OpMIPS64MOVBUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2795,8 +2662,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBload(v *Value) bool { v.reset(OpMIPS64MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -2818,8 +2684,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBload(v *Value) bool { v.reset(OpMIPS64MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2885,9 +2750,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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 [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -2910,9 +2773,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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 (MOVVconst [0]) mem) @@ -2928,8 +2789,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstorezero) 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) @@ -2946,9 +2806,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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) @@ -2965,9 +2823,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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) @@ -2984,9 +2840,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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) @@ -3003,9 +2857,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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) @@ -3022,9 +2874,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) 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) @@ -3041,9 +2891,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool { v.reset(OpMIPS64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -3069,8 +2917,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero(v *Value) bool { v.reset(OpMIPS64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3092,8 +2939,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero(v *Value) bool { v.reset(OpMIPS64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3119,8 +2965,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDload(v *Value) bool { v.reset(OpMIPS64MOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3142,8 +2987,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDload(v *Value) bool { v.reset(OpMIPS64MOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3171,9 +3015,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore(v *Value) bool { v.reset(OpMIPS64MOVDstore) 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 [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -3196,9 +3038,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore(v *Value) bool { v.reset(OpMIPS64MOVDstore) 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 @@ -3224,8 +3064,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFload(v *Value) bool { v.reset(OpMIPS64MOVFload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVFload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3247,8 +3086,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFload(v *Value) bool { v.reset(OpMIPS64MOVFload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3276,9 +3114,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore(v *Value) bool { v.reset(OpMIPS64MOVFstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVFstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -3301,9 +3137,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore(v *Value) bool { v.reset(OpMIPS64MOVFstore) 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 @@ -3329,8 +3163,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload(v *Value) bool { v.reset(OpMIPS64MOVHUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3352,8 +3185,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload(v *Value) bool { v.reset(OpMIPS64MOVHUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3440,8 +3272,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHload(v *Value) bool { v.reset(OpMIPS64MOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3463,8 +3294,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHload(v *Value) bool { v.reset(OpMIPS64MOVHload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3576,9 +3406,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) 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 [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -3601,9 +3429,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) 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 (MOVVconst [0]) mem) @@ -3619,8 +3445,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstorezero) 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) @@ -3637,9 +3462,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) 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) @@ -3656,9 +3479,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) 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) @@ -3675,9 +3496,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) 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) @@ -3694,9 +3513,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool { v.reset(OpMIPS64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -3722,8 +3539,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero(v *Value) bool { v.reset(OpMIPS64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3745,8 +3561,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero(v *Value) bool { v.reset(OpMIPS64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3772,8 +3587,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVload(v *Value) bool { v.reset(OpMIPS64MOVVload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVVload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3795,8 +3609,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVload(v *Value) bool { v.reset(OpMIPS64MOVVload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3851,9 +3664,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool { v.reset(OpMIPS64MOVVstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVVstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -3876,9 +3687,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool { v.reset(OpMIPS64MOVVstore) 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: (MOVVstore [off] {sym} ptr (MOVVconst [0]) mem) @@ -3894,8 +3703,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool { v.reset(OpMIPS64MOVVstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3921,8 +3729,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero(v *Value) bool { v.reset(OpMIPS64MOVVstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVVstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3944,8 +3751,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero(v *Value) bool { v.reset(OpMIPS64MOVVstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -3971,8 +3777,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload(v *Value) bool { v.reset(OpMIPS64MOVWUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -3994,8 +3799,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload(v *Value) bool { v.reset(OpMIPS64MOVWUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4105,8 +3909,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWload(v *Value) bool { v.reset(OpMIPS64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -4128,8 +3931,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWload(v *Value) bool { v.reset(OpMIPS64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4276,9 +4078,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool { v.reset(OpMIPS64MOVWstore) 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 [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem) @@ -4301,9 +4101,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool { v.reset(OpMIPS64MOVWstore) 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 (MOVVconst [0]) mem) @@ -4319,8 +4117,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool { v.reset(OpMIPS64MOVWstorezero) 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) @@ -4336,10 +4133,8 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool { mem := v_2 v.reset(OpMIPS64MOVWstore) v.AuxInt = off - v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.Aux = sym + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVWUreg x) mem) @@ -4356,9 +4151,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool { v.reset(OpMIPS64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -4384,8 +4177,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero(v *Value) bool { v.reset(OpMIPS64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem) @@ -4407,8 +4199,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero(v *Value) bool { v.reset(OpMIPS64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -5239,10 +5030,9 @@ func rewriteValueMIPS64_OpMod16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5261,10 +5051,9 @@ func rewriteValueMIPS64_OpMod16u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5283,10 +5072,9 @@ func rewriteValueMIPS64_OpMod32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5305,10 +5093,9 @@ func rewriteValueMIPS64_OpMod32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5325,8 +5112,7 @@ func rewriteValueMIPS64_OpMod64(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5343,8 +5129,7 @@ func rewriteValueMIPS64_OpMod64u(v *Value) bool { y := v_1 v.reset(OpSelect0) v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5363,10 +5148,9 @@ func rewriteValueMIPS64_OpMod8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64)) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5385,10 +5169,9 @@ func rewriteValueMIPS64_OpMod8u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64)) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -5422,12 +5205,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpMIPS64MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) - 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] {t} dst src mem) @@ -5445,12 +5225,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { break } v.reset(OpMIPS64MOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) - 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) @@ -5464,20 +5241,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPS64MOVBstore) v.AuxInt = 1 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v0.AuxInt = 1 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) - 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 [4] {t} dst src mem) @@ -5495,12 +5266,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { break } v.reset(OpMIPS64MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) - 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] {t} dst src mem) @@ -5519,20 +5287,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) - 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 [4] dst src mem) @@ -5546,38 +5308,26 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPS64MOVBstore) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v2.AuxInt = 2 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v4.AuxInt = 1 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [8] {t} dst src mem) @@ -5595,12 +5345,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { break } v.reset(OpMIPS64MOVVstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, 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 [8] {t} dst src mem) @@ -5619,20 +5366,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVWstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) - 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 [8] {t} dst src mem) @@ -5651,38 +5392,26 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 6 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v0.AuxInt = 6 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v3.AuxInt = 2 - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v4.AuxInt = 2 - v4.AddArg(src) - v4.AddArg(mem) - v3.AddArg(v4) + v4.AddArg2(src, mem) v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) - v5.AddArg(dst) v6 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) - v6.AddArg(src) - v6.AddArg(mem) - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v6.AddArg2(src, mem) + v5.AddArg3(dst, v6, mem) + v3.AddArg3(dst, v4, v5) + v1.AddArg3(dst, v2, v3) + v.AddArg3(dst, v0, v1) return true } // match: (Move [3] dst src mem) @@ -5696,29 +5425,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { mem := v_2 v.reset(OpMIPS64MOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) v2.AuxInt = 1 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8) - 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 [6] {t} dst src mem) @@ -5737,29 +5457,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) v2.AuxInt = 2 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16) - 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] {t} dst src mem) @@ -5778,29 +5489,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVWstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32) - 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 [16] {t} dst src mem) @@ -5819,20 +5521,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVVstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, 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] {t} dst src mem) @@ -5851,29 +5547,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64MOVVstore) v.AuxInt = 16 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64) v0.AuxInt = 16 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64) v2.AuxInt = 8 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVload, 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] {t} dst src mem) @@ -5890,9 +5577,7 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64DUFFCOPY) v.AuxInt = 16 * (128 - s/8) - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Move [s] {t} dst src mem) @@ -5909,13 +5594,10 @@ func rewriteValueMIPS64_OpMove(v *Value) bool { } v.reset(OpMIPS64LoweredMove) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, src.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(src) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -5932,8 +5614,7 @@ func rewriteValueMIPS64_OpMul16(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5950,8 +5631,7 @@ func rewriteValueMIPS64_OpMul32(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5968,8 +5648,7 @@ func rewriteValueMIPS64_OpMul64(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -5986,8 +5665,7 @@ func rewriteValueMIPS64_OpMul8(v *Value) bool { y := v_1 v.reset(OpSelect1) v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64)) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -6006,14 +5684,12 @@ func rewriteValueMIPS64_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) 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, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -6031,14 +5707,12 @@ func rewriteValueMIPS64_OpNeq32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) 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, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -6053,8 +5727,7 @@ func rewriteValueMIPS64_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagFalse) v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -6071,12 +5744,10 @@ func rewriteValueMIPS64_OpNeq64(v *Value) bool { y := v_1 v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -6091,8 +5762,7 @@ func rewriteValueMIPS64_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpMIPS64FPFlagFalse) v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -6111,14 +5781,12 @@ func rewriteValueMIPS64_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) 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, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -6134,12 +5802,10 @@ func rewriteValueMIPS64_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpMIPS64SGTU) v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -6198,9 +5864,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool { } v.reset(OpMIPS64LoweredPanicBoundsA) 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) @@ -6216,9 +5880,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool { } v.reset(OpMIPS64LoweredPanicBoundsB) 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) @@ -6234,9 +5896,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool { } v.reset(OpMIPS64LoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -6257,17 +5917,14 @@ func rewriteValueMIPS64_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, OpMIPS64MOVVconst, 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, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6288,17 +5945,14 @@ func rewriteValueMIPS64_OpRotateLeft32(v *Value) bool { c := v_1.AuxInt v.reset(OpOr32) v0 := b.NewValue0(v.Pos, OpLsh32x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v1.AuxInt = c & 31 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh32Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = -c & 31 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6319,17 +5973,14 @@ func rewriteValueMIPS64_OpRotateLeft64(v *Value) bool { c := v_1.AuxInt v.reset(OpOr64) v0 := b.NewValue0(v.Pos, OpLsh64x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v1.AuxInt = c & 63 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh64Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = -c & 63 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6350,17 +6001,14 @@ func rewriteValueMIPS64_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, OpMIPS64MOVVconst, 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, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -6381,20 +6029,17 @@ func rewriteValueMIPS64_OpRsh16Ux16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6414,20 +6059,17 @@ func rewriteValueMIPS64_OpRsh16Ux32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6447,16 +6089,13 @@ func rewriteValueMIPS64_OpRsh16Ux64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(x) - v3.AddArg(v4) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(v4, y) + v.AddArg2(v0, v3) return true } } @@ -6476,20 +6115,17 @@ func rewriteValueMIPS64_OpRsh16Ux8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6507,22 +6143,19 @@ func rewriteValueMIPS64_OpRsh16x16(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6540,22 +6173,19 @@ func rewriteValueMIPS64_OpRsh16x32(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6573,18 +6203,15 @@ func rewriteValueMIPS64_OpRsh16x64(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v3.AddArg(y) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v3.AddArg(v4) + v3.AddArg2(y, v4) v2.AddArg(v3) - v1.AddArg(v2) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(v2, y) + v.AddArg2(v0, v1) return true } } @@ -6602,22 +6229,19 @@ func rewriteValueMIPS64_OpRsh16x8(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6637,20 +6261,17 @@ func rewriteValueMIPS64_OpRsh32Ux16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6670,20 +6291,17 @@ func rewriteValueMIPS64_OpRsh32Ux32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6703,16 +6321,13 @@ func rewriteValueMIPS64_OpRsh32Ux64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(x) - v3.AddArg(v4) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(v4, y) + v.AddArg2(v0, v3) return true } } @@ -6732,20 +6347,17 @@ func rewriteValueMIPS64_OpRsh32Ux8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -6763,22 +6375,19 @@ func rewriteValueMIPS64_OpRsh32x16(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6796,22 +6405,19 @@ func rewriteValueMIPS64_OpRsh32x32(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6829,18 +6435,15 @@ func rewriteValueMIPS64_OpRsh32x64(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v3.AddArg(y) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v3.AddArg(v4) + v3.AddArg2(y, v4) v2.AddArg(v3) - v1.AddArg(v2) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(v2, y) + v.AddArg2(v0, v1) return true } } @@ -6858,22 +6461,19 @@ func rewriteValueMIPS64_OpRsh32x8(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -6893,18 +6493,15 @@ func rewriteValueMIPS64_OpRsh64Ux16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -6924,18 +6521,15 @@ func rewriteValueMIPS64_OpRsh64Ux32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -6955,14 +6549,11 @@ func rewriteValueMIPS64_OpRsh64Ux64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) - v3.AddArg(x) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(x, y) + v.AddArg2(v0, v3) return true } } @@ -6982,18 +6573,15 @@ func rewriteValueMIPS64_OpRsh64Ux8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } } @@ -7009,22 +6597,19 @@ func rewriteValueMIPS64_OpRsh64x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SRAV) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPS64OR, t) v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) - v0.AddArg(v1) v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v5.AddArg(y) - v0.AddArg(v5) - v.AddArg(v0) + v0.AddArg2(v1, v5) + v.AddArg2(x, v0) return true } } @@ -7040,22 +6625,19 @@ func rewriteValueMIPS64_OpRsh64x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SRAV) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPS64OR, t) v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) - v0.AddArg(v1) v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v5.AddArg(y) - v0.AddArg(v5) - v.AddArg(v0) + v0.AddArg2(v1, v5) + v.AddArg2(x, v0) return true } } @@ -7071,18 +6653,15 @@ func rewriteValueMIPS64_OpRsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SRAV) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPS64OR, t) v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v2.AddArg(y) v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v3.AuxInt = 63 - v2.AddArg(v3) + v2.AddArg2(y, v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) + v.AddArg2(x, v0) return true } } @@ -7098,22 +6677,19 @@ func rewriteValueMIPS64_OpRsh64x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpMIPS64SRAV) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMIPS64OR, t) v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) - v0.AddArg(v1) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(y) - v0.AddArg(v5) - v.AddArg(v0) + v0.AddArg2(v1, v5) + v.AddArg2(x, v0) return true } } @@ -7133,20 +6709,17 @@ func rewriteValueMIPS64_OpRsh8Ux16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -7166,20 +6739,17 @@ func rewriteValueMIPS64_OpRsh8Ux32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -7199,16 +6769,13 @@ func rewriteValueMIPS64_OpRsh8Ux64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) - v1.AddArg(y) + v1.AddArg2(v2, y) v0.AddArg(v1) - v.AddArg(v0) v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(x) - v3.AddArg(v4) - v3.AddArg(y) - v.AddArg(v3) + v3.AddArg2(v4, y) + v.AddArg2(v0, v3) return true } } @@ -7228,20 +6795,17 @@ func rewriteValueMIPS64_OpRsh8Ux8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 64 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v3.AddArg(y) - v1.AddArg(v3) + v1.AddArg2(v2, v3) v0.AddArg(v1) - v.AddArg(v0) v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t) v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v4.AddArg(v6) - v.AddArg(v4) + v4.AddArg2(v5, v6) + v.AddArg2(v0, v4) return true } } @@ -7259,22 +6823,19 @@ func rewriteValueMIPS64_OpRsh8x16(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -7292,22 +6853,19 @@ func rewriteValueMIPS64_OpRsh8x32(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -7325,18 +6883,15 @@ func rewriteValueMIPS64_OpRsh8x64(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) - v3.AddArg(y) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 63 - v3.AddArg(v4) + v3.AddArg2(y, v4) v2.AddArg(v3) - v1.AddArg(v2) - v1.AddArg(y) - v.AddArg(v1) + v1.AddArg2(v2, y) + v.AddArg2(v0, v1) return true } } @@ -7354,22 +6909,19 @@ func rewriteValueMIPS64_OpRsh8x8(v *Value) bool { v.reset(OpMIPS64SRAV) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64OR, t) v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t) v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool) v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v4.AddArg(y) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v5.AuxInt = 63 - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v1.AddArg(v2) v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v6.AddArg(y) - v1.AddArg(v6) - v.AddArg(v1) + v1.AddArg2(v2, v6) + v.AddArg2(v0, v1) return true } } @@ -7683,9 +7235,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7700,9 +7250,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7717,9 +7265,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7734,9 +7280,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVVstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7751,9 +7295,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVFstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -7768,9 +7310,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool { break } v.reset(OpMIPS64MOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -7802,11 +7342,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpMIPS64MOVBstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] {t} ptr mem) @@ -7823,11 +7361,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { break } v.reset(OpMIPS64MOVHstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] ptr mem) @@ -7840,18 +7376,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPS64MOVBstore) v.AuxInt = 1 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [4] {t} ptr mem) @@ -7868,11 +7400,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { break } v.reset(OpMIPS64MOVWstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [4] {t} ptr mem) @@ -7890,18 +7420,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [4] ptr mem) @@ -7914,32 +7440,24 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPS64MOVBstore) v.AuxInt = 3 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v3.AuxInt = 1 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [8] {t} ptr mem) @@ -7956,11 +7474,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { break } v.reset(OpMIPS64MOVVstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [8] {t} ptr mem) @@ -7978,18 +7494,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVWstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [8] {t} ptr mem) @@ -8007,32 +7519,24 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 6 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v3.AuxInt = 2 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v5.AuxInt = 0 - v5.AddArg(ptr) v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [3] ptr mem) @@ -8045,25 +7549,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { mem := v_1 v.reset(OpMIPS64MOVBstore) v.AuxInt = 2 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v1.AuxInt = 1 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [6] {t} ptr mem) @@ -8081,25 +7579,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVHstore) v.AuxInt = 4 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v1.AuxInt = 2 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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] {t} ptr mem) @@ -8117,25 +7609,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVWstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [16] {t} ptr mem) @@ -8153,18 +7639,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVVstore) v.AuxInt = 8 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [24] {t} ptr mem) @@ -8182,25 +7664,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64MOVVstore) v.AuxInt = 16 - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(ptr) v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem) v3.AuxInt = 0 - v3.AddArg(ptr) v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, 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 [s] {t} ptr mem) @@ -8216,8 +7692,7 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64DUFFZERO) v.AuxInt = 8 * (128 - s/8) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Zero [s] {t} ptr mem) @@ -8233,12 +7708,10 @@ func rewriteValueMIPS64_OpZero(v *Value) bool { } v.reset(OpMIPS64LoweredZero) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, ptr.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(ptr) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } return false diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go index 53549dda74..c7b4f44920 100644 --- a/src/cmd/compile/internal/ssa/rewritePPC64.go +++ b/src/cmd/compile/internal/ssa/rewritePPC64.go @@ -810,10 +810,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap32(v *Value) bool { mem := v_3 v.reset(OpPPC64LoweredAtomicCas32) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(old) - v.AddArg(new_) - v.AddArg(mem) + v.AddArg4(ptr, old, new_, mem) return true } } @@ -831,10 +828,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap64(v *Value) bool { mem := v_3 v.reset(OpPPC64LoweredAtomicCas64) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(old) - v.AddArg(new_) - v.AddArg(mem) + v.AddArg4(ptr, old, new_, mem) return true } } @@ -852,10 +846,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwapRel32(v *Value) bool { mem := v_3 v.reset(OpPPC64LoweredAtomicCas32) v.AuxInt = 0 - v.AddArg(ptr) - v.AddArg(old) - v.AddArg(new_) - v.AddArg(mem) + v.AddArg4(ptr, old, new_, mem) return true } } @@ -869,8 +860,7 @@ func rewriteValuePPC64_OpAtomicLoad32(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredAtomicLoad32) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -884,8 +874,7 @@ func rewriteValuePPC64_OpAtomicLoad64(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredAtomicLoad64) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -899,8 +888,7 @@ func rewriteValuePPC64_OpAtomicLoad8(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredAtomicLoad8) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -914,8 +902,7 @@ func rewriteValuePPC64_OpAtomicLoadAcq32(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredAtomicLoad32) v.AuxInt = 0 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -929,8 +916,7 @@ func rewriteValuePPC64_OpAtomicLoadPtr(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredAtomicLoadPtr) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -946,9 +932,7 @@ func rewriteValuePPC64_OpAtomicStore32(v *Value) bool { mem := v_2 v.reset(OpPPC64LoweredAtomicStore32) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } } @@ -964,9 +948,7 @@ func rewriteValuePPC64_OpAtomicStore64(v *Value) bool { mem := v_2 v.reset(OpPPC64LoweredAtomicStore64) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } } @@ -982,9 +964,7 @@ func rewriteValuePPC64_OpAtomicStore8(v *Value) bool { mem := v_2 v.reset(OpPPC64LoweredAtomicStore8) v.AuxInt = 1 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } } @@ -1000,9 +980,7 @@ func rewriteValuePPC64_OpAtomicStoreRel32(v *Value) bool { mem := v_2 v.reset(OpPPC64LoweredAtomicStore32) v.AuxInt = 0 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } } @@ -1020,11 +998,9 @@ func rewriteValuePPC64_OpAvg64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64SRDconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpPPC64SUB, 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 } } @@ -1039,10 +1015,9 @@ func rewriteValuePPC64_OpBitLen32(v *Value) bool { v.reset(OpPPC64SUB) v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64CNTLZW, typ.Int) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1057,10 +1032,9 @@ func rewriteValuePPC64_OpBitLen64(v *Value) bool { v.reset(OpPPC64SUB) v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64CNTLZD, typ.Int) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1071,8 +1045,7 @@ func rewriteValuePPC64_OpCom16(v *Value) bool { for { x := v_0 v.reset(OpPPC64NOR) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } } @@ -1083,8 +1056,7 @@ func rewriteValuePPC64_OpCom32(v *Value) bool { for { x := v_0 v.reset(OpPPC64NOR) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } } @@ -1095,8 +1067,7 @@ func rewriteValuePPC64_OpCom64(v *Value) bool { for { x := v_0 v.reset(OpPPC64NOR) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } } @@ -1107,8 +1078,7 @@ func rewriteValuePPC64_OpCom8(v *Value) bool { for { x := v_0 v.reset(OpPPC64NOR) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } } @@ -1129,9 +1099,7 @@ func rewriteValuePPC64_OpCondSelect(v *Value) bool { } v.reset(OpPPC64ISEL) v.AuxInt = 2 - v.AddArg(x) - v.AddArg(y) - v.AddArg(bool) + v.AddArg3(x, y, bool) return true } // match: (CondSelect x y bool) @@ -1146,12 +1114,10 @@ func rewriteValuePPC64_OpCondSelect(v *Value) bool { } v.reset(OpPPC64ISEL) v.AuxInt = 2 - v.AddArg(x) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpPPC64CMPWconst, types.TypeFlags) v0.AuxInt = 0 v0.AddArg(bool) - v.AddArg(v0) + v.AddArg3(x, y, v0) return true } return false @@ -1174,8 +1140,7 @@ func rewriteValuePPC64_OpCopysign(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64FCPSGN) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -1193,8 +1158,7 @@ func rewriteValuePPC64_OpCtz16(v *Value) bool { v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int16) v2.AuxInt = -1 v2.AddArg(x) - v1.AddArg(v2) - v1.AddArg(x) + v1.AddArg2(v2, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -1218,8 +1182,7 @@ func rewriteValuePPC64_OpCtz32(v *Value) bool { v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int) v2.AuxInt = -1 v2.AddArg(x) - v1.AddArg(v2) - v1.AddArg(x) + v1.AddArg2(v2, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -1252,8 +1215,7 @@ func rewriteValuePPC64_OpCtz64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int64) v1.AuxInt = -1 v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -1280,8 +1242,7 @@ func rewriteValuePPC64_OpCtz8(v *Value) bool { v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.UInt8) v2.AuxInt = -1 v2.AddArg(x) - v1.AddArg(v2) - v1.AddArg(x) + v1.AddArg2(v2, x) v0.AddArg(v1) v.AddArg(v0) return true @@ -1424,10 +1385,9 @@ func rewriteValuePPC64_OpDiv16(v *Value) bool { v.reset(OpPPC64DIVW) 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 } } @@ -1444,10 +1404,9 @@ func rewriteValuePPC64_OpDiv16u(v *Value) bool { v.reset(OpPPC64DIVWU) 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 } } @@ -1464,10 +1423,9 @@ func rewriteValuePPC64_OpDiv8(v *Value) bool { v.reset(OpPPC64DIVW) 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 } } @@ -1484,10 +1442,9 @@ func rewriteValuePPC64_OpDiv8u(v *Value) bool { v.reset(OpPPC64DIVWU) 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 } } @@ -1510,10 +1467,9 @@ func rewriteValuePPC64_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1528,10 +1484,9 @@ func rewriteValuePPC64_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1547,8 +1502,7 @@ func rewriteValuePPC64_OpEq32(v *Value) bool { y := v_1 v.reset(OpPPC64Equal) v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1564,8 +1518,7 @@ func rewriteValuePPC64_OpEq32F(v *Value) bool { y := v_1 v.reset(OpPPC64Equal) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1581,8 +1534,7 @@ func rewriteValuePPC64_OpEq64(v *Value) bool { y := v_1 v.reset(OpPPC64Equal) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1598,8 +1550,7 @@ func rewriteValuePPC64_OpEq64F(v *Value) bool { y := v_1 v.reset(OpPPC64Equal) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1623,10 +1574,9 @@ func rewriteValuePPC64_OpEq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1641,10 +1591,9 @@ func rewriteValuePPC64_OpEq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1662,8 +1611,7 @@ func rewriteValuePPC64_OpEqB(v *Value) bool { v.reset(OpPPC64ANDconst) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpPPC64EQV, typ.Int64) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1679,8 +1627,7 @@ func rewriteValuePPC64_OpEqPtr(v *Value) bool { y := v_1 v.reset(OpPPC64Equal) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1696,8 +1643,7 @@ func rewriteValuePPC64_OpGeq32F(v *Value) bool { y := v_1 v.reset(OpPPC64FGreaterEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1713,8 +1659,7 @@ func rewriteValuePPC64_OpGeq64F(v *Value) bool { y := v_1 v.reset(OpPPC64FGreaterEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1730,8 +1675,7 @@ func rewriteValuePPC64_OpGreater32F(v *Value) bool { y := v_1 v.reset(OpPPC64FGreaterThan) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1747,8 +1691,7 @@ func rewriteValuePPC64_OpGreater64F(v *Value) bool { y := v_1 v.reset(OpPPC64FGreaterThan) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1764,8 +1707,7 @@ func rewriteValuePPC64_OpIsInBounds(v *Value) bool { len := v_1 v.reset(OpPPC64LessThan) v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -1796,8 +1738,7 @@ func rewriteValuePPC64_OpIsSliceInBounds(v *Value) bool { len := v_1 v.reset(OpPPC64LessEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags) - v0.AddArg(idx) - v0.AddArg(len) + v0.AddArg2(idx, len) v.AddArg(v0) return true } @@ -1816,10 +1757,9 @@ func rewriteValuePPC64_OpLeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1838,10 +1778,9 @@ func rewriteValuePPC64_OpLeq16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, 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 } @@ -1857,8 +1796,7 @@ func rewriteValuePPC64_OpLeq32(v *Value) bool { y := v_1 v.reset(OpPPC64LessEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1874,8 +1812,7 @@ func rewriteValuePPC64_OpLeq32F(v *Value) bool { y := v_1 v.reset(OpPPC64FLessEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1891,8 +1828,7 @@ func rewriteValuePPC64_OpLeq32U(v *Value) bool { y := v_1 v.reset(OpPPC64LessEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1908,8 +1844,7 @@ func rewriteValuePPC64_OpLeq64(v *Value) bool { y := v_1 v.reset(OpPPC64LessEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1925,8 +1860,7 @@ func rewriteValuePPC64_OpLeq64F(v *Value) bool { y := v_1 v.reset(OpPPC64FLessEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1942,8 +1876,7 @@ func rewriteValuePPC64_OpLeq64U(v *Value) bool { y := v_1 v.reset(OpPPC64LessEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -1962,10 +1895,9 @@ func rewriteValuePPC64_OpLeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -1984,10 +1916,9 @@ func rewriteValuePPC64_OpLeq8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, 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 } @@ -2006,10 +1937,9 @@ func rewriteValuePPC64_OpLess16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -2028,10 +1958,9 @@ func rewriteValuePPC64_OpLess16U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, 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 } @@ -2047,8 +1976,7 @@ func rewriteValuePPC64_OpLess32(v *Value) bool { y := v_1 v.reset(OpPPC64LessThan) v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2064,8 +1992,7 @@ func rewriteValuePPC64_OpLess32F(v *Value) bool { y := v_1 v.reset(OpPPC64FLessThan) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2081,8 +2008,7 @@ func rewriteValuePPC64_OpLess32U(v *Value) bool { y := v_1 v.reset(OpPPC64LessThan) v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2098,8 +2024,7 @@ func rewriteValuePPC64_OpLess64(v *Value) bool { y := v_1 v.reset(OpPPC64LessThan) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2115,8 +2040,7 @@ func rewriteValuePPC64_OpLess64F(v *Value) bool { y := v_1 v.reset(OpPPC64FLessThan) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2132,8 +2056,7 @@ func rewriteValuePPC64_OpLess64U(v *Value) bool { y := v_1 v.reset(OpPPC64LessThan) v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2152,10 +2075,9 @@ func rewriteValuePPC64_OpLess8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -2174,10 +2096,9 @@ func rewriteValuePPC64_OpLess8U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, 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 } @@ -2198,8 +2119,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2213,8 +2133,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2228,8 +2147,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVWZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2243,8 +2161,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2258,8 +2175,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVHZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2273,8 +2189,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVBZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2289,8 +2204,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { } v.reset(OpPPC64MOVBreg) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -2305,8 +2219,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64MOVBZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2320,8 +2233,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64FMOVSload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2335,8 +2247,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool { break } v.reset(OpPPC64FMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2369,8 +2280,7 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x16 x y) @@ -2379,9 +2289,7 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -16 @@ -2389,8 +2297,8 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2443,8 +2351,7 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x32 x y) @@ -2453,9 +2360,7 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -16 @@ -2463,8 +2368,8 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2532,8 +2437,7 @@ func rewriteValuePPC64_OpLsh16x64(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x64 x y) @@ -2542,16 +2446,14 @@ func rewriteValuePPC64_OpLsh16x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -16 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2570,8 +2472,7 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x8 x y) @@ -2580,9 +2481,7 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -16 @@ -2590,8 +2489,8 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2610,8 +2509,7 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x16 x y) @@ -2620,9 +2518,7 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -2630,8 +2526,8 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2684,8 +2580,7 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x32 x y) @@ -2694,9 +2589,7 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -2704,8 +2597,8 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2773,8 +2666,7 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x64 x (AND y (MOVDconst [31]))) @@ -2793,11 +2685,10 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool { continue } v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -2811,11 +2702,10 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh32x64 x y) @@ -2824,16 +2714,14 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2852,8 +2740,7 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x8 x y) @@ -2862,9 +2749,7 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -2872,8 +2757,8 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2892,8 +2777,7 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool { break } v.reset(OpPPC64SLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x16 x y) @@ -2902,9 +2786,7 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -2912,8 +2794,8 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -2966,8 +2848,7 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool { break } v.reset(OpPPC64SLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x32 x y) @@ -2976,9 +2857,7 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -2986,8 +2865,8 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3055,8 +2934,7 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool { break } v.reset(OpPPC64SLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x64 x (AND y (MOVDconst [63]))) @@ -3075,11 +2953,10 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool { continue } v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -3093,11 +2970,10 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x64 x y) @@ -3106,16 +2982,14 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3134,8 +3008,7 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool { break } v.reset(OpPPC64SLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x8 x y) @@ -3144,9 +3017,7 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -3154,8 +3025,8 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3174,8 +3045,7 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x16 x y) @@ -3184,9 +3054,7 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -8 @@ -3194,8 +3062,8 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3248,8 +3116,7 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x32 x y) @@ -3258,9 +3125,7 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -8 @@ -3268,8 +3133,8 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3337,8 +3202,7 @@ func rewriteValuePPC64_OpLsh8x64(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x64 x y) @@ -3347,16 +3211,14 @@ func rewriteValuePPC64_OpLsh8x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -8 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3375,8 +3237,7 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool { break } v.reset(OpPPC64SLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x8 x y) @@ -3385,9 +3246,7 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -8 @@ -3395,8 +3254,8 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3413,10 +3272,9 @@ func rewriteValuePPC64_OpMod16(v *Value) bool { v.reset(OpMod32) 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 } } @@ -3433,10 +3291,9 @@ func rewriteValuePPC64_OpMod16u(v *Value) bool { v.reset(OpMod32u) 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 } } @@ -3451,14 +3308,11 @@ func rewriteValuePPC64_OpMod32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SUB) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64DIVW, typ.Int32) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(x, y) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3473,14 +3327,11 @@ func rewriteValuePPC64_OpMod32u(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SUB) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64DIVWU, typ.Int32) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(x, y) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3495,14 +3346,11 @@ func rewriteValuePPC64_OpMod64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SUB) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64DIVD, typ.Int64) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(x, y) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3517,14 +3365,11 @@ func rewriteValuePPC64_OpMod64u(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SUB) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64DIVDU, typ.Int64) - v1.AddArg(x) - v1.AddArg(y) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(x, y) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3541,10 +3386,9 @@ func rewriteValuePPC64_OpMod8(v *Value) bool { v.reset(OpMod32) 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 } } @@ -3561,10 +3405,9 @@ func rewriteValuePPC64_OpMod8u(v *Value) bool { v.reset(OpMod32u) 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 } } @@ -3596,12 +3439,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpPPC64MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, 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) @@ -3614,12 +3454,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpPPC64MOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, 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) @@ -3632,12 +3469,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpPPC64MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, 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] {t} dst src mem) @@ -3655,12 +3489,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool { break } v.reset(OpPPC64MOVDstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVDload, typ.Int64) - 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) @@ -3674,20 +3505,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVWstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, 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 [3] dst src mem) @@ -3701,20 +3526,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpPPC64MOVHload, typ.Int16) - 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) @@ -3728,20 +3547,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVBstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, 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) @@ -3755,20 +3568,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVHstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, 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) @@ -3782,29 +3589,20 @@ func rewriteValuePPC64_OpMove(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVBstore) v.AuxInt = 6 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8) v0.AuxInt = 6 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpPPC64MOVWZload, 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 [s] dst src mem) @@ -3820,9 +3618,7 @@ func rewriteValuePPC64_OpMove(v *Value) bool { } v.reset(OpPPC64LoweredMove) v.AuxInt = s - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } return false @@ -3846,10 +3642,9 @@ func rewriteValuePPC64_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -3864,10 +3659,9 @@ func rewriteValuePPC64_OpNeq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -3883,8 +3677,7 @@ func rewriteValuePPC64_OpNeq32(v *Value) bool { y := v_1 v.reset(OpPPC64NotEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3900,8 +3693,7 @@ func rewriteValuePPC64_OpNeq32F(v *Value) bool { y := v_1 v.reset(OpPPC64NotEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3917,8 +3709,7 @@ func rewriteValuePPC64_OpNeq64(v *Value) bool { y := v_1 v.reset(OpPPC64NotEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3934,8 +3725,7 @@ func rewriteValuePPC64_OpNeq64F(v *Value) bool { y := v_1 v.reset(OpPPC64NotEqual) v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -3959,10 +3749,9 @@ func rewriteValuePPC64_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -3977,10 +3766,9 @@ func rewriteValuePPC64_OpNeq8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpPPC64CMPW, 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 } @@ -3996,8 +3784,7 @@ func rewriteValuePPC64_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpPPC64NotEqual) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -4026,8 +3813,7 @@ func rewriteValuePPC64_OpOffPtr(v *Value) bool { v.reset(OpPPC64ADD) v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = off - v.AddArg(v0) - v.AddArg(ptr) + v.AddArg2(v0, ptr) return true } } @@ -4119,8 +3905,7 @@ func rewriteValuePPC64_OpPPC64ADD(v *Value) bool { continue } v.reset(OpPPC64ROTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4160,8 +3945,7 @@ func rewriteValuePPC64_OpPPC64ADD(v *Value) bool { continue } v.reset(OpPPC64ROTLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4254,8 +4038,7 @@ func rewriteValuePPC64_OpPPC64AND(v *Value) bool { continue } v.reset(OpPPC64ANDN) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -4585,8 +4368,7 @@ func rewriteValuePPC64_OpPPC64CMP(v *Value) bool { } v.reset(OpPPC64InvertFlags) v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -4643,8 +4425,7 @@ func rewriteValuePPC64_OpPPC64CMPU(v *Value) bool { } v.reset(OpPPC64InvertFlags) v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -4712,8 +4493,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64CMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPW (MOVWreg x) y) @@ -4725,8 +4505,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpPPC64CMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPW x (MOVDconst [c])) @@ -4776,8 +4555,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool { } v.reset(OpPPC64InvertFlags) v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -4796,8 +4574,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64CMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWU (MOVWZreg x) y) @@ -4809,8 +4586,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpPPC64CMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWU x (MOVDconst [c])) @@ -4860,8 +4636,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool { } v.reset(OpPPC64InvertFlags) v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -5067,8 +4842,7 @@ func rewriteValuePPC64_OpPPC64Equal(v *Value) bool { v.AuxInt = 2 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -5101,9 +4875,7 @@ func rewriteValuePPC64_OpPPC64FADD(v *Value) bool { x := v_0.Args[0] z := v_1 v.reset(OpPPC64FMADD) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -5124,9 +4896,7 @@ func rewriteValuePPC64_OpPPC64FADDS(v *Value) bool { x := v_0.Args[0] z := v_1 v.reset(OpPPC64FMADDS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -5175,15 +4945,12 @@ func rewriteValuePPC64_OpPPC64FGreaterEqual(v *Value) bool { v.AuxInt = 2 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32) v1.AuxInt = 1 v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v2.AuxInt = 1 - v1.AddArg(v2) - v1.AddArg(cmp) - v.AddArg(v1) - v.AddArg(cmp) + v1.AddArg2(v2, cmp) + v.AddArg3(v0, v1, cmp) return true } } @@ -5199,8 +4966,7 @@ func rewriteValuePPC64_OpPPC64FGreaterThan(v *Value) bool { v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -5216,15 +4982,12 @@ func rewriteValuePPC64_OpPPC64FLessEqual(v *Value) bool { v.AuxInt = 2 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32) v1.AuxInt = 0 v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v2.AuxInt = 1 - v1.AddArg(v2) - v1.AddArg(cmp) - v.AddArg(v1) - v.AddArg(cmp) + v1.AddArg2(v2, cmp) + v.AddArg3(v0, v1, cmp) return true } } @@ -5240,8 +5003,7 @@ func rewriteValuePPC64_OpPPC64FLessThan(v *Value) bool { v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -5286,8 +5048,7 @@ func rewriteValuePPC64_OpPPC64FMOVDload(v *Value) bool { v.reset(OpPPC64FMOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVDload [off1] {sym} (ADDconst [off2] ptr) mem) @@ -5308,8 +5069,7 @@ func rewriteValuePPC64_OpPPC64FMOVDload(v *Value) bool { v.reset(OpPPC64FMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -5332,9 +5092,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool { v.reset(OpPPC64MOVDstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (FMOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -5356,9 +5114,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool { v.reset(OpPPC64FMOVDstore) 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 [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -5382,9 +5138,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool { v.reset(OpPPC64FMOVDstore) 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 @@ -5412,8 +5166,7 @@ func rewriteValuePPC64_OpPPC64FMOVSload(v *Value) bool { v.reset(OpPPC64FMOVSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVSload [off1] {sym} (ADDconst [off2] ptr) mem) @@ -5434,8 +5187,7 @@ func rewriteValuePPC64_OpPPC64FMOVSload(v *Value) bool { v.reset(OpPPC64FMOVSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -5463,9 +5215,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore(v *Value) bool { v.reset(OpPPC64FMOVSstore) 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 [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -5489,9 +5239,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore(v *Value) bool { v.reset(OpPPC64FMOVSstore) 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 @@ -5550,9 +5298,7 @@ func rewriteValuePPC64_OpPPC64FSUB(v *Value) bool { x := v_0.Args[0] z := v_1 v.reset(OpPPC64FMSUB) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } return false @@ -5570,9 +5316,7 @@ func rewriteValuePPC64_OpPPC64FSUBS(v *Value) bool { x := v_0.Args[0] z := v_1 v.reset(OpPPC64FMSUBS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } return false @@ -5645,8 +5389,7 @@ func rewriteValuePPC64_OpPPC64GreaterEqual(v *Value) bool { v.AuxInt = 4 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -5703,8 +5446,7 @@ func rewriteValuePPC64_OpPPC64GreaterThan(v *Value) bool { v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -5998,9 +5740,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool { } v.reset(OpPPC64ISEL) v.AuxInt = n + 1 - v.AddArg(x) - v.AddArg(y) - v.AddArg(bool) + v.AddArg3(x, y, bool) return true } // match: (ISEL [n] x y (InvertFlags bool)) @@ -6019,9 +5759,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool { } v.reset(OpPPC64ISEL) v.AuxInt = n - 1 - v.AddArg(x) - v.AddArg(y) - v.AddArg(bool) + v.AddArg3(x, y, bool) return true } // match: (ISEL [n] x y (InvertFlags bool)) @@ -6040,9 +5778,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool { } v.reset(OpPPC64ISEL) v.AuxInt = n - v.AddArg(x) - v.AddArg(y) - v.AddArg(bool) + v.AddArg3(x, y, bool) return true } return false @@ -6248,8 +5984,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool { v.AuxInt = n + 1 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(bool) + v.AddArg2(v0, bool) return true } // match: (ISELB [n] (MOVDconst [1]) (InvertFlags bool)) @@ -6268,8 +6003,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool { v.AuxInt = n - 1 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(bool) + v.AddArg2(v0, bool) return true } // match: (ISELB [n] (MOVDconst [1]) (InvertFlags bool)) @@ -6288,8 +6022,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool { v.AuxInt = n v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(bool) + v.AddArg2(v0, bool) return true } return false @@ -6347,8 +6080,7 @@ func rewriteValuePPC64_OpPPC64LessEqual(v *Value) bool { v.AuxInt = 5 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -6405,8 +6137,7 @@ func rewriteValuePPC64_OpPPC64LessThan(v *Value) bool { v.AuxInt = 0 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -6446,8 +6177,7 @@ func rewriteValuePPC64_OpPPC64MFVSRD(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -6475,8 +6205,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool { v.reset(OpPPC64MOVBZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBZload [off1] {sym} (ADDconst [off2] x) mem) @@ -6497,8 +6226,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool { v.reset(OpPPC64MOVBZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVBZload [0] {sym} p:(ADD ptr idx) mem) @@ -6520,9 +6248,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool { break } v.reset(OpPPC64MOVBZloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -6546,8 +6272,7 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx(v *Value) bool { } v.reset(OpPPC64MOVBZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBZloadidx (MOVDconst [c]) ptr mem) @@ -6565,8 +6290,7 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx(v *Value) bool { } v.reset(OpPPC64MOVBZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -6945,9 +6669,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(x, val, mem) return true } // match: (MOVBstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -6971,9 +6693,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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) @@ -6989,8 +6709,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off] {sym} p:(ADD ptr idx) val mem) @@ -7011,10 +6730,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { break } v.reset(OpPPC64MOVBstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem) @@ -7031,9 +6747,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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 (MOVBZreg x) mem) @@ -7050,9 +6764,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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) @@ -7069,9 +6781,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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 (MOVHZreg x) mem) @@ -7088,9 +6798,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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) @@ -7107,9 +6815,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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 (MOVWZreg x) mem) @@ -7126,9 +6832,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) 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 (SRWconst (MOVHreg x) [c]) mem) @@ -7154,12 +6858,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [off] {sym} ptr (SRWconst (MOVHZreg x) [c]) mem) @@ -7185,12 +6887,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [off] {sym} ptr (SRWconst (MOVWreg x) [c]) mem) @@ -7216,12 +6916,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [off] {sym} ptr (SRWconst (MOVWZreg x) [c]) mem) @@ -7247,12 +6945,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (MOVBstore [i1] {s} p (SRWconst w [24]) x0:(MOVBstore [i0] {s} p (SRWconst w [16]) mem)) @@ -7285,12 +6981,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x0.Pos, OpPPC64SRWconst, typ.UInt16) v0.AuxInt = 16 v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [i1] {s} p (SRDconst w [24]) x0:(MOVBstore [i0] {s} p (SRDconst w [16]) mem)) @@ -7323,12 +7017,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x0.Pos, OpPPC64SRWconst, typ.UInt16) v0.AuxInt = 16 v0.AddArg(w) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } // match: (MOVBstore [i1] {s} p (SRWconst w [8]) x0:(MOVBstore [i0] {s} p w mem)) @@ -7357,9 +7049,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i1] {s} p (SRDconst w [8]) x0:(MOVBstore [i0] {s} p w mem)) @@ -7388,9 +7078,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i3] {s} p w x0:(MOVBstore [i2] {s} p (SRWconst w [8]) x1:(MOVBstore [i1] {s} p (SRWconst w [16]) x2:(MOVBstore [i0] {s} p (SRWconst w [24]) mem)))) @@ -7454,9 +7142,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v0.AuxInt = i0 v0.Aux = s v0.AddArg(p) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(v0, w, mem) return true } // match: (MOVBstore [i1] {s} p w x0:(MOVBstore [i0] {s} p (SRWconst w [8]) mem)) @@ -7488,9 +7174,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v0.AuxInt = i0 v0.Aux = s v0.AddArg(p) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(v0, w, mem) return true } // match: (MOVBstore [i7] {s} p (SRDconst w [56]) x0:(MOVBstore [i6] {s} p (SRDconst w [48]) x1:(MOVBstore [i5] {s} p (SRDconst w [40]) x2:(MOVBstore [i4] {s} p (SRDconst w [32]) x3:(MOVWstore [i0] {s} p w mem))))) @@ -7567,9 +7251,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v.reset(OpPPC64MOVDstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i7] {s} p w x0:(MOVBstore [i6] {s} p (SRDconst w [8]) x1:(MOVBstore [i5] {s} p (SRDconst w [16]) x2:(MOVBstore [i4] {s} p (SRDconst w [24]) x3:(MOVBstore [i3] {s} p (SRDconst w [32]) x4:(MOVBstore [i2] {s} p (SRDconst w [40]) x5:(MOVBstore [i1] {s} p (SRDconst w [48]) x6:(MOVBstore [i0] {s} p (SRDconst w [56]) mem)))))))) @@ -7697,9 +7379,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool { v0.AuxInt = i0 v0.Aux = s v0.AddArg(p) - v.AddArg(v0) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(v0, w, mem) return true } return false @@ -7727,9 +7407,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { } v.reset(OpPPC64MOVBstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstoreidx (MOVDconst [c]) ptr val mem) @@ -7748,9 +7426,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { } v.reset(OpPPC64MOVBstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVBreg x) mem) @@ -7768,10 +7444,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVBZreg x) mem) @@ -7789,10 +7462,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVHreg x) mem) @@ -7810,10 +7480,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVHZreg x) mem) @@ -7831,10 +7498,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVWreg x) mem) @@ -7852,10 +7516,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (MOVWZreg x) mem) @@ -7873,10 +7534,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVHreg x) [c]) mem) @@ -7903,13 +7561,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVHZreg x) [c]) mem) @@ -7936,13 +7591,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVWreg x) [c]) mem) @@ -7969,13 +7621,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } // match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVWZreg x) [c]) mem) @@ -8002,13 +7651,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool { v.reset(OpPPC64MOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32) v0.AuxInt = c v0.AddArg(x) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(ptr, idx, v0, mem) return true } return false @@ -8034,8 +7680,7 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero(v *Value) bool { v.reset(OpPPC64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVBstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem) @@ -8058,8 +7703,7 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero(v *Value) bool { v.reset(OpPPC64MOVBstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } return false @@ -8105,8 +7749,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool { v.reset(OpPPC64MOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym} (ADDconst [off2] x) mem) @@ -8127,8 +7770,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool { v.reset(OpPPC64MOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVDload [0] {sym} p:(ADD ptr idx) mem) @@ -8150,9 +7792,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool { break } v.reset(OpPPC64MOVDloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -8176,8 +7816,7 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx(v *Value) bool { } v.reset(OpPPC64MOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDloadidx (MOVDconst [c]) ptr mem) @@ -8195,8 +7834,7 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx(v *Value) bool { } v.reset(OpPPC64MOVDload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -8219,9 +7857,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool { v.reset(OpPPC64FMOVDstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVDstore [off1] {sym} (ADDconst [off2] x) val mem) @@ -8243,9 +7879,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool { v.reset(OpPPC64MOVDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(x, val, mem) return true } // match: (MOVDstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -8269,9 +7903,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool { v.reset(OpPPC64MOVDstore) 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) @@ -8287,8 +7919,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool { v.reset(OpPPC64MOVDstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstore [off] {sym} p:(ADD ptr idx) val mem) @@ -8309,10 +7940,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool { break } v.reset(OpPPC64MOVDstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -8338,9 +7966,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx(v *Value) bool { } v.reset(OpPPC64MOVDstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVDstoreidx (MOVDconst [c]) ptr val mem) @@ -8359,9 +7985,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx(v *Value) bool { } v.reset(OpPPC64MOVDstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -8387,8 +8011,7 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero(v *Value) bool { v.reset(OpPPC64MOVDstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVDstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem) @@ -8411,8 +8034,7 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero(v *Value) bool { v.reset(OpPPC64MOVDstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } return false @@ -8433,9 +8055,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVHBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHBRstore {sym} ptr (MOVHZreg x) mem) @@ -8450,9 +8070,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVHBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHBRstore {sym} ptr (MOVWreg x) mem) @@ -8467,9 +8085,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVHBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHBRstore {sym} ptr (MOVWZreg x) mem) @@ -8484,9 +8100,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVHBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -8514,8 +8128,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool { v.reset(OpPPC64MOVHZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHZload [off1] {sym} (ADDconst [off2] x) mem) @@ -8536,8 +8149,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool { v.reset(OpPPC64MOVHZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVHZload [0] {sym} p:(ADD ptr idx) mem) @@ -8559,9 +8171,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool { break } v.reset(OpPPC64MOVHZloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -8585,8 +8195,7 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx(v *Value) bool { } v.reset(OpPPC64MOVHZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHZloadidx (MOVDconst [c]) ptr mem) @@ -8604,8 +8213,7 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx(v *Value) bool { } v.reset(OpPPC64MOVHZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -8874,8 +8482,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool { v.reset(OpPPC64MOVHload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym} (ADDconst [off2] x) mem) @@ -8896,8 +8503,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool { v.reset(OpPPC64MOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVHload [0] {sym} p:(ADD ptr idx) mem) @@ -8919,9 +8525,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool { break } v.reset(OpPPC64MOVHloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -8945,8 +8549,7 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx(v *Value) bool { } v.reset(OpPPC64MOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHloadidx (MOVDconst [c]) ptr mem) @@ -8964,8 +8567,7 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx(v *Value) bool { } v.reset(OpPPC64MOVHload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -9231,9 +8833,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(x, val, mem) return true } // match: (MOVHstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -9257,9 +8857,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) 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) @@ -9275,8 +8873,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstore [off] {sym} p:(ADD ptr idx) val mem) @@ -9297,10 +8894,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { break } v.reset(OpPPC64MOVHstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem) @@ -9317,9 +8911,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) 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 (MOVHZreg x) mem) @@ -9336,9 +8928,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) 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) @@ -9355,9 +8945,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) 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 (MOVWZreg x) mem) @@ -9374,9 +8962,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [i1] {s} p (SRWconst w [16]) x0:(MOVHstore [i0] {s} p w mem)) @@ -9405,9 +8991,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVWstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVHstore [i1] {s} p (SRDconst w [16]) x0:(MOVHstore [i0] {s} p w mem)) @@ -9436,9 +9020,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool { v.reset(OpPPC64MOVWstore) v.AuxInt = i0 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } return false @@ -9464,9 +9046,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { } v.reset(OpPPC64MOVHstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstoreidx (MOVDconst [c]) ptr val mem) @@ -9485,9 +9065,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { } v.reset(OpPPC64MOVHstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVHstoreidx [off] {sym} ptr idx (MOVHreg x) mem) @@ -9505,10 +9083,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { v.reset(OpPPC64MOVHstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx [off] {sym} ptr idx (MOVHZreg x) mem) @@ -9526,10 +9101,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { v.reset(OpPPC64MOVHstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx [off] {sym} ptr idx (MOVWreg x) mem) @@ -9547,10 +9119,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { v.reset(OpPPC64MOVHstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVHstoreidx [off] {sym} ptr idx (MOVWZreg x) mem) @@ -9568,10 +9137,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool { v.reset(OpPPC64MOVHstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } return false @@ -9597,8 +9163,7 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero(v *Value) bool { v.reset(OpPPC64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVHstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem) @@ -9621,8 +9186,7 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero(v *Value) bool { v.reset(OpPPC64MOVHstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } return false @@ -9643,9 +9207,7 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVWBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWBRstore {sym} ptr (MOVWZreg x) mem) @@ -9660,9 +9222,7 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore(v *Value) bool { mem := v_2 v.reset(OpPPC64MOVWBRstore) v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -9690,8 +9250,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool { v.reset(OpPPC64MOVWZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWZload [off1] {sym} (ADDconst [off2] x) mem) @@ -9712,8 +9271,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool { v.reset(OpPPC64MOVWZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVWZload [0] {sym} p:(ADD ptr idx) mem) @@ -9735,9 +9293,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool { break } v.reset(OpPPC64MOVWZloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -9761,8 +9317,7 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx(v *Value) bool { } v.reset(OpPPC64MOVWZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWZloadidx (MOVDconst [c]) ptr mem) @@ -9780,8 +9335,7 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx(v *Value) bool { } v.reset(OpPPC64MOVWZload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -10129,8 +9683,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool { v.reset(OpPPC64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym} (ADDconst [off2] x) mem) @@ -10151,8 +9704,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool { v.reset(OpPPC64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVWload [0] {sym} p:(ADD ptr idx) mem) @@ -10174,9 +9726,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool { break } v.reset(OpPPC64MOVWloadidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -10200,8 +9750,7 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx(v *Value) bool { } v.reset(OpPPC64MOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWloadidx (MOVDconst [c]) ptr mem) @@ -10219,8 +9768,7 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx(v *Value) bool { } v.reset(OpPPC64MOVWload) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -10533,9 +10081,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { v.reset(OpPPC64MOVWstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(x, val, mem) return true } // match: (MOVWstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem) @@ -10559,9 +10105,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { v.reset(OpPPC64MOVWstore) 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) @@ -10577,8 +10121,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { v.reset(OpPPC64MOVWstorezero) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off] {sym} p:(ADD ptr idx) val mem) @@ -10599,10 +10142,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { break } v.reset(OpPPC64MOVWstoreidx) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem) @@ -10619,9 +10159,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { v.reset(OpPPC64MOVWstore) 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 (MOVWZreg x) mem) @@ -10638,9 +10176,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool { v.reset(OpPPC64MOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } return false @@ -10666,9 +10202,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool { } v.reset(OpPPC64MOVWstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx (MOVDconst [c]) ptr val mem) @@ -10687,9 +10221,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool { } v.reset(OpPPC64MOVWstore) v.AuxInt = c - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (MOVWstoreidx [off] {sym} ptr idx (MOVWreg x) mem) @@ -10707,10 +10239,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool { v.reset(OpPPC64MOVWstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } // match: (MOVWstoreidx [off] {sym} ptr idx (MOVWZreg x) mem) @@ -10728,10 +10257,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool { v.reset(OpPPC64MOVWstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(x) - v.AddArg(mem) + v.AddArg4(ptr, idx, x, mem) return true } return false @@ -10757,8 +10283,7 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero(v *Value) bool { v.reset(OpPPC64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } // match: (MOVWstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem) @@ -10781,8 +10306,7 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero(v *Value) bool { v.reset(OpPPC64MOVWstorezero) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(mem) + v.AddArg2(x, mem) return true } return false @@ -10823,8 +10347,7 @@ func rewriteValuePPC64_OpPPC64MTVSRD(v *Value) bool { v.AddArg(v0) v0.AuxInt = off v0.Aux = sym - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) return true } return false @@ -10906,8 +10429,7 @@ func rewriteValuePPC64_OpPPC64NotEqual(v *Value) bool { v.AuxInt = 6 v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(cmp) + v.AddArg2(v0, cmp) return true } } @@ -11000,8 +10522,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { continue } v.reset(OpPPC64ROTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -11041,8 +10562,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { continue } v.reset(OpPPC64ROTLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -11121,8 +10641,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -11163,8 +10682,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -11207,8 +10725,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } break @@ -11251,8 +10768,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } break @@ -11303,8 +10819,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v2.AuxInt = i0 v2.Aux = s v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -11356,8 +10871,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v2.AuxInt = i0 v2.Aux = s v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -11423,8 +10937,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } } @@ -11490,8 +11003,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } } @@ -11560,8 +11072,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -11630,8 +11141,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -11700,8 +11210,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -11770,8 +11279,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -11846,8 +11354,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v2.AuxInt = i0 v2.Aux = s v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -11923,8 +11430,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v2.AuxInt = i0 v2.Aux = s v2.AddArg(p) - v1.AddArg(v2) - v1.AddArg(mem) + v1.AddArg2(v2, mem) v0.AddArg(v1) return true } @@ -12039,8 +11545,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } } @@ -12159,8 +11664,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -12279,8 +11783,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -12399,8 +11902,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool { v1.AuxInt = i0 v1.Aux = s v1.AddArg(p) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } } @@ -12613,8 +12115,7 @@ func rewriteValuePPC64_OpPPC64XOR(v *Value) bool { continue } v.reset(OpPPC64ROTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -12654,8 +12155,7 @@ func rewriteValuePPC64_OpPPC64XOR(v *Value) bool { continue } v.reset(OpPPC64ROTLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -12747,9 +12247,7 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool { } v.reset(OpPPC64LoweredPanicBoundsA) 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) @@ -12765,9 +12263,7 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool { } v.reset(OpPPC64LoweredPanicBoundsB) 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) @@ -12782,10 +12278,8 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool { break } v.reset(OpPPC64LoweredPanicBoundsC) - v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AuxInt = kind + v.AddArg3(x, y, mem) return true } return false @@ -12851,17 +12345,14 @@ func rewriteValuePPC64_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, OpPPC64MOVDconst, typ.Int64) 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, OpPPC64MOVDconst, typ.Int64) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -12888,8 +12379,7 @@ func rewriteValuePPC64_OpRotateLeft32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64ROTLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -12915,8 +12405,7 @@ func rewriteValuePPC64_OpRotateLeft64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64ROTL) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -12936,17 +12425,14 @@ func rewriteValuePPC64_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, OpPPC64MOVDconst, typ.Int64) 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, OpPPC64MOVDconst, typ.Int64) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -12968,8 +12454,7 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux16 x y) @@ -12980,9 +12465,7 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -12990,8 +12473,8 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13050,8 +12533,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux32 x y) @@ -13062,9 +12544,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -13072,8 +12552,8 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13147,8 +12627,7 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux64 x y) @@ -13159,16 +12638,14 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13189,8 +12666,7 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux8 x y) @@ -13201,9 +12677,7 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -13211,8 +12685,8 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13233,8 +12707,7 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x16 x y) @@ -13245,9 +12718,7 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -13255,8 +12726,8 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13315,8 +12786,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x32 x y) @@ -13327,9 +12797,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -13337,8 +12805,8 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13416,8 +12884,7 @@ func rewriteValuePPC64_OpRsh16x64(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x64 x y) @@ -13428,16 +12895,14 @@ func rewriteValuePPC64_OpRsh16x64(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13458,8 +12923,7 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x8 x y) @@ -13470,9 +12934,7 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -16 @@ -13480,8 +12942,8 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -13500,8 +12962,7 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool { break } v.reset(OpPPC64SRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux16 x y) @@ -13510,9 +12971,7 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -13520,8 +12979,8 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -13574,8 +13033,7 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool { break } v.reset(OpPPC64SRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux32 x y) @@ -13584,9 +13042,7 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -13594,8 +13050,8 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -13663,8 +13119,7 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { break } v.reset(OpPPC64SRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux64 x (AND y (MOVDconst [31]))) @@ -13683,11 +13138,10 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { continue } v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -13701,11 +13155,10 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux64 x (SUB (MOVDconst [32]) (ANDconst [31] y))) @@ -13726,16 +13179,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { } y := v_1_1.Args[0] v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 32 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 31 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux64 x (SUB (MOVDconst [32]) (AND y (MOVDconst [31])))) @@ -13763,16 +13214,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { continue } v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 32 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 31 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } break @@ -13783,16 +13232,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -13811,8 +13258,7 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool { break } v.reset(OpPPC64SRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux8 x y) @@ -13821,9 +13267,7 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -13831,8 +13275,8 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -13851,8 +13295,7 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool { break } v.reset(OpPPC64SRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x16 x y) @@ -13861,9 +13304,7 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -13871,8 +13312,8 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -13925,8 +13366,7 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool { break } v.reset(OpPPC64SRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x32 x y) @@ -13935,9 +13375,7 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -13945,8 +13383,8 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14016,8 +13454,7 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { break } v.reset(OpPPC64SRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x64 x (AND y (MOVDconst [31]))) @@ -14036,11 +13473,10 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { continue } v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -14054,11 +13490,10 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v0.AuxInt = 31 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32x64 x (SUB (MOVDconst [32]) (ANDconst [31] y))) @@ -14079,16 +13514,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { } y := v_1_1.Args[0] v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 32 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 31 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } // match: (Rsh32x64 x (SUB (MOVDconst [32]) (AND y (MOVDconst [31])))) @@ -14116,16 +13549,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { continue } v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 32 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 31 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } break @@ -14136,16 +13567,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14164,8 +13593,7 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool { break } v.reset(OpPPC64SRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x8 x y) @@ -14174,9 +13602,7 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -32 @@ -14184,8 +13610,8 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14204,8 +13630,7 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool { break } v.reset(OpPPC64SRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux16 x y) @@ -14214,9 +13639,7 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14224,8 +13647,8 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14278,8 +13701,7 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool { break } v.reset(OpPPC64SRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux32 x y) @@ -14288,9 +13710,7 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14298,8 +13718,8 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14367,8 +13787,7 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { break } v.reset(OpPPC64SRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux64 x (AND y (MOVDconst [63]))) @@ -14387,11 +13806,10 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { continue } v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -14405,11 +13823,10 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 x (SUB (MOVDconst [64]) (ANDconst [63] y))) @@ -14430,16 +13847,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { } y := v_1_1.Args[0] v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 64 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 63 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 x (SUB (MOVDconst [64]) (AND y (MOVDconst [63])))) @@ -14467,16 +13882,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { continue } v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 64 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 63 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } break @@ -14487,16 +13900,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14515,8 +13926,7 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool { break } v.reset(OpPPC64SRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux8 x y) @@ -14525,9 +13935,7 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14535,8 +13943,8 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14555,8 +13963,7 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool { break } v.reset(OpPPC64SRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x16 x y) @@ -14565,9 +13972,7 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14575,8 +13980,8 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14629,8 +14034,7 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool { break } v.reset(OpPPC64SRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x32 x y) @@ -14639,9 +14043,7 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14649,8 +14051,8 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14720,8 +14122,7 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { break } v.reset(OpPPC64SRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x64 x (AND y (MOVDconst [63]))) @@ -14740,11 +14141,10 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { continue } v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -14758,11 +14158,10 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { } y := v_1.Args[0] v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v0.AuxInt = 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 x (SUB (MOVDconst [64]) (ANDconst [63] y))) @@ -14783,16 +14182,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { } y := v_1_1.Args[0] v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 64 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 63 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 x (SUB (MOVDconst [64]) (AND y (MOVDconst [63])))) @@ -14820,16 +14217,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { continue } v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt) v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64) v1.AuxInt = 64 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt) v2.AuxInt = 63 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) + v.AddArg2(x, v0) return true } break @@ -14840,16 +14235,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14868,8 +14261,7 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool { break } v.reset(OpPPC64SRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x8 x y) @@ -14878,9 +14270,7 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpPPC64SRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v2.AuxInt = -64 @@ -14888,8 +14278,8 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -14910,8 +14300,7 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux16 x y) @@ -14922,9 +14311,7 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -14932,8 +14319,8 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -14992,8 +14379,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux32 x y) @@ -15004,9 +14390,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -15014,8 +14398,8 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15089,8 +14473,7 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux64 x y) @@ -15101,16 +14484,14 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15131,8 +14512,7 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux8 x y) @@ -15143,9 +14523,7 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool { v.reset(OpPPC64SRW) v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -15153,8 +14531,8 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15175,8 +14553,7 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x16 x y) @@ -15187,9 +14564,7 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -15197,8 +14572,8 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15257,8 +14632,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x32 x y) @@ -15269,9 +14643,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -15279,8 +14651,8 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15358,8 +14730,7 @@ func rewriteValuePPC64_OpRsh8x64(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x64 x y) @@ -15370,16 +14741,14 @@ func rewriteValuePPC64_OpRsh8x64(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15400,8 +14769,7 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x8 x y) @@ -15412,9 +14780,7 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool { v.reset(OpPPC64SRAW) v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64) v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags) v3.AuxInt = -8 @@ -15422,8 +14788,8 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -15459,9 +14825,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64FMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15476,9 +14840,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64FMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15493,9 +14855,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64FMOVSstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15510,9 +14870,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64MOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15527,9 +14885,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15544,9 +14900,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64MOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -15561,9 +14915,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool { break } v.reset(OpPPC64MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -15737,8 +15089,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpPPC64MOVBstorezero) - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [2] destptr mem) @@ -15750,8 +15101,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpPPC64MOVHstorezero) - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [3] destptr mem) @@ -15764,11 +15114,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64MOVBstorezero) v.AuxInt = 2 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, types.TypeMem) - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [4] destptr mem) @@ -15780,8 +15128,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpPPC64MOVWstorezero) - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [5] destptr mem) @@ -15794,11 +15141,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64MOVBstorezero) v.AuxInt = 4 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem) - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [6] destptr mem) @@ -15811,11 +15156,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64MOVHstorezero) v.AuxInt = 4 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem) - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [7] destptr mem) @@ -15828,15 +15171,12 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64MOVBstorezero) v.AuxInt = 6 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, types.TypeMem) v0.AuxInt = 4 - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem) - v1.AddArg(destptr) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(destptr, mem) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [8] {t} destptr mem) @@ -15853,8 +15193,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool { break } v.reset(OpPPC64MOVDstorezero) - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [8] destptr mem) @@ -15867,12 +15206,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64MOVWstorezero) v.AuxInt = 4 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [12] {t} destptr mem) @@ -15890,12 +15227,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool { } v.reset(OpPPC64MOVWstorezero) v.AuxInt = 8 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [16] {t} destptr mem) @@ -15913,12 +15248,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool { } v.reset(OpPPC64MOVDstorezero) v.AuxInt = 8 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [24] {t} destptr mem) @@ -15936,16 +15269,13 @@ func rewriteValuePPC64_OpZero(v *Value) bool { } v.reset(OpPPC64MOVDstorezero) v.AuxInt = 16 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v0.AuxInt = 8 - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v1.AuxInt = 0 - v1.AddArg(destptr) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(destptr, mem) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [32] {t} destptr mem) @@ -15963,20 +15293,16 @@ func rewriteValuePPC64_OpZero(v *Value) bool { } v.reset(OpPPC64MOVDstorezero) v.AuxInt = 24 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v0.AuxInt = 16 - v0.AddArg(destptr) v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem) v2.AuxInt = 0 - v2.AddArg(destptr) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg2(destptr, mem) + v1.AddArg2(destptr, v2) + v0.AddArg2(destptr, v1) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] ptr mem) @@ -15987,8 +15313,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool { mem := v_1 v.reset(OpPPC64LoweredZero) v.AuxInt = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } } @@ -16127,8 +15452,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64EQ) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16157,8 +15481,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64EQ) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16187,8 +15510,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64EQ) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16286,8 +15608,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GE) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16316,8 +15637,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GE) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16346,8 +15666,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GE) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16446,8 +15765,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GT) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16476,8 +15794,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GT) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16506,8 +15823,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64GT) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16707,8 +16023,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LE) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16737,8 +16052,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LE) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16767,8 +16081,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LE) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16867,8 +16180,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LT) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16897,8 +16209,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LT) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -16927,8 +16238,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64LT) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17226,8 +16536,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64NE) v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17256,8 +16565,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64NE) v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } @@ -17286,8 +16594,7 @@ func rewriteBlockPPC64(b *Block) bool { } b.Reset(BlockPPC64NE) v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) b.AddControl(v0) return true } diff --git a/src/cmd/compile/internal/ssa/rewriteRISCV64.go b/src/cmd/compile/internal/ssa/rewriteRISCV64.go index 4d70814cfd..e40fe69930 100644 --- a/src/cmd/compile/internal/ssa/rewriteRISCV64.go +++ b/src/cmd/compile/internal/ssa/rewriteRISCV64.go @@ -590,19 +590,16 @@ func rewriteValueRISCV64_OpAvg64u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpRISCV64SRLI, t) v1.AuxInt = 1 v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpRISCV64SRLI, t) v2.AuxInt = 1 v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpRISCV64ANDI, t) v3.AuxInt = 1 v4 := b.NewValue0(v.Pos, OpRISCV64AND, t) - v4.AddArg(x) - v4.AddArg(y) + v4.AddArg2(x, y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg2(v0, v3) return true } } @@ -704,10 +701,9 @@ func rewriteValueRISCV64_OpDiv16(v *Value) bool { v.reset(OpRISCV64DIVW) 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 } } @@ -724,10 +720,9 @@ func rewriteValueRISCV64_OpDiv16u(v *Value) bool { v.reset(OpRISCV64DIVUW) 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 } } @@ -744,10 +739,9 @@ func rewriteValueRISCV64_OpDiv8(v *Value) bool { v.reset(OpRISCV64DIVW) 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 } } @@ -764,10 +758,9 @@ func rewriteValueRISCV64_OpDiv8u(v *Value) bool { v.reset(OpRISCV64DIVUW) 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 } } @@ -784,8 +777,7 @@ func rewriteValueRISCV64_OpEq16(v *Value) bool { v.reset(OpRISCV64SEQZ) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -802,8 +794,7 @@ func rewriteValueRISCV64_OpEq32(v *Value) bool { y := v_1 v.reset(OpRISCV64SEQZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUBW, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -819,8 +810,7 @@ func rewriteValueRISCV64_OpEq64(v *Value) bool { y := v_1 v.reset(OpRISCV64SEQZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -838,8 +828,7 @@ func rewriteValueRISCV64_OpEq8(v *Value) bool { v.reset(OpRISCV64SEQZ) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -858,8 +847,7 @@ func rewriteValueRISCV64_OpEqB(v *Value) bool { v.reset(OpRISCV64XORI) v.AuxInt = 1 v0 := b.NewValue0(v.Pos, OpRISCV64XOR, typ.Bool) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -875,8 +863,7 @@ func rewriteValueRISCV64_OpEqPtr(v *Value) bool { y := v_1 v.reset(OpRISCV64SEQZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -890,8 +877,7 @@ func rewriteValueRISCV64_OpGeq32F(v *Value) bool { x := v_0 y := v_1 v.reset(OpRISCV64FLES) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -904,8 +890,7 @@ func rewriteValueRISCV64_OpGeq64F(v *Value) bool { x := v_0 y := v_1 v.reset(OpRISCV64FLED) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -918,8 +903,7 @@ func rewriteValueRISCV64_OpGreater32F(v *Value) bool { x := v_0 y := v_1 v.reset(OpRISCV64FLTS) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -932,8 +916,7 @@ func rewriteValueRISCV64_OpGreater64F(v *Value) bool { x := v_0 y := v_1 v.reset(OpRISCV64FLTD) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } } @@ -952,10 +935,9 @@ func rewriteValueRISCV64_OpHmul32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64MUL, typ.Int64) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -975,10 +957,9 @@ func rewriteValueRISCV64_OpHmul32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64MUL, typ.Int64) 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) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -993,8 +974,7 @@ func rewriteValueRISCV64_OpIsNonNil(v *Value) bool { p := v_0 v.reset(OpNeqPtr) v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) - v.AddArg(v0) - v.AddArg(p) + v.AddArg2(v0, p) return true } } @@ -1010,8 +990,7 @@ func rewriteValueRISCV64_OpLeq16(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess16, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1028,8 +1007,7 @@ func rewriteValueRISCV64_OpLeq16U(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess16U, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1046,8 +1024,7 @@ func rewriteValueRISCV64_OpLeq32(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1064,8 +1041,7 @@ func rewriteValueRISCV64_OpLeq32U(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1082,8 +1058,7 @@ func rewriteValueRISCV64_OpLeq64(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess64, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1100,8 +1075,7 @@ func rewriteValueRISCV64_OpLeq64U(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess64U, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1118,8 +1092,7 @@ func rewriteValueRISCV64_OpLeq8(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess8, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1136,8 +1109,7 @@ func rewriteValueRISCV64_OpLeq8U(v *Value) bool { y := v_1 v.reset(OpNot) v0 := b.NewValue0(v.Pos, OpLess8U, typ.Bool) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -1155,10 +1127,9 @@ func rewriteValueRISCV64_OpLess16(v *Value) bool { v.reset(OpRISCV64SLT) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1175,10 +1146,9 @@ func rewriteValueRISCV64_OpLess16U(v *Value) bool { v.reset(OpRISCV64SLTU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1195,10 +1165,9 @@ func rewriteValueRISCV64_OpLess32(v *Value) bool { v.reset(OpRISCV64SLT) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1215,10 +1184,9 @@ func rewriteValueRISCV64_OpLess32U(v *Value) bool { v.reset(OpRISCV64SLTU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1235,10 +1203,9 @@ func rewriteValueRISCV64_OpLess8(v *Value) bool { v.reset(OpRISCV64SLT) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1255,10 +1222,9 @@ func rewriteValueRISCV64_OpLess8U(v *Value) bool { v.reset(OpRISCV64SLTU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1276,8 +1242,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1291,8 +1256,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1306,8 +1270,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVBUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1321,8 +1284,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1336,8 +1298,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVHUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1351,8 +1312,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1366,8 +1326,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVWUload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1381,8 +1340,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64MOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1396,8 +1354,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64FMOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1411,8 +1368,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool { break } v.reset(OpRISCV64FMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -1443,9 +1399,7 @@ func rewriteValueRISCV64_OpLsh16x16(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg16, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1453,7 +1407,7 @@ func rewriteValueRISCV64_OpLsh16x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1470,9 +1424,7 @@ func rewriteValueRISCV64_OpLsh16x32(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg16, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1480,7 +1432,7 @@ func rewriteValueRISCV64_OpLsh16x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1496,15 +1448,13 @@ func rewriteValueRISCV64_OpLsh16x64(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg16, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1521,9 +1471,7 @@ func rewriteValueRISCV64_OpLsh16x8(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg16, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1531,7 +1479,7 @@ func rewriteValueRISCV64_OpLsh16x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1548,9 +1496,7 @@ func rewriteValueRISCV64_OpLsh32x16(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg32, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1558,7 +1504,7 @@ func rewriteValueRISCV64_OpLsh32x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1575,9 +1521,7 @@ func rewriteValueRISCV64_OpLsh32x32(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg32, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1585,7 +1529,7 @@ func rewriteValueRISCV64_OpLsh32x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1601,15 +1545,13 @@ func rewriteValueRISCV64_OpLsh32x64(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg32, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1626,9 +1568,7 @@ func rewriteValueRISCV64_OpLsh32x8(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg32, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1636,7 +1576,7 @@ func rewriteValueRISCV64_OpLsh32x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1653,9 +1593,7 @@ func rewriteValueRISCV64_OpLsh64x16(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1663,7 +1601,7 @@ func rewriteValueRISCV64_OpLsh64x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1680,9 +1618,7 @@ func rewriteValueRISCV64_OpLsh64x32(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1690,7 +1626,7 @@ func rewriteValueRISCV64_OpLsh64x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1706,15 +1642,13 @@ func rewriteValueRISCV64_OpLsh64x64(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1731,9 +1665,7 @@ func rewriteValueRISCV64_OpLsh64x8(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1741,7 +1673,7 @@ func rewriteValueRISCV64_OpLsh64x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1758,9 +1690,7 @@ func rewriteValueRISCV64_OpLsh8x16(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg8, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1768,7 +1698,7 @@ func rewriteValueRISCV64_OpLsh8x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1785,9 +1715,7 @@ func rewriteValueRISCV64_OpLsh8x32(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg8, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1795,7 +1723,7 @@ func rewriteValueRISCV64_OpLsh8x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1811,15 +1739,13 @@ func rewriteValueRISCV64_OpLsh8x64(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg8, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1836,9 +1762,7 @@ func rewriteValueRISCV64_OpLsh8x8(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg8, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -1846,7 +1770,7 @@ func rewriteValueRISCV64_OpLsh8x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1863,10 +1787,9 @@ func rewriteValueRISCV64_OpMod16(v *Value) bool { v.reset(OpRISCV64REMW) 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 } } @@ -1883,10 +1806,9 @@ func rewriteValueRISCV64_OpMod16u(v *Value) bool { v.reset(OpRISCV64REMUW) 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 } } @@ -1903,10 +1825,9 @@ func rewriteValueRISCV64_OpMod8(v *Value) bool { v.reset(OpRISCV64REMW) 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 } } @@ -1923,10 +1844,9 @@ func rewriteValueRISCV64_OpMod8u(v *Value) bool { v.reset(OpRISCV64REMUW) 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 } } @@ -1959,12 +1879,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpRISCV64MOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpRISCV64MOVBload, typ.Int8) - 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) @@ -1977,12 +1894,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpRISCV64MOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpRISCV64MOVHload, typ.Int16) - 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) @@ -1995,12 +1909,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpRISCV64MOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpRISCV64MOVWload, typ.Int32) - 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) @@ -2013,12 +1924,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpRISCV64MOVDstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpRISCV64MOVDload, typ.Int64) - 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 [s] {t} dst src mem) @@ -2031,13 +1939,10 @@ func rewriteValueRISCV64_OpMove(v *Value) bool { mem := v_2 v.reset(OpRISCV64LoweredMove) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpRISCV64ADDI, src.Type) v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) v0.AddArg(src) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg4(dst, src, v0, mem) return true } } @@ -2054,10 +1959,9 @@ func rewriteValueRISCV64_OpMul16(v *Value) bool { v.reset(OpRISCV64MULW) 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 } } @@ -2074,10 +1978,9 @@ func rewriteValueRISCV64_OpMul8(v *Value) bool { v.reset(OpRISCV64MULW) 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 } } @@ -2091,8 +1994,7 @@ func rewriteValueRISCV64_OpNeg16(v *Value) bool { x := v_0 v.reset(OpRISCV64SUB) v0 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2106,8 +2008,7 @@ func rewriteValueRISCV64_OpNeg32(v *Value) bool { x := v_0 v.reset(OpRISCV64SUB) v0 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2121,8 +2022,7 @@ func rewriteValueRISCV64_OpNeg64(v *Value) bool { x := v_0 v.reset(OpRISCV64SUB) v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2136,8 +2036,7 @@ func rewriteValueRISCV64_OpNeg8(v *Value) bool { x := v_0 v.reset(OpRISCV64SUB) v0 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2154,8 +2053,7 @@ func rewriteValueRISCV64_OpNeq16(v *Value) bool { v.reset(OpRISCV64SNEZ) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -2172,8 +2070,7 @@ func rewriteValueRISCV64_OpNeq32(v *Value) bool { y := v_1 v.reset(OpRISCV64SNEZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUBW, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2189,8 +2086,7 @@ func rewriteValueRISCV64_OpNeq64(v *Value) bool { y := v_1 v.reset(OpRISCV64SNEZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2208,8 +2104,7 @@ func rewriteValueRISCV64_OpNeq8(v *Value) bool { v.reset(OpRISCV64SNEZ) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v1.AddArg(x) - v1.AddArg(y) + v1.AddArg2(x, y) v0.AddArg(v1) v.AddArg(v0) return true @@ -2226,8 +2121,7 @@ func rewriteValueRISCV64_OpNeqPtr(v *Value) bool { y := v_1 v.reset(OpRISCV64SNEZ) v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type) - v0.AddArg(x) - v0.AddArg(y) + v0.AddArg2(x, y) v.AddArg(v0) return true } @@ -2283,8 +2177,7 @@ func rewriteValueRISCV64_OpOffPtr(v *Value) bool { v.reset(OpRISCV64ADD) v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v0.AuxInt = off - v.AddArg(v0) - v.AddArg(ptr) + v.AddArg2(v0, ptr) return true } } @@ -2305,9 +2198,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool { } v.reset(OpRISCV64LoweredPanicBoundsA) 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) @@ -2323,9 +2214,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool { } v.reset(OpRISCV64LoweredPanicBoundsB) 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) @@ -2341,9 +2230,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool { } v.reset(OpRISCV64LoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -2431,8 +2318,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBUload(v *Value) bool { v.reset(OpRISCV64MOVBUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBUload [off1] {sym} (ADDI [off2] base) mem) @@ -2453,8 +2339,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBUload(v *Value) bool { v.reset(OpRISCV64MOVBUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2481,8 +2366,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBload(v *Value) bool { v.reset(OpRISCV64MOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBload [off1] {sym} (ADDI [off2] base) mem) @@ -2503,8 +2387,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBload(v *Value) bool { v.reset(OpRISCV64MOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2533,9 +2416,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBstore(v *Value) bool { v.reset(OpRISCV64MOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVBstore [off1] {sym} (ADDI [off2] base) val mem) @@ -2557,9 +2438,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBstore(v *Value) bool { v.reset(OpRISCV64MOVBstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2582,10 +2461,9 @@ func rewriteValueRISCV64_OpRISCV64MOVDconst(v *Value) bool { v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v1.AuxInt = c>>32 + 1 v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v2.AuxInt = int64(int32(c)) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (MOVDconst [c]) @@ -2603,10 +2481,9 @@ func rewriteValueRISCV64_OpRISCV64MOVDconst(v *Value) bool { v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v1.AuxInt = c>>32 + 0 v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v2.AuxInt = int64(int32(c)) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } return false @@ -2633,8 +2510,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDload(v *Value) bool { v.reset(OpRISCV64MOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVDload [off1] {sym} (ADDI [off2] base) mem) @@ -2655,8 +2531,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDload(v *Value) bool { v.reset(OpRISCV64MOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2685,9 +2560,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDstore(v *Value) bool { v.reset(OpRISCV64MOVDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVDstore [off1] {sym} (ADDI [off2] base) val mem) @@ -2709,9 +2582,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDstore(v *Value) bool { v.reset(OpRISCV64MOVDstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2738,8 +2609,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHUload(v *Value) bool { v.reset(OpRISCV64MOVHUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVHUload [off1] {sym} (ADDI [off2] base) mem) @@ -2760,8 +2630,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHUload(v *Value) bool { v.reset(OpRISCV64MOVHUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2788,8 +2657,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHload(v *Value) bool { v.reset(OpRISCV64MOVHload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVHload [off1] {sym} (ADDI [off2] base) mem) @@ -2810,8 +2678,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHload(v *Value) bool { v.reset(OpRISCV64MOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2840,9 +2707,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHstore(v *Value) bool { v.reset(OpRISCV64MOVHstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVHstore [off1] {sym} (ADDI [off2] base) val mem) @@ -2864,9 +2729,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHstore(v *Value) bool { v.reset(OpRISCV64MOVHstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -2893,8 +2756,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWUload(v *Value) bool { v.reset(OpRISCV64MOVWUload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWUload [off1] {sym} (ADDI [off2] base) mem) @@ -2915,8 +2777,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWUload(v *Value) bool { v.reset(OpRISCV64MOVWUload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2943,8 +2804,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWload(v *Value) bool { v.reset(OpRISCV64MOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWload [off1] {sym} (ADDI [off2] base) mem) @@ -2965,8 +2825,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWload(v *Value) bool { v.reset(OpRISCV64MOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } return false @@ -2995,9 +2854,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWstore(v *Value) bool { v.reset(OpRISCV64MOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVWstore [off1] {sym} (ADDI [off2] base) val mem) @@ -3019,9 +2876,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWstore(v *Value) bool { v.reset(OpRISCV64MOVWstore) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } return false @@ -3042,17 +2897,14 @@ func rewriteValueRISCV64_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, OpRISCV64MOVHconst, typ.UInt16) 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, OpRISCV64MOVHconst, typ.UInt16) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -3073,17 +2925,14 @@ func rewriteValueRISCV64_OpRotateLeft32(v *Value) bool { c := v_1.AuxInt v.reset(OpOr32) v0 := b.NewValue0(v.Pos, OpLsh32x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32) v1.AuxInt = c & 31 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh32Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32) v3.AuxInt = -c & 31 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -3104,17 +2953,14 @@ func rewriteValueRISCV64_OpRotateLeft64(v *Value) bool { c := v_1.AuxInt v.reset(OpOr64) v0 := b.NewValue0(v.Pos, OpLsh64x64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v1.AuxInt = c & 63 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpRsh64Ux64, t) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v3.AuxInt = -c & 63 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -3135,17 +2981,14 @@ func rewriteValueRISCV64_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, OpRISCV64MOVBconst, typ.UInt8) 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, OpRISCV64MOVBconst, typ.UInt8) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -3165,9 +3008,7 @@ func rewriteValueRISCV64_OpRsh16Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg16, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3175,7 +3016,7 @@ func rewriteValueRISCV64_OpRsh16Ux16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3194,9 +3035,7 @@ func rewriteValueRISCV64_OpRsh16Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg16, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3204,7 +3043,7 @@ func rewriteValueRISCV64_OpRsh16Ux32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3223,15 +3062,13 @@ func rewriteValueRISCV64_OpRsh16Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg16, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3250,9 +3087,7 @@ func rewriteValueRISCV64_OpRsh16Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg16, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3260,7 +3095,7 @@ func rewriteValueRISCV64_OpRsh16Ux8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3279,9 +3114,7 @@ func rewriteValueRISCV64_OpRsh16x16(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3290,8 +3123,8 @@ func rewriteValueRISCV64_OpRsh16x16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3310,9 +3143,7 @@ func rewriteValueRISCV64_OpRsh16x32(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3321,8 +3152,8 @@ func rewriteValueRISCV64_OpRsh16x32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3341,17 +3172,15 @@ func rewriteValueRISCV64_OpRsh16x64(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3370,9 +3199,7 @@ func rewriteValueRISCV64_OpRsh16x8(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3381,8 +3208,8 @@ func rewriteValueRISCV64_OpRsh16x8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3401,9 +3228,7 @@ func rewriteValueRISCV64_OpRsh32Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg32, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3411,7 +3236,7 @@ func rewriteValueRISCV64_OpRsh32Ux16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3430,9 +3255,7 @@ func rewriteValueRISCV64_OpRsh32Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg32, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3440,7 +3263,7 @@ func rewriteValueRISCV64_OpRsh32Ux32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3459,15 +3282,13 @@ func rewriteValueRISCV64_OpRsh32Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg32, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3486,9 +3307,7 @@ func rewriteValueRISCV64_OpRsh32Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg32, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3496,7 +3315,7 @@ func rewriteValueRISCV64_OpRsh32Ux8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3515,9 +3334,7 @@ func rewriteValueRISCV64_OpRsh32x16(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3526,8 +3343,8 @@ func rewriteValueRISCV64_OpRsh32x16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3546,9 +3363,7 @@ func rewriteValueRISCV64_OpRsh32x32(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3557,8 +3372,8 @@ func rewriteValueRISCV64_OpRsh32x32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3577,17 +3392,15 @@ func rewriteValueRISCV64_OpRsh32x64(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3606,9 +3419,7 @@ func rewriteValueRISCV64_OpRsh32x8(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3617,8 +3428,8 @@ func rewriteValueRISCV64_OpRsh32x8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -3635,9 +3446,7 @@ func rewriteValueRISCV64_OpRsh64Ux16(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -3645,7 +3454,7 @@ func rewriteValueRISCV64_OpRsh64Ux16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3662,9 +3471,7 @@ func rewriteValueRISCV64_OpRsh64Ux32(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -3672,7 +3479,7 @@ func rewriteValueRISCV64_OpRsh64Ux32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3688,15 +3495,13 @@ func rewriteValueRISCV64_OpRsh64Ux64(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3713,9 +3518,7 @@ func rewriteValueRISCV64_OpRsh64Ux8(v *Value) bool { y := v_1 v.reset(OpRISCV64AND) v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpNeg64, t) v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v2.AuxInt = 64 @@ -3723,7 +3526,7 @@ func rewriteValueRISCV64_OpRsh64Ux8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3740,9 +3543,7 @@ func rewriteValueRISCV64_OpRsh64x16(v *Value) bool { y := v_1 v.reset(OpRISCV64SRA) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v1.AuxInt = -1 v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3751,8 +3552,8 @@ func rewriteValueRISCV64_OpRsh64x16(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3769,9 +3570,7 @@ func rewriteValueRISCV64_OpRsh64x32(v *Value) bool { y := v_1 v.reset(OpRISCV64SRA) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v1.AuxInt = -1 v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3780,8 +3579,8 @@ func rewriteValueRISCV64_OpRsh64x32(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3797,17 +3596,15 @@ func rewriteValueRISCV64_OpRsh64x64(v *Value) bool { y := v_1 v.reset(OpRISCV64SRA) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v1.AuxInt = -1 v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) v2.AuxInt = 64 v2.AddArg(y) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3824,9 +3621,7 @@ func rewriteValueRISCV64_OpRsh64x8(v *Value) bool { y := v_1 v.reset(OpRISCV64SRA) v.Type = t - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v1.AuxInt = -1 v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3835,8 +3630,8 @@ func rewriteValueRISCV64_OpRsh64x8(v *Value) bool { v3.AddArg(y) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(y, v1) + v.AddArg2(x, v0) return true } } @@ -3855,9 +3650,7 @@ func rewriteValueRISCV64_OpRsh8Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg8, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3865,7 +3658,7 @@ func rewriteValueRISCV64_OpRsh8Ux16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3884,9 +3677,7 @@ func rewriteValueRISCV64_OpRsh8Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg8, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3894,7 +3685,7 @@ func rewriteValueRISCV64_OpRsh8Ux32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3913,15 +3704,13 @@ func rewriteValueRISCV64_OpRsh8Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg8, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3940,9 +3729,7 @@ func rewriteValueRISCV64_OpRsh8Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpRISCV64SRL, 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, OpNeg8, t) v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t) v3.AuxInt = 64 @@ -3950,7 +3737,7 @@ func rewriteValueRISCV64_OpRsh8Ux8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3969,9 +3756,7 @@ func rewriteValueRISCV64_OpRsh8x16(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -3980,8 +3765,8 @@ func rewriteValueRISCV64_OpRsh8x16(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -4000,9 +3785,7 @@ func rewriteValueRISCV64_OpRsh8x32(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -4011,8 +3794,8 @@ func rewriteValueRISCV64_OpRsh8x32(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -4031,17 +3814,15 @@ func rewriteValueRISCV64_OpRsh8x64(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) v3.AuxInt = 64 v3.AddArg(y) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -4060,9 +3841,7 @@ func rewriteValueRISCV64_OpRsh8x8(v *Value) bool { v.Type = t v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type) - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type) v2.AuxInt = -1 v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type) @@ -4071,8 +3850,8 @@ func rewriteValueRISCV64_OpRsh8x8(v *Value) bool { v4.AddArg(y) v3.AddArg(v4) v2.AddArg(v3) - v1.AddArg(v2) - v.AddArg(v1) + v1.AddArg2(y, v2) + v.AddArg2(v0, v1) return true } } @@ -4209,9 +3988,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64MOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -4226,9 +4003,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64MOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -4243,9 +4018,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64MOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -4260,9 +4033,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64MOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -4277,9 +4048,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64FMOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -4294,9 +4063,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool { break } v.reset(OpRISCV64FMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4328,10 +4095,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpRISCV64MOVBstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [2] ptr mem) @@ -4343,10 +4108,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpRISCV64MOVHstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [4] ptr mem) @@ -4358,10 +4121,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpRISCV64MOVWstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [8] ptr mem) @@ -4373,10 +4134,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool { ptr := v_0 mem := v_1 v.reset(OpRISCV64MOVDstore) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(ptr, v0, mem) return true } // match: (Zero [s] {t} ptr mem) @@ -4388,14 +4147,11 @@ func rewriteValueRISCV64_OpZero(v *Value) bool { mem := v_1 v.reset(OpRISCV64LoweredZero) v.AuxInt = t.(*types.Type).Alignment() - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpRISCV64ADD, ptr.Type) - v0.AddArg(ptr) v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64) v1.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config) - v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(ptr, v1) + v.AddArg3(ptr, v0, mem) return true } } diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go index 4fc90128d0..7a78dfdac7 100644 --- a/src/cmd/compile/internal/ssa/rewriteS390X.go +++ b/src/cmd/compile/internal/ssa/rewriteS390X.go @@ -936,12 +936,9 @@ func rewriteValueS390X_OpAtomicAdd32(v *Value) bool { val := v_1 mem := v_2 v.reset(OpS390XAddTupleFirst32) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpS390XLAA, types.NewTuple(typ.UInt32, types.TypeMem)) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(ptr, val, mem) + v.AddArg2(val, v0) return true } } @@ -958,12 +955,9 @@ func rewriteValueS390X_OpAtomicAdd64(v *Value) bool { val := v_1 mem := v_2 v.reset(OpS390XAddTupleFirst64) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpS390XLAAG, types.NewTuple(typ.UInt64, types.TypeMem)) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(ptr, val, mem) + v.AddArg2(val, v0) return true } } @@ -980,21 +974,17 @@ func rewriteValueS390X_OpAtomicAnd8(v *Value) bool { val := v_1 mem := v_2 v.reset(OpS390XLANfloor) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpS390XRLL, typ.UInt32) v1 := b.NewValue0(v.Pos, OpS390XORWconst, typ.UInt32) v1.AuxInt = -1 << 8 v1.AddArg(val) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XRXSBG, typ.UInt32) v2.Aux = s390x.NewRotateParams(59, 60, 3) v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = 3 << 3 - v2.AddArg(v3) - v2.AddArg(ptr) - v0.AddArg(v2) - v.AddArg(v0) - v.AddArg(mem) + v2.AddArg2(v3, ptr) + v0.AddArg2(v1, v2) + v.AddArg3(ptr, v0, mem) return true } } @@ -1011,20 +1001,16 @@ func rewriteValueS390X_OpAtomicOr8(v *Value) bool { val := v_1 mem := v_2 v.reset(OpS390XLAOfloor) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpS390XSLW, typ.UInt32) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt32) v1.AddArg(val) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XRXSBG, typ.UInt32) v2.Aux = s390x.NewRotateParams(59, 60, 3) v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = 3 << 3 - v2.AddArg(v3) - v2.AddArg(ptr) - v0.AddArg(v2) - v.AddArg(v0) - v.AddArg(mem) + v2.AddArg2(v3, ptr) + v0.AddArg2(v1, v2) + v.AddArg3(ptr, v0, mem) return true } } @@ -1041,9 +1027,7 @@ func rewriteValueS390X_OpAtomicStore32(v *Value) bool { mem := v_2 v.reset(OpS390XSYNC) v0 := b.NewValue0(v.Pos, OpS390XMOVWatomicstore, types.TypeMem) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -1061,9 +1045,7 @@ func rewriteValueS390X_OpAtomicStore64(v *Value) bool { mem := v_2 v.reset(OpS390XSYNC) v0 := b.NewValue0(v.Pos, OpS390XMOVDatomicstore, types.TypeMem) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -1081,9 +1063,7 @@ func rewriteValueS390X_OpAtomicStore8(v *Value) bool { mem := v_2 v.reset(OpS390XSYNC) v0 := b.NewValue0(v.Pos, OpS390XMOVBatomicstore, types.TypeMem) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -1101,9 +1081,7 @@ func rewriteValueS390X_OpAtomicStorePtrNoWB(v *Value) bool { mem := v_2 v.reset(OpS390XSYNC) v0 := b.NewValue0(v.Pos, OpS390XMOVDatomicstore, types.TypeMem) - v0.AddArg(ptr) - v0.AddArg(val) - v0.AddArg(mem) + v0.AddArg3(ptr, val, mem) v.AddArg(v0) return true } @@ -1122,11 +1100,9 @@ func rewriteValueS390X_OpAvg64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRDconst, t) v0.AuxInt = 1 v1 := b.NewValue0(v.Pos, OpS390XSUB, 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 } } @@ -1141,10 +1117,9 @@ func rewriteValueS390X_OpBitLen64(v *Value) bool { v.reset(OpS390XSUB) v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1181,20 +1156,18 @@ func rewriteValueS390X_OpCtz32(v *Value) bool { v.reset(OpS390XSUB) v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64) v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64) v3 := b.NewValue0(v.Pos, OpS390XANDW, t) v4 := b.NewValue0(v.Pos, OpS390XSUBWconst, t) v4.AuxInt = 1 v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpS390XNOTW, t) v5.AddArg(x) - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1210,18 +1183,16 @@ func rewriteValueS390X_OpCtz64(v *Value) bool { v.reset(OpS390XSUB) v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64) v2 := b.NewValue0(v.Pos, OpS390XAND, t) v3 := b.NewValue0(v.Pos, OpS390XSUBconst, t) v3.AuxInt = 1 v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XNOT, t) v4.AddArg(x) - v2.AddArg(v4) + v2.AddArg2(v3, v4) v1.AddArg(v2) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1238,10 +1209,9 @@ func rewriteValueS390X_OpDiv16(v *Value) bool { v.reset(OpS390XDIVW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1258,10 +1228,9 @@ func rewriteValueS390X_OpDiv16u(v *Value) bool { v.reset(OpS390XDIVWU) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1278,8 +1247,7 @@ func rewriteValueS390X_OpDiv32(v *Value) bool { v.reset(OpS390XDIVW) v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -1296,8 +1264,7 @@ func rewriteValueS390X_OpDiv32u(v *Value) bool { v.reset(OpS390XDIVWU) v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -1314,10 +1281,9 @@ func rewriteValueS390X_OpDiv8(v *Value) bool { v.reset(OpS390XDIVW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1334,10 +1300,9 @@ func rewriteValueS390X_OpDiv8u(v *Value) bool { v.reset(OpS390XDIVWU) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1355,18 +1320,15 @@ func rewriteValueS390X_OpEq16(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -1384,14 +1346,11 @@ func rewriteValueS390X_OpEq32(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1409,14 +1368,11 @@ func rewriteValueS390X_OpEq32F(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1434,14 +1390,11 @@ func rewriteValueS390X_OpEq64(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1459,14 +1412,11 @@ func rewriteValueS390X_OpEq64F(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1484,18 +1434,15 @@ func rewriteValueS390X_OpEq8(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -1513,18 +1460,15 @@ func rewriteValueS390X_OpEqB(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -1542,14 +1486,11 @@ func rewriteValueS390X_OpEqPtr(v *Value) bool { v.Aux = s390x.Equal v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1564,9 +1505,7 @@ func rewriteValueS390X_OpFMA(v *Value) bool { y := v_1 z := v_2 v.reset(OpS390XFMADD) - v.AddArg(z) - v.AddArg(x) - v.AddArg(y) + v.AddArg3(z, x, y) return true } } @@ -1596,14 +1535,11 @@ func rewriteValueS390X_OpGeq32F(v *Value) bool { v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1621,14 +1557,11 @@ func rewriteValueS390X_OpGeq64F(v *Value) bool { v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1646,14 +1579,11 @@ func rewriteValueS390X_OpGreater32F(v *Value) bool { v.Aux = s390x.Greater v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1671,14 +1601,11 @@ func rewriteValueS390X_OpGreater64F(v *Value) bool { v.Aux = s390x.Greater v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1697,10 +1624,9 @@ func rewriteValueS390X_OpHmul32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64) v1 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -1720,10 +1646,9 @@ func rewriteValueS390X_OpHmul32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64) v1 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64) v2.AddArg(y) - v0.AddArg(v2) + v0.AddArg2(v1, v2) v.AddArg(v0) return true } @@ -1739,8 +1664,7 @@ func rewriteValueS390X_OpITab(v *Value) bool { mem := v_0.Args[1] ptr := v_0.Args[0] v.reset(OpS390XMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -1759,14 +1683,11 @@ func rewriteValueS390X_OpIsInBounds(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags) - v2.AddArg(idx) - v2.AddArg(len) - v.AddArg(v2) + v2.AddArg2(idx, len) + v.AddArg3(v0, v1, v2) return true } } @@ -1782,14 +1703,12 @@ func rewriteValueS390X_OpIsNonNil(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPconst, types.TypeFlags) v2.AuxInt = 0 v2.AddArg(p) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -1807,14 +1726,11 @@ func rewriteValueS390X_OpIsSliceInBounds(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags) - v2.AddArg(idx) - v2.AddArg(len) - v.AddArg(v2) + v2.AddArg2(idx, len) + v.AddArg3(v0, v1, v2) return true } } @@ -1832,18 +1748,15 @@ func rewriteValueS390X_OpLeq16(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -1861,18 +1774,15 @@ func rewriteValueS390X_OpLeq16U(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -1890,14 +1800,11 @@ func rewriteValueS390X_OpLeq32(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1915,14 +1822,11 @@ func rewriteValueS390X_OpLeq32F(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1940,14 +1844,11 @@ func rewriteValueS390X_OpLeq32U(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1965,14 +1866,11 @@ func rewriteValueS390X_OpLeq64(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -1990,14 +1888,11 @@ func rewriteValueS390X_OpLeq64F(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2015,14 +1910,11 @@ func rewriteValueS390X_OpLeq64U(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2040,18 +1932,15 @@ func rewriteValueS390X_OpLeq8(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2069,18 +1958,15 @@ func rewriteValueS390X_OpLeq8U(v *Value) bool { v.Aux = s390x.LessOrEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2098,18 +1984,15 @@ func rewriteValueS390X_OpLess16(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2127,18 +2010,15 @@ func rewriteValueS390X_OpLess16U(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2156,14 +2036,11 @@ func rewriteValueS390X_OpLess32(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2181,14 +2058,11 @@ func rewriteValueS390X_OpLess32F(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2206,14 +2080,11 @@ func rewriteValueS390X_OpLess32U(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2231,14 +2102,11 @@ func rewriteValueS390X_OpLess64(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2256,14 +2124,11 @@ func rewriteValueS390X_OpLess64F(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2281,14 +2146,11 @@ func rewriteValueS390X_OpLess64U(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -2306,18 +2168,15 @@ func rewriteValueS390X_OpLess8(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2335,18 +2194,15 @@ func rewriteValueS390X_OpLess8U(v *Value) bool { v.Aux = s390x.Less v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -2364,8 +2220,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2379,8 +2234,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVWload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2394,8 +2248,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVWZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2409,8 +2262,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVHload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2424,8 +2276,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVHZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2439,8 +2290,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVBload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2454,8 +2304,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XMOVBZload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2469,8 +2318,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XFMOVSload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -2484,8 +2332,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool { break } v.reset(OpS390XFMOVDload) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -2518,8 +2365,7 @@ func rewriteValueS390X_OpLsh16x16(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x16 x y) @@ -2532,18 +2378,15 @@ func rewriteValueS390X_OpLsh16x16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2562,8 +2405,7 @@ func rewriteValueS390X_OpLsh16x32(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x32 x y) @@ -2576,16 +2418,13 @@ func rewriteValueS390X_OpLsh16x32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2604,8 +2443,7 @@ func rewriteValueS390X_OpLsh16x64(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x64 x y) @@ -2618,16 +2456,13 @@ func rewriteValueS390X_OpLsh16x64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2646,8 +2481,7 @@ func rewriteValueS390X_OpLsh16x8(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh16x8 x y) @@ -2660,18 +2494,15 @@ func rewriteValueS390X_OpLsh16x8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2690,8 +2521,7 @@ func rewriteValueS390X_OpLsh32x16(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x16 x y) @@ -2704,18 +2534,15 @@ func rewriteValueS390X_OpLsh32x16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2734,8 +2561,7 @@ func rewriteValueS390X_OpLsh32x32(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x32 x y) @@ -2748,16 +2574,13 @@ func rewriteValueS390X_OpLsh32x32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2776,8 +2599,7 @@ func rewriteValueS390X_OpLsh32x64(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x64 x y) @@ -2790,16 +2612,13 @@ func rewriteValueS390X_OpLsh32x64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2818,8 +2637,7 @@ func rewriteValueS390X_OpLsh32x8(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh32x8 x y) @@ -2832,18 +2650,15 @@ func rewriteValueS390X_OpLsh32x8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2862,8 +2677,7 @@ func rewriteValueS390X_OpLsh64x16(v *Value) bool { break } v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x16 x y) @@ -2876,18 +2690,15 @@ func rewriteValueS390X_OpLsh64x16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2906,8 +2717,7 @@ func rewriteValueS390X_OpLsh64x32(v *Value) bool { break } v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x32 x y) @@ -2920,16 +2730,13 @@ func rewriteValueS390X_OpLsh64x32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2948,8 +2755,7 @@ func rewriteValueS390X_OpLsh64x64(v *Value) bool { break } v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x64 x y) @@ -2962,16 +2768,13 @@ func rewriteValueS390X_OpLsh64x64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -2990,8 +2793,7 @@ func rewriteValueS390X_OpLsh64x8(v *Value) bool { break } v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x8 x y) @@ -3004,18 +2806,15 @@ func rewriteValueS390X_OpLsh64x8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -3034,8 +2833,7 @@ func rewriteValueS390X_OpLsh8x16(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x16 x y) @@ -3048,18 +2846,15 @@ func rewriteValueS390X_OpLsh8x16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -3078,8 +2873,7 @@ func rewriteValueS390X_OpLsh8x32(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x32 x y) @@ -3092,16 +2886,13 @@ func rewriteValueS390X_OpLsh8x32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -3120,8 +2911,7 @@ func rewriteValueS390X_OpLsh8x64(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x64 x y) @@ -3134,16 +2924,13 @@ func rewriteValueS390X_OpLsh8x64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -3162,8 +2949,7 @@ func rewriteValueS390X_OpLsh8x8(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh8x8 x y) @@ -3176,18 +2962,15 @@ func rewriteValueS390X_OpLsh8x8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSLW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -3204,10 +2987,9 @@ func rewriteValueS390X_OpMod16(v *Value) bool { v.reset(OpS390XMODW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3224,10 +3006,9 @@ func rewriteValueS390X_OpMod16u(v *Value) bool { v.reset(OpS390XMODWU) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3244,8 +3025,7 @@ func rewriteValueS390X_OpMod32(v *Value) bool { v.reset(OpS390XMODW) v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -3262,8 +3042,7 @@ func rewriteValueS390X_OpMod32u(v *Value) bool { v.reset(OpS390XMODWU) v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -3280,10 +3059,9 @@ func rewriteValueS390X_OpMod8(v *Value) bool { v.reset(OpS390XMODW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3300,10 +3078,9 @@ func rewriteValueS390X_OpMod8u(v *Value) bool { v.reset(OpS390XMODWU) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3335,12 +3112,9 @@ func rewriteValueS390X_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpS390XMOVBstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, 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) @@ -3353,12 +3127,9 @@ func rewriteValueS390X_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpS390XMOVHstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, 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) @@ -3371,12 +3142,9 @@ func rewriteValueS390X_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpS390XMOVWstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, 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) @@ -3389,12 +3157,9 @@ func rewriteValueS390X_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpS390XMOVDstore) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVDload, 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 [16] dst src mem) @@ -3408,20 +3173,14 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVDstore) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVDload, 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) @@ -3435,29 +3194,20 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVDstore) v.AuxInt = 16 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64) v0.AuxInt = 16 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64) v2.AuxInt = 8 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpS390XMOVDload, 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 [3] dst src mem) @@ -3471,20 +3221,14 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVBstore) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, 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) @@ -3498,20 +3242,14 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVBstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, 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) @@ -3525,20 +3263,14 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVHstore) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, 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) @@ -3552,29 +3284,20 @@ func rewriteValueS390X_OpMove(v *Value) bool { mem := v_2 v.reset(OpS390XMOVBstore) v.AuxInt = 6 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8) v0.AuxInt = 6 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, types.TypeMem) v1.AuxInt = 4 - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16) v2.AuxInt = 4 - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) + v2.AddArg2(src, mem) v3 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem) - v3.AddArg(dst) v4 := b.NewValue0(v.Pos, OpS390XMOVWZload, 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 [s] dst src mem) @@ -3590,9 +3313,7 @@ func rewriteValueS390X_OpMove(v *Value) bool { } v.reset(OpS390XMVC) v.AuxInt = makeValAndOff(s, 0) - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Move [s] dst src mem) @@ -3608,14 +3329,10 @@ func rewriteValueS390X_OpMove(v *Value) bool { } v.reset(OpS390XMVC) v.AuxInt = makeValAndOff(s-256, 256) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v0.AuxInt = makeValAndOff(256, 0) - v0.AddArg(dst) - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(dst, src, mem) + v.AddArg3(dst, src, v0) return true } // match: (Move [s] dst src mem) @@ -3631,19 +3348,13 @@ func rewriteValueS390X_OpMove(v *Value) bool { } v.reset(OpS390XMVC) v.AuxInt = makeValAndOff(s-512, 512) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v0.AuxInt = makeValAndOff(256, 256) - v0.AddArg(dst) - v0.AddArg(src) v1 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v1.AuxInt = makeValAndOff(256, 0) - v1.AddArg(dst) - v1.AddArg(src) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg3(dst, src, mem) + v0.AddArg3(dst, src, v1) + v.AddArg3(dst, src, v0) return true } // match: (Move [s] dst src mem) @@ -3659,24 +3370,16 @@ func rewriteValueS390X_OpMove(v *Value) bool { } v.reset(OpS390XMVC) v.AuxInt = makeValAndOff(s-768, 768) - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v0.AuxInt = makeValAndOff(256, 512) - v0.AddArg(dst) - v0.AddArg(src) v1 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v1.AuxInt = makeValAndOff(256, 256) - v1.AddArg(dst) - v1.AddArg(src) v2 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem) v2.AuxInt = makeValAndOff(256, 0) - v2.AddArg(dst) - v2.AddArg(src) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg3(dst, src, mem) + v1.AddArg3(dst, src, v2) + v0.AddArg3(dst, src, v1) + v.AddArg3(dst, src, v0) return true } // match: (Move [s] dst src mem) @@ -3692,15 +3395,11 @@ func rewriteValueS390X_OpMove(v *Value) bool { } v.reset(OpS390XLoweredMove) v.AuxInt = s % 256 - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpS390XADD, src.Type) - v0.AddArg(src) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = (s / 256) * 256 - v0.AddArg(v1) - v.AddArg(v0) - v.AddArg(mem) + v0.AddArg2(src, v1) + v.AddArg4(dst, src, v0, mem) return true } return false @@ -3719,18 +3418,15 @@ func rewriteValueS390X_OpNeq16(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -3748,14 +3444,11 @@ func rewriteValueS390X_OpNeq32(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -3773,14 +3466,11 @@ func rewriteValueS390X_OpNeq32F(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -3798,14 +3488,11 @@ func rewriteValueS390X_OpNeq64(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -3823,14 +3510,11 @@ func rewriteValueS390X_OpNeq64F(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -3848,18 +3532,15 @@ func rewriteValueS390X_OpNeq8(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -3877,18 +3558,15 @@ func rewriteValueS390X_OpNeqB(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v4.AddArg(y) - v2.AddArg(v4) - v.AddArg(v2) + v2.AddArg2(v3, v4) + v.AddArg3(v0, v1, v2) return true } } @@ -3906,14 +3584,11 @@ func rewriteValueS390X_OpNeqPtr(v *Value) bool { v.Aux = s390x.NotEqual v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 1 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v2.AddArg(x) - v2.AddArg(y) - v.AddArg(v2) + v2.AddArg2(x, y) + v.AddArg3(v0, v1, v2) return true } } @@ -3968,8 +3643,7 @@ func rewriteValueS390X_OpOffPtr(v *Value) bool { v.reset(OpS390XADD) v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = off - v.AddArg(v0) - v.AddArg(ptr) + v.AddArg2(v0, ptr) return true } } @@ -3990,9 +3664,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool { } v.reset(OpS390XLoweredPanicBoundsA) 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) @@ -4008,9 +3680,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool { } v.reset(OpS390XLoweredPanicBoundsB) 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) @@ -4026,9 +3696,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool { } v.reset(OpS390XLoweredPanicBoundsC) v.AuxInt = kind - v.AddArg(x) - v.AddArg(y) - v.AddArg(mem) + v.AddArg3(x, y, mem) return true } return false @@ -4115,17 +3783,14 @@ func rewriteValueS390X_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, OpS390XMOVDconst, 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, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -4146,17 +3811,14 @@ func rewriteValueS390X_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, OpS390XMOVDconst, 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, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -4202,8 +3864,7 @@ func rewriteValueS390X_OpRsh16Ux16(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux16 x y) @@ -4218,18 +3879,15 @@ func rewriteValueS390X_OpRsh16Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -4250,8 +3908,7 @@ func rewriteValueS390X_OpRsh16Ux32(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux32 x y) @@ -4266,16 +3923,13 @@ func rewriteValueS390X_OpRsh16Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -4296,8 +3950,7 @@ func rewriteValueS390X_OpRsh16Ux64(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux64 x y) @@ -4312,16 +3965,13 @@ func rewriteValueS390X_OpRsh16Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -4342,8 +3992,7 @@ func rewriteValueS390X_OpRsh16Ux8(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16Ux8 x y) @@ -4358,18 +4007,15 @@ func rewriteValueS390X_OpRsh16Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -4390,8 +4036,7 @@ func rewriteValueS390X_OpRsh16x16(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x16 x y) @@ -4402,20 +4047,17 @@ func rewriteValueS390X_OpRsh16x16(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -4436,8 +4078,7 @@ func rewriteValueS390X_OpRsh16x32(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x32 x y) @@ -4448,18 +4089,15 @@ func rewriteValueS390X_OpRsh16x32(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, 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 } } @@ -4480,8 +4118,7 @@ func rewriteValueS390X_OpRsh16x64(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x64 x y) @@ -4492,18 +4129,15 @@ func rewriteValueS390X_OpRsh16x64(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, 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 } } @@ -4524,8 +4158,7 @@ func rewriteValueS390X_OpRsh16x8(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh16x8 x y) @@ -4536,20 +4169,17 @@ func rewriteValueS390X_OpRsh16x8(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -4568,8 +4198,7 @@ func rewriteValueS390X_OpRsh32Ux16(v *Value) bool { break } v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux16 x y) @@ -4582,18 +4211,15 @@ func rewriteValueS390X_OpRsh32Ux16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4612,8 +4238,7 @@ func rewriteValueS390X_OpRsh32Ux32(v *Value) bool { break } v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux32 x y) @@ -4626,16 +4251,13 @@ func rewriteValueS390X_OpRsh32Ux32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4654,8 +4276,7 @@ func rewriteValueS390X_OpRsh32Ux64(v *Value) bool { break } v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux64 x y) @@ -4668,16 +4289,13 @@ func rewriteValueS390X_OpRsh32Ux64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4696,8 +4314,7 @@ func rewriteValueS390X_OpRsh32Ux8(v *Value) bool { break } v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32Ux8 x y) @@ -4710,18 +4327,15 @@ func rewriteValueS390X_OpRsh32Ux8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRW, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4740,8 +4354,7 @@ func rewriteValueS390X_OpRsh32x16(v *Value) bool { break } v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x16 x y) @@ -4750,20 +4363,17 @@ func rewriteValueS390X_OpRsh32x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -4781,8 +4391,7 @@ func rewriteValueS390X_OpRsh32x32(v *Value) bool { break } v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x32 x y) @@ -4791,18 +4400,15 @@ func rewriteValueS390X_OpRsh32x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, 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 } } @@ -4820,8 +4426,7 @@ func rewriteValueS390X_OpRsh32x64(v *Value) bool { break } v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x64 x y) @@ -4830,18 +4435,15 @@ func rewriteValueS390X_OpRsh32x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, 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 } } @@ -4860,8 +4462,7 @@ func rewriteValueS390X_OpRsh32x8(v *Value) bool { break } v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh32x8 x y) @@ -4870,20 +4471,17 @@ func rewriteValueS390X_OpRsh32x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -4902,8 +4500,7 @@ func rewriteValueS390X_OpRsh64Ux16(v *Value) bool { break } v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux16 x y) @@ -4916,18 +4513,15 @@ func rewriteValueS390X_OpRsh64Ux16(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4946,8 +4540,7 @@ func rewriteValueS390X_OpRsh64Ux32(v *Value) bool { break } v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux32 x y) @@ -4960,16 +4553,13 @@ func rewriteValueS390X_OpRsh64Ux32(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -4988,8 +4578,7 @@ func rewriteValueS390X_OpRsh64Ux64(v *Value) bool { break } v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux64 x y) @@ -5002,16 +4591,13 @@ func rewriteValueS390X_OpRsh64Ux64(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v2.AuxInt = 64 v2.AddArg(y) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -5030,8 +4616,7 @@ func rewriteValueS390X_OpRsh64Ux8(v *Value) bool { break } v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux8 x y) @@ -5044,18 +4629,15 @@ func rewriteValueS390X_OpRsh64Ux8(v *Value) bool { v.Type = t v.Aux = s390x.GreaterOrEqual v0 := b.NewValue0(v.Pos, OpS390XSRD, t) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } } @@ -5074,8 +4656,7 @@ func rewriteValueS390X_OpRsh64x16(v *Value) bool { break } v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x16 x y) @@ -5084,20 +4665,17 @@ func rewriteValueS390X_OpRsh64x16(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -5115,8 +4693,7 @@ func rewriteValueS390X_OpRsh64x32(v *Value) bool { break } v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x32 x y) @@ -5125,18 +4702,15 @@ func rewriteValueS390X_OpRsh64x32(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, 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 } } @@ -5154,8 +4728,7 @@ func rewriteValueS390X_OpRsh64x64(v *Value) bool { break } v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x64 x y) @@ -5164,18 +4737,15 @@ func rewriteValueS390X_OpRsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, 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 } } @@ -5194,8 +4764,7 @@ func rewriteValueS390X_OpRsh64x8(v *Value) bool { break } v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x8 x y) @@ -5204,20 +4773,17 @@ func rewriteValueS390X_OpRsh64x8(v *Value) bool { x := v_0 y := v_1 v.reset(OpS390XSRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v0.Aux = s390x.GreaterOrEqual - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v2.AuxInt = 64 v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v3.AddArg(y) v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -5238,8 +4804,7 @@ func rewriteValueS390X_OpRsh8Ux16(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux16 x y) @@ -5254,18 +4819,15 @@ func rewriteValueS390X_OpRsh8Ux16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -5286,8 +4848,7 @@ func rewriteValueS390X_OpRsh8Ux32(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux32 x y) @@ -5302,16 +4863,13 @@ func rewriteValueS390X_OpRsh8Ux32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -5332,8 +4890,7 @@ func rewriteValueS390X_OpRsh8Ux64(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux64 x y) @@ -5348,16 +4905,13 @@ func rewriteValueS390X_OpRsh8Ux64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags) v3.AuxInt = 64 v3.AddArg(y) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -5378,8 +4932,7 @@ func rewriteValueS390X_OpRsh8Ux8(v *Value) bool { v.reset(OpS390XSRW) v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8Ux8 x y) @@ -5394,18 +4947,15 @@ func rewriteValueS390X_OpRsh8Ux8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRW, t) v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(v1, y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v.AddArg(v3) + v.AddArg3(v0, v2, v3) return true } } @@ -5426,8 +4976,7 @@ func rewriteValueS390X_OpRsh8x16(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x16 x y) @@ -5438,20 +4987,17 @@ func rewriteValueS390X_OpRsh8x16(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -5472,8 +5018,7 @@ func rewriteValueS390X_OpRsh8x32(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x32 x y) @@ -5484,18 +5029,15 @@ func rewriteValueS390X_OpRsh8x32(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, 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 } } @@ -5516,8 +5058,7 @@ func rewriteValueS390X_OpRsh8x64(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x64 x y) @@ -5528,18 +5069,15 @@ func rewriteValueS390X_OpRsh8x64(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, 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 } } @@ -5560,8 +5098,7 @@ func rewriteValueS390X_OpRsh8x8(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } // match: (Rsh8x8 x y) @@ -5572,20 +5109,17 @@ func rewriteValueS390X_OpRsh8x8(v *Value) bool { v.reset(OpS390XSRAW) v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type) v1.Aux = s390x.GreaterOrEqual - v1.AddArg(y) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type) v2.AuxInt = 63 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags) v3.AuxInt = 64 v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64) v4.AddArg(y) v3.AddArg(v4) - v1.AddArg(v3) - v.AddArg(v1) + v1.AddArg3(y, v2, v3) + v.AddArg2(v0, v1) return true } } @@ -5654,8 +5188,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = c v.Aux = s - v.AddArg(ptr) - v.AddArg(idx) + v.AddArg2(ptr, idx) return true } break @@ -5670,8 +5203,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSUB) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -5698,9 +5230,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -5745,8 +5275,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool { break } v.reset(OpS390XADDC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDE x y (FlagLT)) @@ -5758,8 +5287,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool { break } v.reset(OpS390XADDC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDE x y (Select1 (ADDCconst [-1] (Select0 (ADDE (MOVDconst [0]) (MOVDconst [0]) c))))) @@ -5792,9 +5320,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool { break } v.reset(OpS390XADDE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(c) + v.AddArg3(x, y, c) return true } return false @@ -5852,8 +5378,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSUBW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } break @@ -5880,9 +5405,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -5909,9 +5432,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -5985,9 +5506,7 @@ func rewriteValueS390X_OpS390XADDWload(v *Value) bool { v.reset(OpS390XADDWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ADDWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -6010,9 +5529,7 @@ func rewriteValueS390X_OpS390XADDWload(v *Value) bool { v.reset(OpS390XADDWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -6077,8 +5594,7 @@ func rewriteValueS390X_OpS390XADDconst(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (ADDconst [0] x) @@ -6149,10 +5665,9 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool { break } v.reset(OpS390XADD) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (ADDload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -6174,9 +5689,7 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool { v.reset(OpS390XADDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ADDload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -6199,9 +5712,7 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool { v.reset(OpS390XADDload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -6365,9 +5876,7 @@ func rewriteValueS390X_OpS390XAND(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -6427,9 +5936,7 @@ func rewriteValueS390X_OpS390XANDW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -6456,9 +5963,7 @@ func rewriteValueS390X_OpS390XANDW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -6566,9 +6071,7 @@ func rewriteValueS390X_OpS390XANDWload(v *Value) bool { v.reset(OpS390XANDWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ANDWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -6591,9 +6094,7 @@ func rewriteValueS390X_OpS390XANDWload(v *Value) bool { v.reset(OpS390XANDWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -6674,10 +6175,9 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool { break } v.reset(OpS390XAND) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (ANDload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -6699,9 +6199,7 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool { v.reset(OpS390XANDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ANDload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -6724,9 +6222,7 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool { v.reset(OpS390XANDload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -6782,8 +6278,7 @@ func rewriteValueS390X_OpS390XCMP(v *Value) bool { } v.reset(OpS390XInvertFlags) v0 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -6840,8 +6335,7 @@ func rewriteValueS390X_OpS390XCMPU(v *Value) bool { } v.reset(OpS390XInvertFlags) v0 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -7061,8 +6555,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool { } v.reset(OpS390XInvertFlags) v0 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -7075,8 +6568,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XCMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPW x (MOVWZreg y)) @@ -7088,8 +6580,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XCMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPW (MOVWreg x) y) @@ -7101,8 +6592,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpS390XCMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPW (MOVWZreg x) y) @@ -7114,8 +6604,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpS390XCMPW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -7163,8 +6652,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool { } v.reset(OpS390XInvertFlags) v0 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -7177,8 +6665,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XCMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWU x (MOVWZreg y)) @@ -7190,8 +6677,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XCMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWU (MOVWreg x) y) @@ -7203,8 +6689,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpS390XCMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (CMPWU (MOVWZreg x) y) @@ -7216,8 +6701,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool { x := v_0.Args[0] y := v_1 v.reset(OpS390XCMPWU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -7734,9 +7218,7 @@ func rewriteValueS390X_OpS390XFADD(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpS390XFMADD) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -7757,9 +7239,7 @@ func rewriteValueS390X_OpS390XFADDS(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpS390XFMADDS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } break @@ -7828,8 +7308,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool { v.reset(OpS390XFMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -7851,8 +7330,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool { v.reset(OpS390XFMOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (FMOVDload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -7875,9 +7353,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool { v.reset(OpS390XFMOVDloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVDload [off] {sym} (ADD ptr idx) mem) @@ -7902,9 +7378,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool { v.reset(OpS390XFMOVDloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -7934,9 +7408,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx(v *Value) bool { v.reset(OpS390XFMOVDloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVDloadidx [c] {sym} ptr (ADDconst [d] idx) mem) @@ -7958,9 +7430,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx(v *Value) bool { v.reset(OpS390XFMOVDloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -7988,9 +7458,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool { v.reset(OpS390XFMOVDstore) 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 [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -8013,9 +7481,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool { v.reset(OpS390XFMOVDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (FMOVDstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -8039,10 +7505,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool { v.reset(OpS390XFMOVDstoreidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVDstore [off] {sym} (ADD ptr idx) val mem) @@ -8068,10 +7531,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool { v.reset(OpS390XFMOVDstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -8103,10 +7563,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx(v *Value) bool { v.reset(OpS390XFMOVDstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVDstoreidx [c] {sym} ptr (ADDconst [d] idx) val mem) @@ -8129,10 +7586,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx(v *Value) bool { v.reset(OpS390XFMOVDstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -8179,8 +7633,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool { v.reset(OpS390XFMOVSload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (FMOVSload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -8202,8 +7655,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool { v.reset(OpS390XFMOVSload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (FMOVSload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -8226,9 +7678,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool { v.reset(OpS390XFMOVSloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVSload [off] {sym} (ADD ptr idx) mem) @@ -8253,9 +7703,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool { v.reset(OpS390XFMOVSloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -8285,9 +7733,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx(v *Value) bool { v.reset(OpS390XFMOVSloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (FMOVSloadidx [c] {sym} ptr (ADDconst [d] idx) mem) @@ -8309,9 +7755,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx(v *Value) bool { v.reset(OpS390XFMOVSloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } return false @@ -8339,9 +7783,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool { v.reset(OpS390XFMOVSstore) 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 [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -8364,9 +7806,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool { v.reset(OpS390XFMOVSstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (FMOVSstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -8390,10 +7830,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool { v.reset(OpS390XFMOVSstoreidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVSstore [off] {sym} (ADD ptr idx) val mem) @@ -8419,10 +7856,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool { v.reset(OpS390XFMOVSstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -8454,10 +7888,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx(v *Value) bool { v.reset(OpS390XFMOVSstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (FMOVSstoreidx [c] {sym} ptr (ADDconst [d] idx) val mem) @@ -8480,10 +7911,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx(v *Value) bool { v.reset(OpS390XFMOVSstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } return false @@ -8553,9 +7981,7 @@ func rewriteValueS390X_OpS390XFSUB(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpS390XFMSUB) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } return false @@ -8573,9 +7999,7 @@ func rewriteValueS390X_OpS390XFSUBS(v *Value) bool { y := v_0.Args[0] x := v_1 v.reset(OpS390XFMSUBS) - v.AddArg(x) - v.AddArg(y) - v.AddArg(z) + v.AddArg3(x, y, z) return true } return false @@ -8676,8 +8100,7 @@ func rewriteValueS390X_OpS390XLDGR(v *Value) bool { v2 := b.NewValue0(x.Pos, OpS390XMOVDload, t1) v2.AuxInt = off v2.Aux = sym - v2.AddArg(ptr) - v2.AddArg(mem) + v2.AddArg2(ptr, mem) v1.AddArg(v2) v0.AddArg(v1) return true @@ -8762,9 +8185,7 @@ func rewriteValueS390X_OpS390XLOCGR(v *Value) bool { cmp := v_2.Args[0] v.reset(OpS390XLOCGR) v.Aux = c.(s390x.CCMask).ReverseComparison() - v.AddArg(x) - v.AddArg(y) - v.AddArg(cmp) + v.AddArg3(x, y, cmp) return true } // match: (LOCGR {c} _ x (FlagEQ)) @@ -8954,8 +8375,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool { v.reset(OpS390XMOVBZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBZload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -8977,8 +8397,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool { v.reset(OpS390XMOVBZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBZload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -9001,9 +8420,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool { v.reset(OpS390XMOVBZloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBZload [off] {sym} (ADD ptr idx) mem) @@ -9028,9 +8445,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool { v.reset(OpS390XMOVBZloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9061,9 +8476,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx(v *Value) bool { v.reset(OpS390XMOVBZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9088,9 +8501,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx(v *Value) bool { v.reset(OpS390XMOVBZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9253,8 +8664,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVBZreg x:(MOVBloadidx [o] {s} p i mem)) @@ -9280,9 +8690,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVBZreg x:(Arg )) @@ -9398,8 +8806,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool { v.reset(OpS390XMOVBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -9421,8 +8828,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool { v.reset(OpS390XMOVBload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVBload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -9445,9 +8851,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool { v.reset(OpS390XMOVBloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVBload [off] {sym} (ADD ptr idx) mem) @@ -9472,9 +8876,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool { v.reset(OpS390XMOVBloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9505,9 +8907,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx(v *Value) bool { v.reset(OpS390XMOVBloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9532,9 +8932,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx(v *Value) bool { v.reset(OpS390XMOVBloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -9697,8 +9095,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVBreg x:(MOVBZloadidx [o] {s} p i mem)) @@ -9724,9 +9121,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVBreg x:(Arg )) @@ -9796,9 +9191,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstore) 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 (MOVBZreg x) mem) @@ -9815,9 +9208,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVBstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -9839,9 +9230,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstore) 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} ptr (MOVDconst [c]) mem) @@ -9862,8 +9251,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstoreconst) v.AuxInt = makeValAndOff(int64(int8(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -9886,9 +9274,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVBstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -9912,10 +9298,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstoreidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVBstore [off] {sym} (ADD ptr idx) val mem) @@ -9941,10 +9324,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVBstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -9972,9 +9352,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w0:(SRDconst [j] w) x:(MOVBstore [i-1] {s} p (SRDconst [j+8] w) mem)) @@ -10005,9 +9383,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVBstore [i] {s} p w x:(MOVBstore [i-1] {s} p (SRWconst [8] w) mem)) @@ -10033,9 +9409,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p w0:(SRWconst [j] w) x:(MOVBstore [i-1] {s} p (SRWconst [j+8] w) mem)) @@ -10066,9 +9440,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVBstore [i] {s} p (SRDconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -10093,9 +9465,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHBRstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SRDconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SRDconst [j-8] w) mem)) @@ -10125,9 +9495,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHBRstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVBstore [i] {s} p (SRWconst [8] w) x:(MOVBstore [i-1] {s} p w mem)) @@ -10152,9 +9520,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHBRstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVBstore [i] {s} p (SRWconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SRWconst [j-8] w) mem)) @@ -10184,9 +9550,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool { v.reset(OpS390XMOVHBRstore) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -10212,8 +9576,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool { v.reset(OpS390XMOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem) @@ -10235,8 +9598,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool { v.reset(OpS390XMOVBstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem)) @@ -10261,8 +9623,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool { v.reset(OpS390XMOVHstoreconst) v.AuxInt = makeValAndOff(ValAndOff(c).Val()&0xff|ValAndOff(a).Val()<<8, ValAndOff(a).Off()) v.Aux = s - v.AddArg(p) - v.AddArg(mem) + v.AddArg2(p, mem) return true } return false @@ -10293,10 +9654,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVBstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -10322,10 +9680,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVBstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -10358,10 +9713,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -10400,10 +9752,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -10437,10 +9786,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -10479,10 +9825,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -10515,10 +9858,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHBRstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -10556,10 +9896,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHBRstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -10592,10 +9929,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHBRstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -10633,10 +9967,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool { v.reset(OpS390XMOVHBRstoreidx) v.AuxInt = i - 1 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -10665,8 +9996,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (MOVDaddridx [c] {s} x (ADDconst [d] y)) @@ -10687,8 +10017,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = c + d v.Aux = s - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (MOVDaddridx [off1] {sym1} (MOVDaddr [off2] {sym2} x) y) @@ -10710,8 +10039,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (MOVDaddridx [off1] {sym1} x (MOVDaddr [off2] {sym2} y)) @@ -10733,8 +10061,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool { v.reset(OpS390XMOVDaddridx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -10801,8 +10128,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool { v.reset(OpS390XMOVDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -10825,8 +10151,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool { v.reset(OpS390XMOVDload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVDload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -10849,9 +10174,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool { v.reset(OpS390XMOVDloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVDload [off] {sym} (ADD ptr idx) mem) @@ -10876,9 +10199,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool { v.reset(OpS390XMOVDloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10909,9 +10230,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx(v *Value) bool { v.reset(OpS390XMOVDloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10936,9 +10255,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx(v *Value) bool { v.reset(OpS390XMOVDloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -10968,9 +10285,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XMOVDstore) 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} ptr (MOVDconst [c]) mem) @@ -10991,8 +10306,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XMOVDstoreconst) v.AuxInt = makeValAndOff(c, off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -11016,9 +10330,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XMOVDstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVDstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -11042,10 +10354,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVDstore [off] {sym} (ADD ptr idx) val mem) @@ -11071,10 +10380,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -11102,10 +10408,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XSTMG2) v.AuxInt = i - 8 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(mem) + v.AddArg4(p, w0, w1, mem) return true } // match: (MOVDstore [i] {s} p w2 x:(STMG2 [i-16] {s} p w0 w1 mem)) @@ -11132,11 +10435,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XSTMG3) v.AuxInt = i - 16 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(mem) + v.AddArg5(p, w0, w1, w2, mem) return true } // match: (MOVDstore [i] {s} p w3 x:(STMG3 [i-24] {s} p w0 w1 w2 mem)) @@ -11164,12 +10463,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool { v.reset(OpS390XSTMG4) v.AuxInt = i - 24 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(w3) - v.AddArg(mem) + v.AddArg6(p, w0, w1, w2, w3, mem) return true } return false @@ -11195,8 +10489,7 @@ func rewriteValueS390X_OpS390XMOVDstoreconst(v *Value) bool { v.reset(OpS390XMOVDstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVDstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem) @@ -11218,8 +10511,7 @@ func rewriteValueS390X_OpS390XMOVDstoreconst(v *Value) bool { v.reset(OpS390XMOVDstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -11250,10 +10542,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -11279,10 +10568,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -11315,9 +10601,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool { v.reset(OpS390XMOVWBRstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVHBRstore [i] {s} p (SRDconst [j] w) x:(MOVHBRstore [i-2] {s} p w0:(SRDconst [j-16] w) mem)) @@ -11347,9 +10631,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool { v.reset(OpS390XMOVWBRstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVHBRstore [i] {s} p (SRWconst [16] w) x:(MOVHBRstore [i-2] {s} p w mem)) @@ -11374,9 +10656,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool { v.reset(OpS390XMOVWBRstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVHBRstore [i] {s} p (SRWconst [j] w) x:(MOVHBRstore [i-2] {s} p w0:(SRWconst [j-16] w) mem)) @@ -11406,9 +10686,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool { v.reset(OpS390XMOVWBRstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -11445,10 +10723,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool { v.reset(OpS390XMOVWBRstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -11486,10 +10761,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool { v.reset(OpS390XMOVWBRstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -11522,10 +10794,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool { v.reset(OpS390XMOVWBRstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -11563,10 +10832,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool { v.reset(OpS390XMOVWBRstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -11615,8 +10881,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool { v.reset(OpS390XMOVHZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHZload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -11639,8 +10904,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool { v.reset(OpS390XMOVHZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVHZload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -11663,9 +10927,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool { v.reset(OpS390XMOVHZloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHZload [off] {sym} (ADD ptr idx) mem) @@ -11690,9 +10952,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool { v.reset(OpS390XMOVHZloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -11723,9 +10983,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx(v *Value) bool { v.reset(OpS390XMOVHZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -11750,9 +11008,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx(v *Value) bool { v.reset(OpS390XMOVHZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -11933,8 +11189,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVHZreg x:(MOVHloadidx [o] {s} p i mem)) @@ -11960,9 +11215,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVHZreg x:(Arg )) @@ -12051,8 +11304,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool { v.reset(OpS390XMOVHload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -12075,8 +11327,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool { v.reset(OpS390XMOVHload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVHload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -12099,9 +11350,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool { v.reset(OpS390XMOVHloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVHload [off] {sym} (ADD ptr idx) mem) @@ -12126,9 +11375,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool { v.reset(OpS390XMOVHloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -12159,9 +11406,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx(v *Value) bool { v.reset(OpS390XMOVHloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -12186,9 +11431,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx(v *Value) bool { v.reset(OpS390XMOVHloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -12403,8 +11646,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVHreg x:(MOVHZloadidx [o] {s} p i mem)) @@ -12430,9 +11672,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVHreg x:(Arg )) @@ -12502,9 +11742,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstore) 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 (MOVHZreg x) mem) @@ -12521,9 +11759,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVHstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -12545,9 +11781,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstore) 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} ptr (MOVDconst [c]) mem) @@ -12568,8 +11802,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstoreconst) v.AuxInt = makeValAndOff(int64(int16(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -12593,9 +11826,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVHstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -12619,10 +11850,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVHstore [off] {sym} (ADD ptr idx) val mem) @@ -12648,10 +11876,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -12679,9 +11904,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVHstore [i] {s} p w0:(SRDconst [j] w) x:(MOVHstore [i-2] {s} p (SRDconst [j+16] w) mem)) @@ -12712,9 +11935,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVHstore [i] {s} p w x:(MOVHstore [i-2] {s} p (SRWconst [16] w) mem)) @@ -12740,9 +11961,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVHstore [i] {s} p w0:(SRWconst [j] w) x:(MOVHstore [i-2] {s} p (SRWconst [j+16] w) mem)) @@ -12773,9 +11992,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -12803,8 +12020,7 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool { v.reset(OpS390XMOVHstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem) @@ -12826,8 +12042,7 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool { v.reset(OpS390XMOVHstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVHstoreconst [c] {s} p x:(MOVHstoreconst [a] {s} p mem)) @@ -12852,11 +12067,9 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = int64(int32(ValAndOff(c).Val()&0xffff | ValAndOff(a).Val()<<16)) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } return false @@ -12887,10 +12100,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -12916,10 +12126,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVHstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -12952,10 +12159,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -12994,10 +12198,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -13031,10 +12232,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -13073,10 +12271,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = i - 2 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -13110,9 +12305,7 @@ func rewriteValueS390X_OpS390XMOVWBRstore(v *Value) bool { v.reset(OpS390XMOVDBRstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWBRstore [i] {s} p (SRDconst [j] w) x:(MOVWBRstore [i-4] {s} p w0:(SRDconst [j-32] w) mem)) @@ -13142,9 +12335,7 @@ func rewriteValueS390X_OpS390XMOVWBRstore(v *Value) bool { v.reset(OpS390XMOVDBRstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } return false @@ -13181,10 +12372,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx(v *Value) bool { v.reset(OpS390XMOVDBRstoreidx) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -13222,10 +12410,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx(v *Value) bool { v.reset(OpS390XMOVDBRstoreidx) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -13274,8 +12459,7 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool { v.reset(OpS390XMOVWZload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWZload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -13298,8 +12482,7 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool { v.reset(OpS390XMOVWZload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWZload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -13322,9 +12505,7 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool { v.reset(OpS390XMOVWZloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWZload [off] {sym} (ADD ptr idx) mem) @@ -13349,9 +12530,7 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool { v.reset(OpS390XMOVWZloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13382,9 +12561,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx(v *Value) bool { v.reset(OpS390XMOVWZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13409,9 +12586,7 @@ func rewriteValueS390X_OpS390XMOVWZloadidx(v *Value) bool { v.reset(OpS390XMOVWZloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13609,8 +12784,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVWZreg x:(MOVWloadidx [o] {s} p i mem)) @@ -13636,9 +12810,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVWZreg x:(Arg )) @@ -13712,8 +12884,7 @@ func rewriteValueS390X_OpS390XMOVWload(v *Value) bool { v.reset(OpS390XMOVWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem) @@ -13736,8 +12907,7 @@ func rewriteValueS390X_OpS390XMOVWload(v *Value) bool { v.reset(OpS390XMOVWload) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(mem) + v.AddArg2(base, mem) return true } // match: (MOVWload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem) @@ -13760,9 +12930,7 @@ func rewriteValueS390X_OpS390XMOVWload(v *Value) bool { v.reset(OpS390XMOVWloadidx) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } // match: (MOVWload [off] {sym} (ADD ptr idx) mem) @@ -13787,9 +12955,7 @@ func rewriteValueS390X_OpS390XMOVWload(v *Value) bool { v.reset(OpS390XMOVWloadidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13820,9 +12986,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx(v *Value) bool { v.reset(OpS390XMOVWloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -13847,9 +13011,7 @@ func rewriteValueS390X_OpS390XMOVWloadidx(v *Value) bool { v.reset(OpS390XMOVWloadidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(mem) + v.AddArg3(ptr, idx, mem) return true } break @@ -14115,8 +13277,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } // match: (MOVWreg x:(MOVWZloadidx [o] {s} p i mem)) @@ -14142,9 +13303,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value) bool { v.AddArg(v0) v0.AuxInt = o v0.Aux = s - v0.AddArg(p) - v0.AddArg(i) - v0.AddArg(mem) + v0.AddArg3(p, i, mem) return true } // match: (MOVWreg x:(Arg )) @@ -14195,9 +13354,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstore) 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 (MOVWZreg x) mem) @@ -14214,9 +13371,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(ptr, x, mem) return true } // match: (MOVWstore [off1] {sym} (ADDconst [off2] ptr) val mem) @@ -14238,9 +13393,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstore) 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} ptr (MOVDconst [c]) mem) @@ -14261,8 +13414,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstoreconst) v.AuxInt = makeValAndOff(int64(int32(c)), off) v.Aux = sym - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem) @@ -14286,9 +13438,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstore) v.AuxInt = off1 + off2 v.Aux = mergeSym(sym1, sym2) - v.AddArg(base) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(base, val, mem) return true } // match: (MOVWstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem) @@ -14311,11 +13461,8 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { } v.reset(OpS390XMOVWstoreidx) v.AuxInt = off1 + off2 - v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.Aux = mergeSym(sym1, sym2) + v.AddArg4(ptr, idx, val, mem) return true } // match: (MOVWstore [off] {sym} (ADD ptr idx) val mem) @@ -14341,10 +13488,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = off v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -14371,9 +13515,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVDstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w) - v.AddArg(mem) + v.AddArg3(p, w, mem) return true } // match: (MOVWstore [i] {s} p w0:(SRDconst [j] w) x:(MOVWstore [i-4] {s} p (SRDconst [j+32] w) mem)) @@ -14404,9 +13546,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XMOVDstore) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg3(p, w0, mem) return true } // match: (MOVWstore [i] {s} p w1 x:(MOVWstore [i-4] {s} p w0 mem)) @@ -14432,10 +13572,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XSTM2) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(mem) + v.AddArg4(p, w0, w1, mem) return true } // match: (MOVWstore [i] {s} p w2 x:(STM2 [i-8] {s} p w0 w1 mem)) @@ -14462,11 +13599,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XSTM3) v.AuxInt = i - 8 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(mem) + v.AddArg5(p, w0, w1, w2, mem) return true } // match: (MOVWstore [i] {s} p w3 x:(STM3 [i-12] {s} p w0 w1 w2 mem)) @@ -14494,12 +13627,7 @@ func rewriteValueS390X_OpS390XMOVWstore(v *Value) bool { v.reset(OpS390XSTM4) v.AuxInt = i - 12 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(w3) - v.AddArg(mem) + v.AddArg6(p, w0, w1, w2, w3, mem) return true } return false @@ -14527,8 +13655,7 @@ func rewriteValueS390X_OpS390XMOVWstoreconst(v *Value) bool { v.reset(OpS390XMOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = s - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem) @@ -14550,8 +13677,7 @@ func rewriteValueS390X_OpS390XMOVWstoreconst(v *Value) bool { v.reset(OpS390XMOVWstoreconst) v.AuxInt = ValAndOff(sc).add(off) v.Aux = mergeSym(sym1, sym2) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (MOVWstoreconst [c] {s} p x:(MOVWstoreconst [a] {s} p mem)) @@ -14576,11 +13702,9 @@ func rewriteValueS390X_OpS390XMOVWstoreconst(v *Value) bool { v.reset(OpS390XMOVDstore) v.AuxInt = ValAndOff(a).Off() v.Aux = s - v.AddArg(p) v0 := b.NewValue0(x.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = ValAndOff(c).Val()&0xffffffff | ValAndOff(a).Val()<<32 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(p, v0, mem) return true } return false @@ -14611,10 +13735,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -14640,10 +13761,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx(v *Value) bool { v.reset(OpS390XMOVWstoreidx) v.AuxInt = c + d v.Aux = sym - v.AddArg(ptr) - v.AddArg(idx) - v.AddArg(val) - v.AddArg(mem) + v.AddArg4(ptr, idx, val, mem) return true } break @@ -14676,10 +13794,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w) - v.AddArg(mem) + v.AddArg4(p, idx, w, mem) return true } } @@ -14718,10 +13833,7 @@ func rewriteValueS390X_OpS390XMOVWstoreidx(v *Value) bool { v.reset(OpS390XMOVDstoreidx) v.AuxInt = i - 4 v.Aux = s - v.AddArg(p) - v.AddArg(idx) - v.AddArg(w0) - v.AddArg(mem) + v.AddArg4(p, idx, w0, mem) return true } } @@ -14774,9 +13886,7 @@ func rewriteValueS390X_OpS390XMULLD(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -14846,8 +13956,7 @@ func rewriteValueS390X_OpS390XMULLDconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSLDconst, v.Type) v0.AuxInt = log2(c + 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLDconst [c] x) @@ -14863,8 +13972,7 @@ func rewriteValueS390X_OpS390XMULLDconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSLDconst, v.Type) v0.AuxInt = log2(c - 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLDconst [c] (MOVDconst [d])) @@ -14905,10 +14013,9 @@ func rewriteValueS390X_OpS390XMULLDload(v *Value) bool { break } v.reset(OpS390XMULLD) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (MULLDload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -14930,9 +14037,7 @@ func rewriteValueS390X_OpS390XMULLDload(v *Value) bool { v.reset(OpS390XMULLDload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (MULLDload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -14955,9 +14060,7 @@ func rewriteValueS390X_OpS390XMULLDload(v *Value) bool { v.reset(OpS390XMULLDload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -15003,9 +14106,7 @@ func rewriteValueS390X_OpS390XMULLW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -15032,9 +14133,7 @@ func rewriteValueS390X_OpS390XMULLW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -15104,8 +14203,7 @@ func rewriteValueS390X_OpS390XMULLWconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSLWconst, v.Type) v0.AuxInt = log2(c + 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLWconst [c] x) @@ -15121,8 +14219,7 @@ func rewriteValueS390X_OpS390XMULLWconst(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSLWconst, v.Type) v0.AuxInt = log2(c - 1) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (MULLWconst [c] (MOVDconst [d])) @@ -15162,9 +14259,7 @@ func rewriteValueS390X_OpS390XMULLWload(v *Value) bool { v.reset(OpS390XMULLWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (MULLWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -15187,9 +14282,7 @@ func rewriteValueS390X_OpS390XMULLWload(v *Value) bool { v.reset(OpS390XMULLWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -15256,8 +14349,7 @@ func rewriteValueS390X_OpS390XNOT(v *Value) bool { v.reset(OpS390XXOR) v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v0.AuxInt = -1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -15367,8 +14459,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { y := v_1_0.Args[0] v.reset(OpS390XLGDR) v0 := b.NewValue0(v.Pos, OpS390XCPSDR, t) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15402,8 +14493,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XCPSDR, x.Type) v1 := b.NewValue0(v.Pos, OpS390XFMOVDconst, x.Type) v1.AuxInt = c - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -15435,8 +14525,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { y := v_1_0.Args[0] v.reset(OpS390XLGDR) v0 := b.NewValue0(v.Pos, OpS390XCPSDR, t) - v0.AddArg(y) - v0.AddArg(x) + v0.AddArg2(y, x) v.AddArg(v0) return true } @@ -15470,8 +14559,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XCPSDR, x.Type) v1 := b.NewValue0(v.Pos, OpS390XFMOVDconst, x.Type) v1.AuxInt = c - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -15530,9 +14618,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -15572,8 +14658,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -15613,8 +14698,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -15654,8 +14738,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -15716,11 +14799,9 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v2 := b.NewValue0(x1.Pos, OpS390XMOVHZload, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -15782,11 +14863,9 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v2 := b.NewValue0(x1.Pos, OpS390XMOVWZload, typ.UInt32) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -15834,9 +14913,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -15885,9 +14962,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -15936,9 +15011,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -16008,12 +15081,9 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v2 := b.NewValue0(v.Pos, OpS390XMOVHZloadidx, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16084,12 +15154,9 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v2 := b.NewValue0(v.Pos, OpS390XMOVWZloadidx, typ.UInt32) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16133,8 +15200,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v1 := b.NewValue0(x1.Pos, OpS390XMOVHBRload, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -16184,8 +15250,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v1 := b.NewValue0(x1.Pos, OpS390XMOVWBRload, typ.UInt32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -16234,8 +15299,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -16297,12 +15361,10 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v3 := b.NewValue0(x0.Pos, OpS390XMOVHBRload, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16373,12 +15435,10 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v3 := b.NewValue0(x0.Pos, OpS390XMOVWBRload, typ.UInt32) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16427,9 +15487,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XMOVHBRloadidx, typ.Int16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -16488,9 +15546,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XMOVWBRloadidx, typ.Int32) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -16548,9 +15604,7 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -16621,13 +15675,10 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v3 := b.NewValue0(v.Pos, OpS390XMOVHBRloadidx, typ.Int16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16707,13 +15758,10 @@ func rewriteValueS390X_OpS390XOR(v *Value) bool { v3 := b.NewValue0(v.Pos, OpS390XMOVWBRloadidx, typ.Int32) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -16802,9 +15850,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -16831,9 +15877,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -16873,8 +15917,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -16914,8 +15957,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -16976,11 +16018,9 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v2 := b.NewValue0(x1.Pos, OpS390XMOVHZload, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(mem) + v2.AddArg2(p, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -17028,9 +16068,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -17079,9 +16117,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -17151,12 +16187,9 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v2 := b.NewValue0(v.Pos, OpS390XMOVHZloadidx, typ.UInt16) v2.AuxInt = i0 v2.Aux = s - v2.AddArg(p) - v2.AddArg(idx) - v2.AddArg(mem) + v2.AddArg3(p, idx, mem) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -17200,8 +16233,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v1 := b.NewValue0(x1.Pos, OpS390XMOVHBRload, typ.UInt16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(mem) + v1.AddArg2(p, mem) v0.AddArg(v1) return true } @@ -17250,8 +16282,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(mem) + v0.AddArg2(p, mem) return true } break @@ -17313,12 +16344,10 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v3 := b.NewValue0(x0.Pos, OpS390XMOVHBRload, typ.UInt16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(mem) + v3.AddArg2(p, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -17367,9 +16396,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XMOVHBRloadidx, typ.Int16) v1.AuxInt = i0 v1.Aux = s - v1.AddArg(p) - v1.AddArg(idx) - v1.AddArg(mem) + v1.AddArg3(p, idx, mem) v0.AddArg(v1) return true } @@ -17427,9 +16454,7 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v.AddArg(v0) v0.AuxInt = i0 v0.Aux = s - v0.AddArg(p) - v0.AddArg(idx) - v0.AddArg(mem) + v0.AddArg3(p, idx, mem) return true } } @@ -17500,13 +16525,10 @@ func rewriteValueS390X_OpS390XORW(v *Value) bool { v3 := b.NewValue0(v.Pos, OpS390XMOVHBRloadidx, typ.Int16) v3.AuxInt = i0 v3.Aux = s - v3.AddArg(p) - v3.AddArg(idx) - v3.AddArg(mem) + v3.AddArg3(p, idx, mem) v2.AddArg(v3) v1.AddArg(v2) - v0.AddArg(v1) - v0.AddArg(y) + v0.AddArg2(v1, y) return true } } @@ -17581,9 +16603,7 @@ func rewriteValueS390X_OpS390XORWload(v *Value) bool { v.reset(OpS390XORWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ORWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -17606,9 +16626,7 @@ func rewriteValueS390X_OpS390XORWload(v *Value) bool { v.reset(OpS390XORWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -17675,10 +16693,9 @@ func rewriteValueS390X_OpS390XORload(v *Value) bool { break } v.reset(OpS390XOR) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (ORload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -17700,9 +16717,7 @@ func rewriteValueS390X_OpS390XORload(v *Value) bool { v.reset(OpS390XORload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (ORload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -17725,9 +16740,7 @@ func rewriteValueS390X_OpS390XORload(v *Value) bool { v.reset(OpS390XORload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -17803,11 +16816,10 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSLD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -17826,8 +16838,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { break } v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVWreg y)) @@ -17839,8 +16850,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVHreg y)) @@ -17852,8 +16862,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVBreg y)) @@ -17865,8 +16874,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVWZreg y)) @@ -17878,8 +16886,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVHZreg y)) @@ -17891,8 +16898,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLD x (MOVBZreg y)) @@ -17904,8 +16910,7 @@ func rewriteValueS390X_OpS390XSLD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -17945,11 +16950,10 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSLW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -17968,8 +16972,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { break } v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVWreg y)) @@ -17981,8 +16984,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVHreg y)) @@ -17994,8 +16996,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVBreg y)) @@ -18007,8 +17008,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVWZreg y)) @@ -18020,8 +17020,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVHZreg y)) @@ -18033,8 +17032,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SLW x (MOVBZreg y)) @@ -18046,8 +17044,7 @@ func rewriteValueS390X_OpS390XSLW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSLW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -18087,11 +17084,10 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSRAD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -18110,8 +17106,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { break } v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVWreg y)) @@ -18123,8 +17118,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVHreg y)) @@ -18136,8 +17130,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVBreg y)) @@ -18149,8 +17142,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVWZreg y)) @@ -18162,8 +17154,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVHZreg y)) @@ -18175,8 +17166,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAD x (MOVBZreg y)) @@ -18188,8 +17178,7 @@ func rewriteValueS390X_OpS390XSRAD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -18245,11 +17234,10 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSRAW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -18268,8 +17256,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { break } v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVWreg y)) @@ -18281,8 +17268,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVHreg y)) @@ -18294,8 +17280,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVBreg y)) @@ -18307,8 +17292,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVWZreg y)) @@ -18320,8 +17304,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVHZreg y)) @@ -18333,8 +17316,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRAW x (MOVBZreg y)) @@ -18346,8 +17328,7 @@ func rewriteValueS390X_OpS390XSRAW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRAW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -18403,11 +17384,10 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSRD) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -18426,8 +17406,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { break } v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVWreg y)) @@ -18439,8 +17418,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVHreg y)) @@ -18452,8 +17430,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVBreg y)) @@ -18465,8 +17442,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVWZreg y)) @@ -18478,8 +17454,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVHZreg y)) @@ -18491,8 +17466,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRD x (MOVBZreg y)) @@ -18504,8 +17478,7 @@ func rewriteValueS390X_OpS390XSRD(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRD) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -18569,11 +17542,10 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { c := v_1_0.AuxInt y := v_1_1 v.reset(OpS390XSRW) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpS390XANDWconst, typ.UInt32) v0.AuxInt = c & 63 v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } break @@ -18592,8 +17564,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { break } v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVWreg y)) @@ -18605,8 +17576,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVHreg y)) @@ -18618,8 +17588,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVBreg y)) @@ -18631,8 +17600,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVWZreg y)) @@ -18644,8 +17612,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVHZreg y)) @@ -18657,8 +17624,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SRW x (MOVBZreg y)) @@ -18670,8 +17636,7 @@ func rewriteValueS390X_OpS390XSRW(v *Value) bool { } y := v_1.Args[0] v.reset(OpS390XSRW) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } return false @@ -18706,12 +17671,7 @@ func rewriteValueS390X_OpS390XSTM2(v *Value) bool { v.reset(OpS390XSTM4) v.AuxInt = i - 8 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(w3) - v.AddArg(mem) + v.AddArg6(p, w0, w1, w2, w3, mem) return true } // match: (STM2 [i] {s} p (SRDconst [32] x) x mem) @@ -18731,9 +17691,7 @@ func rewriteValueS390X_OpS390XSTM2(v *Value) bool { v.reset(OpS390XMOVDstore) v.AuxInt = i v.Aux = s - v.AddArg(p) - v.AddArg(x) - v.AddArg(mem) + v.AddArg3(p, x, mem) return true } return false @@ -18768,12 +17726,7 @@ func rewriteValueS390X_OpS390XSTMG2(v *Value) bool { v.reset(OpS390XSTMG4) v.AuxInt = i - 16 v.Aux = s - v.AddArg(p) - v.AddArg(w0) - v.AddArg(w1) - v.AddArg(w2) - v.AddArg(w3) - v.AddArg(mem) + v.AddArg6(p, w0, w1, w2, w3, mem) return true } return false @@ -18850,9 +17803,7 @@ func rewriteValueS390X_OpS390XSUB(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -18870,8 +17821,7 @@ func rewriteValueS390X_OpS390XSUBE(v *Value) bool { break } v.reset(OpS390XSUBC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBE x y (FlagOV)) @@ -18883,8 +17833,7 @@ func rewriteValueS390X_OpS390XSUBE(v *Value) bool { break } v.reset(OpS390XSUBC) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (SUBE x y (Select1 (SUBC (MOVDconst [0]) (NEG (Select0 (SUBE (MOVDconst [0]) (MOVDconst [0]) c)))))) @@ -18926,9 +17875,7 @@ func rewriteValueS390X_OpS390XSUBE(v *Value) bool { break } v.reset(OpS390XSUBE) - v.AddArg(x) - v.AddArg(y) - v.AddArg(c) + v.AddArg3(x, y, c) return true } return false @@ -18997,9 +17944,7 @@ func rewriteValueS390X_OpS390XSUBW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (SUBW x g:(MOVWZload [off] {sym} ptr mem)) @@ -19023,9 +17968,7 @@ func rewriteValueS390X_OpS390XSUBW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -19080,9 +18023,7 @@ func rewriteValueS390X_OpS390XSUBWload(v *Value) bool { v.reset(OpS390XSUBWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (SUBWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -19105,9 +18046,7 @@ func rewriteValueS390X_OpS390XSUBWload(v *Value) bool { v.reset(OpS390XSUBWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -19196,10 +18135,9 @@ func rewriteValueS390X_OpS390XSUBload(v *Value) bool { break } v.reset(OpS390XSUB) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (SUBload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -19221,9 +18159,7 @@ func rewriteValueS390X_OpS390XSUBload(v *Value) bool { v.reset(OpS390XSUBload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (SUBload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -19246,9 +18182,7 @@ func rewriteValueS390X_OpS390XSUBload(v *Value) bool { v.reset(OpS390XSUBload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -19265,8 +18199,7 @@ func rewriteValueS390X_OpS390XSumBytes2(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XSRWconst, typ.UInt8) v0.AuxInt = 8 v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -19283,8 +18216,7 @@ func rewriteValueS390X_OpS390XSumBytes4(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XSRWconst, typ.UInt16) v1.AuxInt = 16 v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -19302,8 +18234,7 @@ func rewriteValueS390X_OpS390XSumBytes8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XSRDconst, typ.UInt32) v1.AuxInt = 32 v1.AddArg(x) - v0.AddArg(v1) - v0.AddArg(x) + v0.AddArg2(v1, x) v.AddArg(v0) return true } @@ -19406,9 +18337,7 @@ func rewriteValueS390X_OpS390XXOR(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -19491,9 +18420,7 @@ func rewriteValueS390X_OpS390XXORW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -19520,9 +18447,7 @@ func rewriteValueS390X_OpS390XXORW(v *Value) bool { v.Type = t v.AuxInt = off v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } break @@ -19582,9 +18507,7 @@ func rewriteValueS390X_OpS390XXORWload(v *Value) bool { v.reset(OpS390XXORWload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (XORWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -19607,9 +18530,7 @@ func rewriteValueS390X_OpS390XXORWload(v *Value) bool { v.reset(OpS390XXORWload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -19666,10 +18587,9 @@ func rewriteValueS390X_OpS390XXORload(v *Value) bool { break } v.reset(OpS390XXOR) - v.AddArg(x) v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (XORload [off1] {sym} x (ADDconst [off2] ptr) mem) @@ -19691,9 +18611,7 @@ func rewriteValueS390X_OpS390XXORload(v *Value) bool { v.reset(OpS390XXORload) v.AuxInt = off1 + off2 v.Aux = sym - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } // match: (XORload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem) @@ -19716,9 +18634,7 @@ func rewriteValueS390X_OpS390XXORload(v *Value) bool { v.reset(OpS390XXORload) v.AuxInt = o1 + o2 v.Aux = mergeSym(s1, s2) - v.AddArg(x) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg3(x, ptr, mem) return true } return false @@ -19739,14 +18655,12 @@ func rewriteValueS390X_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpS390XADDE, 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, OpS390XADDCconst, 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 } @@ -19762,16 +18676,13 @@ func rewriteValueS390X_OpSelect0(v *Value) bool { v.reset(OpSelect0) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpS390XSUBE, 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, OpS390XSUBC, types.NewTuple(typ.UInt64, types.TypeFlags)) v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = 0 - v2.AddArg(v3) - v2.AddArg(c) + v2.AddArg2(v3, c) v1.AddArg(v2) - v0.AddArg(v1) + v0.AddArg3(x, y, v1) v.AddArg(v0) return true } @@ -19785,10 +18696,9 @@ func rewriteValueS390X_OpSelect0(v *Value) bool { tuple := v_0.Args[1] val := v_0.Args[0] v.reset(OpS390XADDW) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpSelect0, t) v0.AddArg(tuple) - v.AddArg(v0) + v.AddArg2(val, v0) return true } // match: (Select0 (AddTupleFirst64 val tuple)) @@ -19801,10 +18711,9 @@ func rewriteValueS390X_OpSelect0(v *Value) bool { tuple := v_0.Args[1] val := v_0.Args[0] v.reset(OpS390XADD) - v.AddArg(val) v0 := b.NewValue0(v.Pos, OpSelect0, t) v0.AddArg(tuple) - v.AddArg(v0) + v.AddArg2(val, v0) return true } // match: (Select0 (ADDCconst (MOVDconst [c]) [d])) @@ -19864,22 +18773,18 @@ func rewriteValueS390X_OpSelect1(v *Value) bool { v0 := b.NewValue0(v.Pos, OpS390XADDE, types.NewTuple(typ.UInt64, types.TypeFlags)) v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v1.AuxInt = 0 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v4 := b.NewValue0(v.Pos, OpS390XADDE, types.NewTuple(typ.UInt64, types.TypeFlags)) - v4.AddArg(x) - v4.AddArg(y) v5 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v6 := b.NewValue0(v.Pos, OpS390XADDCconst, types.NewTuple(typ.UInt64, types.TypeFlags)) v6.AuxInt = -1 v6.AddArg(c) v5.AddArg(v6) - v4.AddArg(v5) + v4.AddArg3(x, y, v5) v3.AddArg(v4) - v0.AddArg(v3) + v0.AddArg3(v1, v2, v3) v.AddArg(v0) return true } @@ -19897,24 +18802,19 @@ func rewriteValueS390X_OpSelect1(v *Value) bool { v1 := b.NewValue0(v.Pos, OpS390XSUBE, types.NewTuple(typ.UInt64, types.TypeFlags)) v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v3.AuxInt = 0 - v1.AddArg(v3) v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v5 := b.NewValue0(v.Pos, OpS390XSUBE, types.NewTuple(typ.UInt64, types.TypeFlags)) - v5.AddArg(x) - v5.AddArg(y) v6 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v7 := b.NewValue0(v.Pos, OpS390XSUBC, types.NewTuple(typ.UInt64, types.TypeFlags)) v8 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64) v8.AuxInt = 0 - v7.AddArg(v8) - v7.AddArg(c) + v7.AddArg2(v8, c) v6.AddArg(v7) - v5.AddArg(v6) + v5.AddArg3(x, y, v6) v4.AddArg(v5) - v1.AddArg(v4) + v1.AddArg3(v2, v3, v4) v0.AddArg(v1) v.AddArg(v0) return true @@ -20061,9 +18961,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XFMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -20078,9 +18976,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XFMOVSstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -20095,9 +18991,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XMOVDstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -20112,9 +19006,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XMOVWstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -20129,9 +19021,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XMOVHstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -20146,9 +19036,7 @@ func rewriteValueS390X_OpStore(v *Value) bool { break } v.reset(OpS390XMOVBstore) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -20191,8 +19079,7 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVBstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [2] destptr mem) @@ -20205,8 +19092,7 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVHstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [4] destptr mem) @@ -20219,8 +19105,7 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVWstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [8] destptr mem) @@ -20233,8 +19118,7 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVDstoreconst) v.AuxInt = 0 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [3] destptr mem) @@ -20247,12 +19131,10 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVBstoreconst) v.AuxInt = makeValAndOff(0, 2) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpS390XMOVHstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [5] destptr mem) @@ -20265,12 +19147,10 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVBstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [6] destptr mem) @@ -20283,12 +19163,10 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVHstoreconst) v.AuxInt = makeValAndOff(0, 4) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [7] destptr mem) @@ -20301,12 +19179,10 @@ func rewriteValueS390X_OpZero(v *Value) bool { mem := v_1 v.reset(OpS390XMOVWstoreconst) v.AuxInt = makeValAndOff(0, 3) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, types.TypeMem) v0.AuxInt = 0 - v0.AddArg(destptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(destptr, mem) + v.AddArg2(destptr, v0) return true } // match: (Zero [s] destptr mem) @@ -20321,8 +19197,7 @@ func rewriteValueS390X_OpZero(v *Value) bool { } v.reset(OpS390XCLEAR) v.AuxInt = makeValAndOff(s, 0) - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } // match: (Zero [s] destptr mem) @@ -20337,12 +19212,10 @@ func rewriteValueS390X_OpZero(v *Value) bool { } v.reset(OpS390XLoweredZero) v.AuxInt = s % 256 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpS390XADDconst, destptr.Type) v0.AuxInt = (s / 256) * 256 v0.AddArg(destptr) - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } return false diff --git a/src/cmd/compile/internal/ssa/rewriteWasm.go b/src/cmd/compile/internal/ssa/rewriteWasm.go index 90701067ce..81acd7e7c4 100644 --- a/src/cmd/compile/internal/ssa/rewriteWasm.go +++ b/src/cmd/compile/internal/ssa/rewriteWasm.go @@ -685,10 +685,9 @@ func rewriteValueWasm_OpBitLen64(v *Value) bool { v.reset(OpWasmI64Sub) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 64 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Clz, typ.Int64) v1.AddArg(x) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -701,10 +700,9 @@ func rewriteValueWasm_OpCom16(v *Value) bool { for { x := v_0 v.reset(OpWasmI64Xor) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = -1 - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -717,10 +715,9 @@ func rewriteValueWasm_OpCom32(v *Value) bool { for { x := v_0 v.reset(OpWasmI64Xor) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = -1 - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -733,10 +730,9 @@ func rewriteValueWasm_OpCom64(v *Value) bool { for { x := v_0 v.reset(OpWasmI64Xor) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = -1 - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -749,10 +745,9 @@ func rewriteValueWasm_OpCom8(v *Value) bool { for { x := v_0 v.reset(OpWasmI64Xor) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = -1 - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -775,10 +770,9 @@ func rewriteValueWasm_OpCtz16(v *Value) bool { x := v_0 v.reset(OpWasmI64Ctz) v0 := b.NewValue0(v.Pos, OpWasmI64Or, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0x10000 - v0.AddArg(v1) + v0.AddArg2(x, v1) v.AddArg(v0) return true } @@ -793,10 +787,9 @@ func rewriteValueWasm_OpCtz32(v *Value) bool { x := v_0 v.reset(OpWasmI64Ctz) v0 := b.NewValue0(v.Pos, OpWasmI64Or, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0x100000000 - v0.AddArg(v1) + v0.AddArg2(x, v1) v.AddArg(v0) return true } @@ -811,10 +804,9 @@ func rewriteValueWasm_OpCtz8(v *Value) bool { x := v_0 v.reset(OpWasmI64Ctz) v0 := b.NewValue0(v.Pos, OpWasmI64Or, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0x100 - v0.AddArg(v1) + v0.AddArg2(x, v1) v.AddArg(v0) return true } @@ -892,10 +884,9 @@ func rewriteValueWasm_OpDiv16(v *Value) bool { v.reset(OpWasmI64DivS) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -912,10 +903,9 @@ func rewriteValueWasm_OpDiv16u(v *Value) bool { v.reset(OpWasmI64DivU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -932,10 +922,9 @@ func rewriteValueWasm_OpDiv32(v *Value) bool { v.reset(OpWasmI64DivS) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -952,10 +941,9 @@ func rewriteValueWasm_OpDiv32u(v *Value) bool { v.reset(OpWasmI64DivU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -972,10 +960,9 @@ func rewriteValueWasm_OpDiv8(v *Value) bool { v.reset(OpWasmI64DivS) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -992,10 +979,9 @@ func rewriteValueWasm_OpDiv8u(v *Value) bool { v.reset(OpWasmI64DivU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1012,10 +998,9 @@ func rewriteValueWasm_OpEq16(v *Value) bool { v.reset(OpWasmI64Eq) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1032,10 +1017,9 @@ func rewriteValueWasm_OpEq32(v *Value) bool { v.reset(OpWasmI64Eq) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1052,10 +1036,9 @@ func rewriteValueWasm_OpEq8(v *Value) bool { v.reset(OpWasmI64Eq) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1087,10 +1070,9 @@ func rewriteValueWasm_OpLeq16(v *Value) bool { v.reset(OpWasmI64LeS) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1107,10 +1089,9 @@ func rewriteValueWasm_OpLeq16U(v *Value) bool { v.reset(OpWasmI64LeU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1127,10 +1108,9 @@ func rewriteValueWasm_OpLeq32(v *Value) bool { v.reset(OpWasmI64LeS) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1147,10 +1127,9 @@ func rewriteValueWasm_OpLeq32U(v *Value) bool { v.reset(OpWasmI64LeU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1167,10 +1146,9 @@ func rewriteValueWasm_OpLeq8(v *Value) bool { v.reset(OpWasmI64LeS) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1187,10 +1165,9 @@ func rewriteValueWasm_OpLeq8U(v *Value) bool { v.reset(OpWasmI64LeU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1207,10 +1184,9 @@ func rewriteValueWasm_OpLess16(v *Value) bool { v.reset(OpWasmI64LtS) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1227,10 +1203,9 @@ func rewriteValueWasm_OpLess16U(v *Value) bool { v.reset(OpWasmI64LtU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1247,10 +1222,9 @@ func rewriteValueWasm_OpLess32(v *Value) bool { v.reset(OpWasmI64LtS) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1267,10 +1241,9 @@ func rewriteValueWasm_OpLess32U(v *Value) bool { v.reset(OpWasmI64LtU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1287,10 +1260,9 @@ func rewriteValueWasm_OpLess8(v *Value) bool { v.reset(OpWasmI64LtS) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1307,10 +1279,9 @@ func rewriteValueWasm_OpLess8U(v *Value) bool { v.reset(OpWasmI64LtU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1328,8 +1299,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmF32Load) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1343,8 +1313,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmF64Load) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1358,8 +1327,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1373,8 +1341,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load32U) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1388,8 +1355,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load32S) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1403,8 +1369,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load16U) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1418,8 +1383,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load16S) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1433,8 +1397,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load8U) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (Load ptr mem) @@ -1448,8 +1411,7 @@ func rewriteValueWasm_OpLoad(v *Value) bool { break } v.reset(OpWasmI64Load8S) - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -1480,10 +1442,9 @@ func rewriteValueWasm_OpLsh16x16(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1500,10 +1461,9 @@ func rewriteValueWasm_OpLsh16x32(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1520,10 +1480,9 @@ func rewriteValueWasm_OpLsh16x8(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1540,10 +1499,9 @@ func rewriteValueWasm_OpLsh32x16(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1560,10 +1518,9 @@ func rewriteValueWasm_OpLsh32x32(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1580,10 +1537,9 @@ func rewriteValueWasm_OpLsh32x8(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1600,10 +1556,9 @@ func rewriteValueWasm_OpLsh64x16(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1620,10 +1575,9 @@ func rewriteValueWasm_OpLsh64x32(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1642,8 +1596,7 @@ func rewriteValueWasm_OpLsh64x64(v *Value) bool { break } v.reset(OpWasmI64Shl) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Lsh64x64 x (I64Const [c])) @@ -1659,10 +1612,9 @@ func rewriteValueWasm_OpLsh64x64(v *Value) bool { break } v.reset(OpWasmI64Shl) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = c - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x64 x (I64Const [c])) @@ -1687,18 +1639,14 @@ func rewriteValueWasm_OpLsh64x64(v *Value) bool { y := v_1 v.reset(OpWasmSelect) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpWasmI64LtU, typ.Bool) - v2.AddArg(y) v3 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v3.AuxInt = 64 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(y, v3) + v.AddArg3(v0, v1, v2) return true } } @@ -1715,10 +1663,9 @@ func rewriteValueWasm_OpLsh64x8(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1735,10 +1682,9 @@ func rewriteValueWasm_OpLsh8x16(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1755,10 +1701,9 @@ func rewriteValueWasm_OpLsh8x32(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1775,10 +1720,9 @@ func rewriteValueWasm_OpLsh8x8(v *Value) bool { y := v_1 v.reset(OpLsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -1795,10 +1739,9 @@ func rewriteValueWasm_OpMod16(v *Value) bool { v.reset(OpWasmI64RemS) v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1815,10 +1758,9 @@ func rewriteValueWasm_OpMod16u(v *Value) bool { v.reset(OpWasmI64RemU) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1835,10 +1777,9 @@ func rewriteValueWasm_OpMod32(v *Value) bool { v.reset(OpWasmI64RemS) v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1855,10 +1796,9 @@ func rewriteValueWasm_OpMod32u(v *Value) bool { v.reset(OpWasmI64RemU) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1875,10 +1815,9 @@ func rewriteValueWasm_OpMod8(v *Value) bool { v.reset(OpWasmI64RemS) v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1895,10 +1834,9 @@ func rewriteValueWasm_OpMod8u(v *Value) bool { v.reset(OpWasmI64RemU) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -1930,12 +1868,9 @@ func rewriteValueWasm_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpWasmI64Store8) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load8U, 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) @@ -1948,12 +1883,9 @@ func rewriteValueWasm_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpWasmI64Store16) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load16U, 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) @@ -1966,12 +1898,9 @@ func rewriteValueWasm_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpWasmI64Store32) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load32U, 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) @@ -1984,12 +1913,9 @@ func rewriteValueWasm_OpMove(v *Value) bool { src := v_1 mem := v_2 v.reset(OpWasmI64Store) - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load, 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 [16] dst src mem) @@ -2003,20 +1929,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { mem := v_2 v.reset(OpWasmI64Store) v.AuxInt = 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64) v0.AuxInt = 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load, 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 [3] dst src mem) @@ -2030,20 +1950,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { mem := v_2 v.reset(OpWasmI64Store8) v.AuxInt = 2 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load8U, typ.UInt8) v0.AuxInt = 2 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store16, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load16U, 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) @@ -2057,20 +1971,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { mem := v_2 v.reset(OpWasmI64Store8) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load8U, typ.UInt8) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load32U, 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) @@ -2084,20 +1992,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { mem := v_2 v.reset(OpWasmI64Store16) v.AuxInt = 4 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load16U, typ.UInt16) v0.AuxInt = 4 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load32U, 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) @@ -2111,20 +2013,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { mem := v_2 v.reset(OpWasmI64Store32) v.AuxInt = 3 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load32U, typ.UInt32) v0.AuxInt = 3 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load32U, 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 [s] dst src mem) @@ -2140,20 +2036,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { } v.reset(OpWasmI64Store) v.AuxInt = s - 8 - v.AddArg(dst) v0 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64) v0.AuxInt = s - 8 - v0.AddArg(src) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(src, mem) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v1.AddArg(dst) v2 := b.NewValue0(v.Pos, OpWasmI64Load, 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 [s] dst src mem) @@ -2172,19 +2062,14 @@ func rewriteValueWasm_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s % 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s % 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64) - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v3.AddArg2(src, mem) + v2.AddArg3(dst, v3, mem) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -2203,28 +2088,20 @@ func rewriteValueWasm_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type) v0.AuxInt = s % 16 v0.AddArg(dst) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type) v1.AuxInt = s % 16 v1.AddArg(src) - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) v2.AuxInt = 8 - v2.AddArg(dst) v3 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64) v3.AuxInt = 8 - v3.AddArg(src) - v3.AddArg(mem) - v2.AddArg(v3) + v3.AddArg2(src, mem) v4 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v4.AddArg(dst) v5 := b.NewValue0(v.Pos, OpWasmI64Load, typ.UInt64) - v5.AddArg(src) - v5.AddArg(mem) - v4.AddArg(v5) - v4.AddArg(mem) - v2.AddArg(v4) - v.AddArg(v2) + v5.AddArg2(src, mem) + v4.AddArg3(dst, v5, mem) + v2.AddArg3(dst, v3, v4) + v.AddArg3(v0, v1, v2) return true } // match: (Move [s] dst src mem) @@ -2240,9 +2117,7 @@ func rewriteValueWasm_OpMove(v *Value) bool { } v.reset(OpWasmLoweredMove) v.AuxInt = s / 8 - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } return false @@ -2258,8 +2133,7 @@ func rewriteValueWasm_OpNeg16(v *Value) bool { v.reset(OpWasmI64Sub) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2274,8 +2148,7 @@ func rewriteValueWasm_OpNeg32(v *Value) bool { v.reset(OpWasmI64Sub) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2290,8 +2163,7 @@ func rewriteValueWasm_OpNeg64(v *Value) bool { v.reset(OpWasmI64Sub) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2306,8 +2178,7 @@ func rewriteValueWasm_OpNeg8(v *Value) bool { v.reset(OpWasmI64Sub) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2324,10 +2195,9 @@ func rewriteValueWasm_OpNeq16(v *Value) bool { v.reset(OpWasmI64Ne) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2344,10 +2214,9 @@ func rewriteValueWasm_OpNeq32(v *Value) bool { v.reset(OpWasmI64Ne) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2364,10 +2233,9 @@ func rewriteValueWasm_OpNeq8(v *Value) bool { v.reset(OpWasmI64Ne) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2432,17 +2300,14 @@ func rewriteValueWasm_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, OpWasmI64Const, typ.Int64) 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, OpWasmI64Const, typ.Int64) v3.AuxInt = -c & 15 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -2463,17 +2328,14 @@ func rewriteValueWasm_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, OpWasmI64Const, typ.Int64) 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, OpWasmI64Const, typ.Int64) v3.AuxInt = -c & 7 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(x, v3) + v.AddArg2(v0, v2) return true } return false @@ -2493,10 +2355,9 @@ func rewriteValueWasm_OpRsh16Ux16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2515,10 +2376,9 @@ func rewriteValueWasm_OpRsh16Ux32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2537,8 +2397,7 @@ func rewriteValueWasm_OpRsh16Ux64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -2557,10 +2416,9 @@ func rewriteValueWasm_OpRsh16Ux8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2579,10 +2437,9 @@ func rewriteValueWasm_OpRsh16x16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2601,10 +2458,9 @@ func rewriteValueWasm_OpRsh16x32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2623,8 +2479,7 @@ func rewriteValueWasm_OpRsh16x64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -2643,10 +2498,9 @@ func rewriteValueWasm_OpRsh16x8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2665,10 +2519,9 @@ func rewriteValueWasm_OpRsh32Ux16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2687,10 +2540,9 @@ func rewriteValueWasm_OpRsh32Ux32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2709,8 +2561,7 @@ func rewriteValueWasm_OpRsh32Ux64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -2729,10 +2580,9 @@ func rewriteValueWasm_OpRsh32Ux8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2751,10 +2601,9 @@ func rewriteValueWasm_OpRsh32x16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2773,10 +2622,9 @@ func rewriteValueWasm_OpRsh32x32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2795,8 +2643,7 @@ func rewriteValueWasm_OpRsh32x64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -2815,10 +2662,9 @@ func rewriteValueWasm_OpRsh32x8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2835,10 +2681,9 @@ func rewriteValueWasm_OpRsh64Ux16(v *Value) bool { y := v_1 v.reset(OpRsh64Ux64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -2855,10 +2700,9 @@ func rewriteValueWasm_OpRsh64Ux32(v *Value) bool { y := v_1 v.reset(OpRsh64Ux64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -2877,8 +2721,7 @@ func rewriteValueWasm_OpRsh64Ux64(v *Value) bool { break } v.reset(OpWasmI64ShrU) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64Ux64 x (I64Const [c])) @@ -2894,10 +2737,9 @@ func rewriteValueWasm_OpRsh64Ux64(v *Value) bool { break } v.reset(OpWasmI64ShrU) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = c - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 x (I64Const [c])) @@ -2922,18 +2764,14 @@ func rewriteValueWasm_OpRsh64Ux64(v *Value) bool { y := v_1 v.reset(OpWasmSelect) v0 := b.NewValue0(v.Pos, OpWasmI64ShrU, typ.Int64) - v0.AddArg(x) - v0.AddArg(y) - v.AddArg(v0) + v0.AddArg2(x, y) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpWasmI64LtU, typ.Bool) - v2.AddArg(y) v3 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v3.AuxInt = 64 - v2.AddArg(v3) - v.AddArg(v2) + v2.AddArg2(y, v3) + v.AddArg3(v0, v1, v2) return true } } @@ -2950,10 +2788,9 @@ func rewriteValueWasm_OpRsh64Ux8(v *Value) bool { y := v_1 v.reset(OpRsh64Ux64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -2970,10 +2807,9 @@ func rewriteValueWasm_OpRsh64x16(v *Value) bool { y := v_1 v.reset(OpRsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -2990,10 +2826,9 @@ func rewriteValueWasm_OpRsh64x32(v *Value) bool { y := v_1 v.reset(OpRsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -3012,8 +2847,7 @@ func rewriteValueWasm_OpRsh64x64(v *Value) bool { break } v.reset(OpWasmI64ShrS) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } // match: (Rsh64x64 x (I64Const [c])) @@ -3029,10 +2863,9 @@ func rewriteValueWasm_OpRsh64x64(v *Value) bool { break } v.reset(OpWasmI64ShrS) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = c - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 x (I64Const [c])) @@ -3048,10 +2881,9 @@ func rewriteValueWasm_OpRsh64x64(v *Value) bool { break } v.reset(OpWasmI64ShrS) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 63 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 x y) @@ -3060,19 +2892,15 @@ func rewriteValueWasm_OpRsh64x64(v *Value) bool { x := v_0 y := v_1 v.reset(OpWasmI64ShrS) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmSelect, typ.Int64) - v0.AddArg(y) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 63 - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpWasmI64LtU, typ.Bool) - v2.AddArg(y) v3 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v3.AuxInt = 64 - v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v2.AddArg2(y, v3) + v0.AddArg3(y, v1, v2) + v.AddArg2(x, v0) return true } } @@ -3089,10 +2917,9 @@ func rewriteValueWasm_OpRsh64x8(v *Value) bool { y := v_1 v.reset(OpRsh64x64) v.AuxInt = c - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(y) - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -3111,10 +2938,9 @@ func rewriteValueWasm_OpRsh8Ux16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3133,10 +2959,9 @@ func rewriteValueWasm_OpRsh8Ux32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3155,8 +2980,7 @@ func rewriteValueWasm_OpRsh8Ux64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -3175,10 +2999,9 @@ func rewriteValueWasm_OpRsh8Ux8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3197,10 +3020,9 @@ func rewriteValueWasm_OpRsh8x16(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3219,10 +3041,9 @@ func rewriteValueWasm_OpRsh8x32(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3241,8 +3062,7 @@ func rewriteValueWasm_OpRsh8x64(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(y) + v.AddArg2(v0, y) return true } } @@ -3261,10 +3081,9 @@ func rewriteValueWasm_OpRsh8x8(v *Value) bool { v.AuxInt = c v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64) v0.AddArg(x) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64) v1.AddArg(y) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -3303,14 +3122,12 @@ func rewriteValueWasm_OpSignExt16to32(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 48 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 48 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3349,14 +3166,12 @@ func rewriteValueWasm_OpSignExt16to64(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 48 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 48 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3395,14 +3210,12 @@ func rewriteValueWasm_OpSignExt32to64(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 32 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 32 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3441,14 +3254,12 @@ func rewriteValueWasm_OpSignExt8to16(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 56 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 56 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3487,14 +3298,12 @@ func rewriteValueWasm_OpSignExt8to32(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 56 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 56 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3533,14 +3342,12 @@ func rewriteValueWasm_OpSignExt8to64(v *Value) bool { x := v_0 v.reset(OpWasmI64ShrS) v0 := b.NewValue0(v.Pos, OpWasmI64Shl, typ.Int64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 56 - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 56 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3556,12 +3363,10 @@ func rewriteValueWasm_OpSlicemask(v *Value) bool { v0 := b.NewValue0(v.Pos, OpWasmI64Sub, typ.Int64) v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v1.AuxInt = 0 - v0.AddArg(v1) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(v1, x) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 63 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -3581,9 +3386,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmF64Store) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -3598,9 +3401,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmF32Store) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -3615,9 +3416,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmI64Store) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -3632,9 +3431,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmI64Store32) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -3649,9 +3446,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmI64Store16) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } // match: (Store {t} ptr val mem) @@ -3666,9 +3461,7 @@ func rewriteValueWasm_OpStore(v *Value) bool { break } v.reset(OpWasmI64Store8) - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -3702,10 +3495,9 @@ func rewriteValueWasm_OpWasmF64Add(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmF64Add) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmF64Const, typ.Float64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -3739,10 +3531,9 @@ func rewriteValueWasm_OpWasmF64Mul(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmF64Mul) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmF64Const, typ.Float64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -3776,10 +3567,9 @@ func rewriteValueWasm_OpWasmI64Add(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Add) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } // match: (I64Add x (I64Const [y])) @@ -3862,10 +3652,9 @@ func rewriteValueWasm_OpWasmI64And(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64And) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -3922,10 +3711,9 @@ func rewriteValueWasm_OpWasmI64Eq(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Eq) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } // match: (I64Eq x (I64Const [0])) @@ -3981,8 +3769,7 @@ func rewriteValueWasm_OpWasmI64Load(v *Value) bool { } v.reset(OpWasmI64Load) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (I64Load [off] (LoweredAddr {sym} [off2] (SB)) _) @@ -4024,8 +3811,7 @@ func rewriteValueWasm_OpWasmI64Load16S(v *Value) bool { } v.reset(OpWasmI64Load16S) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4051,8 +3837,7 @@ func rewriteValueWasm_OpWasmI64Load16U(v *Value) bool { } v.reset(OpWasmI64Load16U) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (I64Load16U [off] (LoweredAddr {sym} [off2] (SB)) _) @@ -4094,8 +3879,7 @@ func rewriteValueWasm_OpWasmI64Load32S(v *Value) bool { } v.reset(OpWasmI64Load32S) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4121,8 +3905,7 @@ func rewriteValueWasm_OpWasmI64Load32U(v *Value) bool { } v.reset(OpWasmI64Load32U) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (I64Load32U [off] (LoweredAddr {sym} [off2] (SB)) _) @@ -4164,8 +3947,7 @@ func rewriteValueWasm_OpWasmI64Load8S(v *Value) bool { } v.reset(OpWasmI64Load8S) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } return false @@ -4189,8 +3971,7 @@ func rewriteValueWasm_OpWasmI64Load8U(v *Value) bool { } v.reset(OpWasmI64Load8U) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(mem) + v.AddArg2(ptr, mem) return true } // match: (I64Load8U [off] (LoweredAddr {sym} [off2] (SB)) _) @@ -4242,10 +4023,9 @@ func rewriteValueWasm_OpWasmI64Mul(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Mul) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -4302,10 +4082,9 @@ func rewriteValueWasm_OpWasmI64Ne(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Ne) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } // match: (I64Ne x (I64Const [0])) @@ -4352,10 +4131,9 @@ func rewriteValueWasm_OpWasmI64Or(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Or) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -4441,9 +4219,7 @@ func rewriteValueWasm_OpWasmI64Store(v *Value) bool { } v.reset(OpWasmI64Store) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4469,9 +4245,7 @@ func rewriteValueWasm_OpWasmI64Store16(v *Value) bool { } v.reset(OpWasmI64Store16) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4497,9 +4271,7 @@ func rewriteValueWasm_OpWasmI64Store32(v *Value) bool { } v.reset(OpWasmI64Store32) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4525,9 +4297,7 @@ func rewriteValueWasm_OpWasmI64Store8(v *Value) bool { } v.reset(OpWasmI64Store8) v.AuxInt = off + off2 - v.AddArg(ptr) - v.AddArg(val) - v.AddArg(mem) + v.AddArg3(ptr, val, mem) return true } return false @@ -4561,10 +4331,9 @@ func rewriteValueWasm_OpWasmI64Xor(v *Value) bool { x := v_0.AuxInt y := v_1 v.reset(OpWasmI64Xor) - v.AddArg(y) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = x - v.AddArg(v0) + v.AddArg2(y, v0) return true } return false @@ -4595,11 +4364,9 @@ func rewriteValueWasm_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpWasmI64Store8) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [2] destptr mem) @@ -4611,11 +4378,9 @@ func rewriteValueWasm_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpWasmI64Store16) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [4] destptr mem) @@ -4627,11 +4392,9 @@ func rewriteValueWasm_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpWasmI64Store32) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [8] destptr mem) @@ -4643,11 +4406,9 @@ func rewriteValueWasm_OpZero(v *Value) bool { destptr := v_0 mem := v_1 v.reset(OpWasmI64Store) - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(mem) + v.AddArg3(destptr, v0, mem) return true } // match: (Zero [3] destptr mem) @@ -4660,17 +4421,13 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store8) v.AuxInt = 2 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store16, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [5] destptr mem) @@ -4683,17 +4440,13 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store8) v.AuxInt = 4 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [6] destptr mem) @@ -4706,17 +4459,13 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store16) v.AuxInt = 4 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [7] destptr mem) @@ -4729,17 +4478,13 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store32) v.AuxInt = 3 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [s] destptr mem) @@ -4757,14 +4502,11 @@ func rewriteValueWasm_OpZero(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type) v0.AuxInt = s % 8 v0.AddArg(destptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg2(v0, v1) return true } // match: (Zero [16] destptr mem) @@ -4777,17 +4519,13 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store) v.AuxInt = 8 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(destptr, v2, mem) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [24] destptr mem) @@ -4800,24 +4538,18 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store) v.AuxInt = 16 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) v1.AuxInt = 8 - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v3.AddArg(destptr) v4 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v4.AuxInt = 0 - v3.AddArg(v4) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(destptr, v4, mem) + v1.AddArg3(destptr, v2, v3) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [32] destptr mem) @@ -4830,31 +4562,23 @@ func rewriteValueWasm_OpZero(v *Value) bool { mem := v_1 v.reset(OpWasmI64Store) v.AuxInt = 24 - v.AddArg(destptr) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) v1.AuxInt = 16 - v1.AddArg(destptr) v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v2.AuxInt = 0 - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) v3.AuxInt = 8 - v3.AddArg(destptr) v4 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v4.AuxInt = 0 - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem) - v5.AddArg(destptr) v6 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v6.AuxInt = 0 - v5.AddArg(v6) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg3(destptr, v6, mem) + v3.AddArg3(destptr, v4, v5) + v1.AddArg3(destptr, v2, v3) + v.AddArg3(destptr, v0, v1) return true } // match: (Zero [s] destptr mem) @@ -4869,8 +4593,7 @@ func rewriteValueWasm_OpZero(v *Value) bool { } v.reset(OpWasmLoweredZero) v.AuxInt = s / 8 - v.AddArg(destptr) - v.AddArg(mem) + v.AddArg2(destptr, mem) return true } return false @@ -4897,10 +4620,9 @@ func rewriteValueWasm_OpZeroExt16to32(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xffff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -4926,10 +4648,9 @@ func rewriteValueWasm_OpZeroExt16to64(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xffff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -4955,10 +4676,9 @@ func rewriteValueWasm_OpZeroExt32to64(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xffffffff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -4984,10 +4704,9 @@ func rewriteValueWasm_OpZeroExt8to16(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -5013,10 +4732,9 @@ func rewriteValueWasm_OpZeroExt8to32(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } @@ -5042,10 +4760,9 @@ func rewriteValueWasm_OpZeroExt8to64(v *Value) bool { for { x := v_0 v.reset(OpWasmI64And) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64) v0.AuxInt = 0xff - v.AddArg(v0) + v.AddArg2(x, v0) return true } } diff --git a/src/cmd/compile/internal/ssa/rewritedec.go b/src/cmd/compile/internal/ssa/rewritedec.go index 9393cade62..a031fca4ad 100644 --- a/src/cmd/compile/internal/ssa/rewritedec.go +++ b/src/cmd/compile/internal/ssa/rewritedec.go @@ -116,16 +116,13 @@ func rewriteValuedec_OpLoad(v *Value) bool { } v.reset(OpComplexMake) v0 := b.NewValue0(v.Pos, OpLoad, typ.Float32) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.Float32) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.Float32Ptr) v2.AuxInt = 4 v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } // match: (Load ptr mem) @@ -140,16 +137,13 @@ func rewriteValuedec_OpLoad(v *Value) bool { } v.reset(OpComplexMake) v0 := b.NewValue0(v.Pos, OpLoad, typ.Float64) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.Float64) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.Float64Ptr) v2.AuxInt = 8 v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } // match: (Load ptr mem) @@ -164,16 +158,13 @@ func rewriteValuedec_OpLoad(v *Value) bool { } v.reset(OpStringMake) v0 := b.NewValue0(v.Pos, OpLoad, typ.BytePtr) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.Int) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v2.AuxInt = config.PtrSize v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } // match: (Load ptr mem) @@ -188,23 +179,18 @@ func rewriteValuedec_OpLoad(v *Value) bool { } v.reset(OpSliceMake) v0 := b.NewValue0(v.Pos, OpLoad, t.Elem().PtrTo()) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.Int) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v2.AuxInt = config.PtrSize v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) v3 := b.NewValue0(v.Pos, OpLoad, typ.Int) v4 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v4.AuxInt = 2 * config.PtrSize v4.AddArg(ptr) - v3.AddArg(v4) - v3.AddArg(mem) - v.AddArg(v3) + v3.AddArg2(v4, mem) + v.AddArg3(v0, v1, v3) return true } // match: (Load ptr mem) @@ -219,16 +205,13 @@ func rewriteValuedec_OpLoad(v *Value) bool { } v.reset(OpIMake) v0 := b.NewValue0(v.Pos, OpLoad, typ.Uintptr) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.BytePtr) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.BytePtrPtr) v2.AuxInt = config.PtrSize v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } return false @@ -310,14 +293,10 @@ func rewriteValuedec_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, typ.Float32Ptr) v0.AuxInt = 4 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(imag) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = typ.Float32 - v1.AddArg(dst) - v1.AddArg(real) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, real, mem) + v.AddArg3(v0, imag, v1) return true } // match: (Store {t} dst (ComplexMake real imag) mem) @@ -340,14 +319,10 @@ func rewriteValuedec_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, typ.Float64Ptr) v0.AuxInt = 8 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(imag) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = typ.Float64 - v1.AddArg(dst) - v1.AddArg(real) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, real, mem) + v.AddArg3(v0, imag, v1) return true } // match: (Store dst (StringMake ptr len) mem) @@ -365,14 +340,10 @@ func rewriteValuedec_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v0.AuxInt = config.PtrSize v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(len) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = typ.BytePtr - v1.AddArg(dst) - v1.AddArg(ptr) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, ptr, mem) + v.AddArg3(v0, len, v1) return true } // match: (Store dst (SliceMake ptr len cap) mem) @@ -391,22 +362,16 @@ func rewriteValuedec_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v0.AuxInt = 2 * config.PtrSize v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(cap) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = typ.Int v2 := b.NewValue0(v.Pos, OpOffPtr, typ.IntPtr) v2.AuxInt = config.PtrSize v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(len) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = typ.BytePtr - v3.AddArg(dst) - v3.AddArg(ptr) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(dst, ptr, mem) + v1.AddArg3(v2, len, v3) + v.AddArg3(v0, cap, v1) return true } // match: (Store dst (IMake itab data) mem) @@ -424,14 +389,10 @@ func rewriteValuedec_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, typ.BytePtrPtr) v0.AuxInt = config.PtrSize v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(data) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = typ.Uintptr - v1.AddArg(dst) - v1.AddArg(itab) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, itab, mem) + v.AddArg3(v0, data, v1) return true } return false diff --git a/src/cmd/compile/internal/ssa/rewritedec64.go b/src/cmd/compile/internal/ssa/rewritedec64.go index 96a23afd8d..3beaf8e99f 100644 --- a/src/cmd/compile/internal/ssa/rewritedec64.go +++ b/src/cmd/compile/internal/ssa/rewritedec64.go @@ -133,31 +133,26 @@ func rewriteValuedec64_OpAdd64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAdd32withcarry, typ.Int32) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v4 := b.NewValue0(v.Pos, OpAdd32carry, types.NewTuple(typ.UInt32, types.TypeFlags)) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) + v4.AddArg2(v5, v6) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) v7 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32) v8 := b.NewValue0(v.Pos, OpAdd32carry, types.NewTuple(typ.UInt32, types.TypeFlags)) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(x) - v8.AddArg(v9) v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v10.AddArg(y) - v8.AddArg(v10) + v8.AddArg2(v9, v10) v7.AddArg(v8) - v.AddArg(v7) + v.AddArg2(v0, v7) return true } } @@ -175,19 +170,16 @@ func rewriteValuedec64_OpAnd64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(y) - v3.AddArg(v5) - v.AddArg(v3) + v3.AddArg2(v4, v5) + v.AddArg2(v0, v3) return true } } @@ -208,11 +200,10 @@ func rewriteValuedec64_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.Int32) v0.AuxInt = off + 4 v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v1.AuxInt = off v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -228,11 +219,10 @@ func rewriteValuedec64_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v0.AuxInt = off + 4 v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v1.AuxInt = off v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -248,11 +238,10 @@ func rewriteValuedec64_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.Int32) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v1.AuxInt = off + 4 v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -268,11 +257,10 @@ func rewriteValuedec64_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.UInt32) v1.AuxInt = off + 4 v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } return false @@ -291,19 +279,17 @@ func rewriteValuedec64_OpBitLen64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpBitLen32, typ.Int) v3 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(x) v5.AddArg(v6) - v3.AddArg(v5) + v3.AddArg2(v4, v5) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -320,12 +306,11 @@ func rewriteValuedec64_OpBswap64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpBswap32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v3.AddArg(x) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -342,12 +327,11 @@ func rewriteValuedec64_OpCom64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpCom32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v3.AddArg(x) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } } @@ -366,10 +350,9 @@ func rewriteValuedec64_OpConst64(v *Value) bool { v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpConst32, typ.Int32) v0.AuxInt = c >> 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v1.AuxInt = int64(int32(c)) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Const64 [c]) @@ -384,10 +367,9 @@ func rewriteValuedec64_OpConst64(v *Value) bool { v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v0.AuxInt = c >> 32 - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v1.AuxInt = int64(int32(c)) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } return false @@ -406,7 +388,6 @@ func rewriteValuedec64_OpCtz64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpCom32, typ.UInt32) v4 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) @@ -414,13 +395,12 @@ func rewriteValuedec64_OpCtz64(v *Value) bool { v5.AddArg(x) v4.AddArg(v5) v3.AddArg(v4) - v2.AddArg(v3) v6 := b.NewValue0(v.Pos, OpCtz32, typ.UInt32) v7 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v7.AddArg(x) v6.AddArg(v7) - v2.AddArg(v6) - v.AddArg(v2) + v2.AddArg2(v3, v6) + v.AddArg2(v0, v2) return true } } @@ -438,19 +418,16 @@ func rewriteValuedec64_OpEq64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(y) - v3.AddArg(v5) - v.AddArg(v3) + v3.AddArg2(v4, v5) + v.AddArg2(v0, v3) return true } } @@ -501,29 +478,24 @@ func rewriteValuedec64_OpLeq64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool) v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) - v3.AddArg(v4) + v4.AddArg2(v5, v6) v7 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool) v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v8.AddArg(x) - v7.AddArg(v8) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(y) - v7.AddArg(v9) - v3.AddArg(v7) - v.AddArg(v3) + v7.AddArg2(v8, v9) + v3.AddArg2(v4, v7) + v.AddArg2(v0, v3) return true } } @@ -541,29 +513,24 @@ func rewriteValuedec64_OpLeq64U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool) v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) - v3.AddArg(v4) + v4.AddArg2(v5, v6) v7 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool) v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v8.AddArg(x) - v7.AddArg(v8) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(y) - v7.AddArg(v9) - v3.AddArg(v7) - v.AddArg(v3) + v7.AddArg2(v8, v9) + v3.AddArg2(v4, v7) + v.AddArg2(v0, v3) return true } } @@ -581,29 +548,24 @@ func rewriteValuedec64_OpLess64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool) v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) - v3.AddArg(v4) + v4.AddArg2(v5, v6) v7 := b.NewValue0(v.Pos, OpLess32U, typ.Bool) v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v8.AddArg(x) - v7.AddArg(v8) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(y) - v7.AddArg(v9) - v3.AddArg(v7) - v.AddArg(v3) + v7.AddArg2(v8, v9) + v3.AddArg2(v4, v7) + v.AddArg2(v0, v3) return true } } @@ -621,29 +583,24 @@ func rewriteValuedec64_OpLess64U(v *Value) bool { v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool) v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool) v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) - v3.AddArg(v4) + v4.AddArg2(v5, v6) v7 := b.NewValue0(v.Pos, OpLess32U, typ.Bool) v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v8.AddArg(x) - v7.AddArg(v8) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(y) - v7.AddArg(v9) - v3.AddArg(v7) - v.AddArg(v3) + v7.AddArg2(v8, v9) + v3.AddArg2(v4, v7) + v.AddArg2(v0, v3) return true } } @@ -668,13 +625,10 @@ func rewriteValuedec64_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, typ.Int32Ptr) v1.AuxInt = 4 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(v1, mem) v2 := b.NewValue0(v.Pos, OpLoad, typ.UInt32) - v2.AddArg(ptr) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg2(ptr, mem) + v.AddArg2(v0, v2) return true } // match: (Load ptr mem) @@ -692,13 +646,10 @@ func rewriteValuedec64_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, typ.UInt32Ptr) v1.AuxInt = 4 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(v1, mem) v2 := b.NewValue0(v.Pos, OpLoad, typ.UInt32) - v2.AddArg(ptr) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg2(ptr, mem) + v.AddArg2(v0, v2) return true } // match: (Load ptr mem) @@ -713,16 +664,13 @@ func rewriteValuedec64_OpLoad(v *Value) bool { } v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpLoad, typ.Int32) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.UInt32Ptr) v2.AuxInt = 4 v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } // match: (Load ptr mem) @@ -737,16 +685,13 @@ func rewriteValuedec64_OpLoad(v *Value) bool { } v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpLoad, typ.UInt32) - v0.AddArg(ptr) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(ptr, mem) v1 := b.NewValue0(v.Pos, OpLoad, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOffPtr, typ.UInt32Ptr) v2.AuxInt = 4 v2.AddArg(ptr) - v1.AddArg(v2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(v2, mem) + v.AddArg2(v0, v1) return true } return false @@ -791,8 +736,7 @@ func rewriteValuedec64_OpLsh16x64(v *Value) bool { } v.reset(OpLsh16x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Lsh16x64 x (Int64Make hi lo)) @@ -809,13 +753,11 @@ func rewriteValuedec64_OpLsh16x64(v *Value) bool { break } v.reset(OpLsh16x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -860,8 +802,7 @@ func rewriteValuedec64_OpLsh32x64(v *Value) bool { } v.reset(OpLsh32x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Lsh32x64 x (Int64Make hi lo)) @@ -878,13 +819,11 @@ func rewriteValuedec64_OpLsh32x64(v *Value) bool { break } v.reset(OpLsh32x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -907,33 +846,24 @@ func rewriteValuedec64_OpLsh64x16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32) - v2.AddArg(hi) - v2.AddArg(s) - v1.AddArg(v2) + v2.AddArg2(hi, s) v3 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32) - v3.AddArg(lo) v4 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) v5 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v5.AuxInt = 32 - v4.AddArg(v5) - v4.AddArg(s) - v3.AddArg(v4) - v1.AddArg(v3) - v0.AddArg(v1) + v4.AddArg2(v5, s) + v3.AddArg2(lo, v4) + v1.AddArg2(v2, v3) v6 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32) - v6.AddArg(lo) v7 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) - v7.AddArg(s) v8 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v8.AuxInt = 32 - v7.AddArg(v8) - v6.AddArg(v7) - v0.AddArg(v6) - v.AddArg(v0) + v7.AddArg2(s, v8) + v6.AddArg2(lo, v7) + v0.AddArg2(v1, v6) v9 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32) - v9.AddArg(lo) - v9.AddArg(s) - v.AddArg(v9) + v9.AddArg2(lo, s) + v.AddArg2(v0, v9) return true } return false @@ -956,33 +886,24 @@ func rewriteValuedec64_OpLsh64x32(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32) - v2.AddArg(hi) - v2.AddArg(s) - v1.AddArg(v2) + v2.AddArg2(hi, s) v3 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v3.AddArg(lo) v4 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) v5 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v5.AuxInt = 32 - v4.AddArg(v5) - v4.AddArg(s) - v3.AddArg(v4) - v1.AddArg(v3) - v0.AddArg(v1) + v4.AddArg2(v5, s) + v3.AddArg2(lo, v4) + v1.AddArg2(v2, v3) v6 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32) - v6.AddArg(lo) v7 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) - v7.AddArg(s) v8 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v8.AuxInt = 32 - v7.AddArg(v8) - v6.AddArg(v7) - v0.AddArg(v6) - v.AddArg(v0) + v7.AddArg2(s, v8) + v6.AddArg2(lo, v7) + v0.AddArg2(v1, v6) v9 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32) - v9.AddArg(lo) - v9.AddArg(s) - v.AddArg(v9) + v9.AddArg2(lo, s) + v.AddArg2(v0, v9) return true } return false @@ -1027,8 +948,7 @@ func rewriteValuedec64_OpLsh64x64(v *Value) bool { } v.reset(OpLsh64x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Lsh64x64 x (Int64Make hi lo)) @@ -1045,13 +965,11 @@ func rewriteValuedec64_OpLsh64x64(v *Value) bool { break } v.reset(OpLsh64x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1074,33 +992,24 @@ func rewriteValuedec64_OpLsh64x8(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32) - v2.AddArg(hi) - v2.AddArg(s) - v1.AddArg(v2) + v2.AddArg2(hi, s) v3 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32) - v3.AddArg(lo) v4 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) v5 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v5.AuxInt = 32 - v4.AddArg(v5) - v4.AddArg(s) - v3.AddArg(v4) - v1.AddArg(v3) - v0.AddArg(v1) + v4.AddArg2(v5, s) + v3.AddArg2(lo, v4) + v1.AddArg2(v2, v3) v6 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32) - v6.AddArg(lo) v7 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) - v7.AddArg(s) v8 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v8.AuxInt = 32 - v7.AddArg(v8) - v6.AddArg(v7) - v0.AddArg(v6) - v.AddArg(v0) + v7.AddArg2(s, v8) + v6.AddArg2(lo, v7) + v0.AddArg2(v1, v6) v9 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32) - v9.AddArg(lo) - v9.AddArg(s) - v.AddArg(v9) + v9.AddArg2(lo, s) + v.AddArg2(v0, v9) return true } return false @@ -1145,8 +1054,7 @@ func rewriteValuedec64_OpLsh8x64(v *Value) bool { } v.reset(OpLsh8x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Lsh8x64 x (Int64Make hi lo)) @@ -1163,13 +1071,11 @@ func rewriteValuedec64_OpLsh8x64(v *Value) bool { break } v.reset(OpLsh8x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1189,42 +1095,35 @@ func rewriteValuedec64_OpMul64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v2.AddArg(x) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v3.AddArg(y) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpAdd32, typ.UInt32) v5 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v6.AddArg(x) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v7.AddArg(y) - v5.AddArg(v7) - v4.AddArg(v5) + v5.AddArg2(v6, v7) v8 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32) v9 := b.NewValue0(v.Pos, OpMul32uhilo, types.NewTuple(typ.UInt32, typ.UInt32)) v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v10.AddArg(x) - v9.AddArg(v10) v11 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v11.AddArg(y) - v9.AddArg(v11) + v9.AddArg2(v10, v11) v8.AddArg(v9) - v4.AddArg(v8) - v0.AddArg(v4) - v.AddArg(v0) + v4.AddArg2(v5, v8) + v0.AddArg2(v1, v4) v12 := b.NewValue0(v.Pos, OpSelect1, typ.UInt32) v13 := b.NewValue0(v.Pos, OpMul32uhilo, types.NewTuple(typ.UInt32, typ.UInt32)) v14 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v14.AddArg(x) - v13.AddArg(v14) v15 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v15.AddArg(y) - v13.AddArg(v15) + v13.AddArg2(v14, v15) v12.AddArg(v13) - v.AddArg(v12) + v.AddArg2(v0, v12) return true } } @@ -1239,8 +1138,7 @@ func rewriteValuedec64_OpNeg64(v *Value) bool { v.reset(OpSub64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -1258,19 +1156,16 @@ func rewriteValuedec64_OpNeq64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpNeq32, typ.Bool) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpNeq32, typ.Bool) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(y) - v3.AddArg(v5) - v.AddArg(v3) + v3.AddArg2(v4, v5) + v.AddArg2(v0, v3) return true } } @@ -1288,19 +1183,16 @@ func rewriteValuedec64_OpOr64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(y) - v3.AddArg(v5) - v.AddArg(v3) + v3.AddArg2(v4, v5) + v.AddArg2(v0, v3) return true } } @@ -1344,8 +1236,7 @@ func rewriteValuedec64_OpRsh16Ux64(v *Value) bool { } v.reset(OpRsh16Ux32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh16Ux64 x (Int64Make hi lo)) @@ -1362,13 +1253,11 @@ func rewriteValuedec64_OpRsh16Ux64(v *Value) bool { break } v.reset(OpRsh16Ux32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1416,8 +1305,7 @@ func rewriteValuedec64_OpRsh16x64(v *Value) bool { } v.reset(OpRsh16x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh16x64 x (Int64Make hi lo)) @@ -1434,13 +1322,11 @@ func rewriteValuedec64_OpRsh16x64(v *Value) bool { break } v.reset(OpRsh16x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1485,8 +1371,7 @@ func rewriteValuedec64_OpRsh32Ux64(v *Value) bool { } v.reset(OpRsh32Ux32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh32Ux64 x (Int64Make hi lo)) @@ -1503,13 +1388,11 @@ func rewriteValuedec64_OpRsh32Ux64(v *Value) bool { break } v.reset(OpRsh32Ux32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1555,8 +1438,7 @@ func rewriteValuedec64_OpRsh32x64(v *Value) bool { } v.reset(OpRsh32x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh32x64 x (Int64Make hi lo)) @@ -1573,13 +1455,11 @@ func rewriteValuedec64_OpRsh32x64(v *Value) bool { break } v.reset(OpRsh32x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1600,35 +1480,26 @@ func rewriteValuedec64_OpRsh64Ux16(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) v6 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32) - v7.AddArg(hi) v8 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) - v8.AddArg(s) v9 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v9.AuxInt = 32 - v8.AddArg(v9) - v7.AddArg(v8) - v1.AddArg(v7) - v.AddArg(v1) + v8.AddArg2(s, v9) + v7.AddArg2(hi, v8) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -1649,35 +1520,26 @@ func rewriteValuedec64_OpRsh64Ux32(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) v6 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v7.AddArg(hi) v8 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) - v8.AddArg(s) v9 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v9.AuxInt = 32 - v8.AddArg(v9) - v7.AddArg(v8) - v1.AddArg(v7) - v.AddArg(v1) + v8.AddArg2(s, v9) + v7.AddArg2(hi, v8) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -1722,8 +1584,7 @@ func rewriteValuedec64_OpRsh64Ux64(v *Value) bool { } v.reset(OpRsh64Ux32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh64Ux64 x (Int64Make hi lo)) @@ -1740,13 +1601,11 @@ func rewriteValuedec64_OpRsh64Ux64(v *Value) bool { break } v.reset(OpRsh64Ux32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -1767,35 +1626,26 @@ func rewriteValuedec64_OpRsh64Ux8(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) v6 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32) - v7.AddArg(hi) v8 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) - v8.AddArg(s) v9 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v9.AuxInt = 32 - v8.AddArg(v9) - v7.AddArg(v8) - v1.AddArg(v7) - v.AddArg(v1) + v8.AddArg2(s, v9) + v7.AddArg2(hi, v8) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -1816,47 +1666,36 @@ func rewriteValuedec64_OpRsh64x16(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32x16, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) v6 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v8 := b.NewValue0(v.Pos, OpRsh32x16, typ.UInt32) - v8.AddArg(hi) v9 := b.NewValue0(v.Pos, OpSub16, typ.UInt16) - v9.AddArg(s) v10 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v10.AuxInt = 32 - v9.AddArg(v10) - v8.AddArg(v9) - v7.AddArg(v8) + v9.AddArg2(s, v10) + v8.AddArg2(hi, v9) v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v12 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v13 := b.NewValue0(v.Pos, OpRsh16Ux32, typ.UInt16) - v13.AddArg(s) v14 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v14.AuxInt = 5 - v13.AddArg(v14) + v13.AddArg2(s, v14) v12.AddArg(v13) v11.AddArg(v12) - v7.AddArg(v11) - v1.AddArg(v7) - v.AddArg(v1) + v7.AddArg2(v8, v11) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -1877,45 +1716,34 @@ func rewriteValuedec64_OpRsh64x32(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32x32, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) v6 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v8 := b.NewValue0(v.Pos, OpRsh32x32, typ.UInt32) - v8.AddArg(hi) v9 := b.NewValue0(v.Pos, OpSub32, typ.UInt32) - v9.AddArg(s) v10 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v10.AuxInt = 32 - v9.AddArg(v10) - v8.AddArg(v9) - v7.AddArg(v8) + v9.AddArg2(s, v10) + v8.AddArg2(hi, v9) v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v12 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32) - v12.AddArg(s) v13 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v13.AuxInt = 5 - v12.AddArg(v13) + v12.AddArg2(s, v13) v11.AddArg(v12) - v7.AddArg(v11) - v1.AddArg(v7) - v.AddArg(v1) + v7.AddArg2(v8, v11) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -1947,12 +1775,11 @@ func rewriteValuedec64_OpRsh64x64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v3 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v3.AddArg(x) v2.AddArg(v3) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Rsh64x64 [c] x (Int64Make (Const32 [0]) lo)) @@ -1970,8 +1797,7 @@ func rewriteValuedec64_OpRsh64x64(v *Value) bool { } v.reset(OpRsh64x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh64x64 x (Int64Make hi lo)) @@ -1988,13 +1814,11 @@ func rewriteValuedec64_OpRsh64x64(v *Value) bool { break } v.reset(OpRsh64x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -2015,47 +1839,36 @@ func rewriteValuedec64_OpRsh64x8(v *Value) bool { s := v_1 v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpRsh32x8, typ.UInt32) - v0.AddArg(hi) - v0.AddArg(s) - v.AddArg(v0) + v0.AddArg2(hi, s) v1 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v3 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32) - v3.AddArg(lo) - v3.AddArg(s) - v2.AddArg(v3) + v3.AddArg2(lo, s) v4 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32) - v4.AddArg(hi) v5 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) v6 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v6.AuxInt = 32 - v5.AddArg(v6) - v5.AddArg(s) - v4.AddArg(v5) - v2.AddArg(v4) - v1.AddArg(v2) + v5.AddArg2(v6, s) + v4.AddArg2(hi, v5) + v2.AddArg2(v3, v4) v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32) v8 := b.NewValue0(v.Pos, OpRsh32x8, typ.UInt32) - v8.AddArg(hi) v9 := b.NewValue0(v.Pos, OpSub8, typ.UInt8) - v9.AddArg(s) v10 := b.NewValue0(v.Pos, OpConst8, typ.UInt8) v10.AuxInt = 32 - v9.AddArg(v10) - v8.AddArg(v9) - v7.AddArg(v8) + v9.AddArg2(s, v10) + v8.AddArg2(hi, v9) v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v12 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v13 := b.NewValue0(v.Pos, OpRsh8Ux32, typ.UInt8) - v13.AddArg(s) v14 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v14.AuxInt = 5 - v13.AddArg(v14) + v13.AddArg2(s, v14) v12.AddArg(v13) v11.AddArg(v12) - v7.AddArg(v11) - v1.AddArg(v7) - v.AddArg(v1) + v7.AddArg2(v8, v11) + v1.AddArg2(v2, v7) + v.AddArg2(v0, v1) return true } return false @@ -2100,8 +1913,7 @@ func rewriteValuedec64_OpRsh8Ux64(v *Value) bool { } v.reset(OpRsh8Ux32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh8Ux64 x (Int64Make hi lo)) @@ -2118,13 +1930,11 @@ func rewriteValuedec64_OpRsh8Ux64(v *Value) bool { break } v.reset(OpRsh8Ux32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -2172,8 +1982,7 @@ func rewriteValuedec64_OpRsh8x64(v *Value) bool { } v.reset(OpRsh8x32) v.AuxInt = c - v.AddArg(x) - v.AddArg(lo) + v.AddArg2(x, lo) return true } // match: (Rsh8x64 x (Int64Make hi lo)) @@ -2190,13 +1999,11 @@ func rewriteValuedec64_OpRsh8x64(v *Value) bool { break } v.reset(OpRsh8x32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpOr32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32) v1.AddArg(hi) - v0.AddArg(v1) - v0.AddArg(lo) - v.AddArg(v0) + v0.AddArg2(v1, lo) + v.AddArg2(x, v0) return true } return false @@ -2227,8 +2034,7 @@ func rewriteValuedec64_OpSignExt32to64(v *Value) bool { v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpSignmask, typ.Int32) v0.AddArg(x) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2273,14 +2079,10 @@ func rewriteValuedec64_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, hi.Type.PtrTo()) v0.AuxInt = 4 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(hi) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = lo.Type - v1.AddArg(dst) - v1.AddArg(lo) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, lo, mem) + v.AddArg3(v0, hi, v1) return true } // match: (Store {t} dst (Int64Make hi lo) mem) @@ -2303,14 +2105,10 @@ func rewriteValuedec64_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, lo.Type.PtrTo()) v0.AuxInt = 4 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(lo) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = hi.Type - v1.AddArg(dst) - v1.AddArg(hi) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(dst, hi, mem) + v.AddArg3(v0, lo, v1) return true } return false @@ -2329,31 +2127,26 @@ func rewriteValuedec64_OpSub64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpSub32withcarry, typ.Int32) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags) v4 := b.NewValue0(v.Pos, OpSub32carry, types.NewTuple(typ.UInt32, types.TypeFlags)) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(x) - v4.AddArg(v5) v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v6.AddArg(y) - v4.AddArg(v6) + v4.AddArg2(v5, v6) v3.AddArg(v4) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg3(v1, v2, v3) v7 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32) v8 := b.NewValue0(v.Pos, OpSub32carry, types.NewTuple(typ.UInt32, types.TypeFlags)) v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v9.AddArg(x) - v8.AddArg(v9) v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v10.AddArg(y) - v8.AddArg(v10) + v8.AddArg2(v9, v10) v7.AddArg(v8) - v.AddArg(v7) + v.AddArg2(v0, v7) return true } } @@ -2417,19 +2210,16 @@ func rewriteValuedec64_OpXor64(v *Value) bool { v0 := b.NewValue0(v.Pos, OpXor32, typ.UInt32) v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32) v2.AddArg(y) - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpXor32, typ.UInt32) v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32) v5.AddArg(y) - v3.AddArg(v5) - v.AddArg(v3) + v3.AddArg2(v4, v5) + v.AddArg2(v0, v3) return true } } @@ -2459,8 +2249,7 @@ func rewriteValuedec64_OpZeroExt32to64(v *Value) bool { v.reset(OpInt64Make) v0 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v0.AuxInt = 0 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } diff --git a/src/cmd/compile/internal/ssa/rewritedecArgs.go b/src/cmd/compile/internal/ssa/rewritedecArgs.go index 9a9e522554..eec3acfcda 100644 --- a/src/cmd/compile/internal/ssa/rewritedecArgs.go +++ b/src/cmd/compile/internal/ssa/rewritedecArgs.go @@ -28,11 +28,10 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.BytePtr) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.Int) v1.AuxInt = off + config.PtrSize v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -48,15 +47,13 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, v.Type.Elem().PtrTo()) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.Int) v1.AuxInt = off + config.PtrSize v1.Aux = n - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpArg, typ.Int) v2.AuxInt = off + 2*config.PtrSize v2.Aux = n - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } // match: (Arg {n} [off]) @@ -72,11 +69,10 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.Uintptr) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.BytePtr) v1.AuxInt = off + config.PtrSize v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -92,11 +88,10 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.Float64) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.Float64) v1.AuxInt = off + 8 v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -112,11 +107,10 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, typ.Float32) v0.AuxInt = off v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, typ.Float32) v1.AuxInt = off + 4 v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg ) @@ -161,11 +155,10 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0)) v0.AuxInt = off + t.FieldOff(0) v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1)) v1.AuxInt = off + t.FieldOff(1) v1.Aux = n - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (Arg {n} [off]) @@ -182,15 +175,13 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0)) v0.AuxInt = off + t.FieldOff(0) v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1)) v1.AuxInt = off + t.FieldOff(1) v1.Aux = n - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpArg, t.FieldType(2)) v2.AuxInt = off + t.FieldOff(2) v2.Aux = n - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } // match: (Arg {n} [off]) @@ -207,19 +198,16 @@ func rewriteValuedecArgs_OpArg(v *Value) bool { v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0)) v0.AuxInt = off + t.FieldOff(0) v0.Aux = n - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1)) v1.AuxInt = off + t.FieldOff(1) v1.Aux = n - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpArg, t.FieldType(2)) v2.AuxInt = off + t.FieldOff(2) v2.Aux = n - v.AddArg(v2) v3 := b.NewValue0(v.Pos, OpArg, t.FieldType(3)) v3.AuxInt = off + t.FieldOff(3) v3.Aux = n - v.AddArg(v3) + v.AddArg4(v0, v1, v2, v3) return true } // match: (Arg ) diff --git a/src/cmd/compile/internal/ssa/rewritegeneric.go b/src/cmd/compile/internal/ssa/rewritegeneric.go index 94c2353fd9..5a9dd7ed5b 100644 --- a/src/cmd/compile/internal/ssa/rewritegeneric.go +++ b/src/cmd/compile/internal/ssa/rewritegeneric.go @@ -491,11 +491,9 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { } z := v_1_1 v.reset(OpMul16) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAdd16, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -554,11 +552,9 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { continue } v.reset(OpAdd16) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAdd16, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -583,11 +579,9 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { continue } v.reset(OpAdd16) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub16, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } break @@ -613,10 +607,8 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { } v.reset(OpSub16) v0 := b.NewValue0(v.Pos, OpAdd16, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } break @@ -645,8 +637,7 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { v.reset(OpAdd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -673,8 +664,7 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { v.reset(OpSub16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -701,8 +691,7 @@ func rewriteValuegeneric_OpAdd16(v *Value) bool { v.reset(OpAdd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -757,11 +746,9 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { } z := v_1_1 v.reset(OpMul32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAdd32, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -820,11 +807,9 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { continue } v.reset(OpAdd32) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAdd32, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -849,11 +834,9 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { continue } v.reset(OpAdd32) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub32, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } break @@ -879,10 +862,8 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { } v.reset(OpSub32) v0 := b.NewValue0(v.Pos, OpAdd32, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } break @@ -911,8 +892,7 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -939,8 +919,7 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { v.reset(OpSub32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -967,8 +946,7 @@ func rewriteValuegeneric_OpAdd32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -1046,11 +1024,9 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { } z := v_1_1 v.reset(OpMul64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAdd64, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -1109,11 +1085,9 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { continue } v.reset(OpAdd64) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAdd64, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -1138,11 +1112,9 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { continue } v.reset(OpAdd64) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub64, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } break @@ -1168,10 +1140,8 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { } v.reset(OpSub64) v0 := b.NewValue0(v.Pos, OpAdd64, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } break @@ -1200,8 +1170,7 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -1228,8 +1197,7 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { v.reset(OpSub64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -1256,8 +1224,7 @@ func rewriteValuegeneric_OpAdd64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c - d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -1335,11 +1302,9 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { } z := v_1_1 v.reset(OpMul8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpAdd8, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -1398,11 +1363,9 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { continue } v.reset(OpAdd8) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAdd8, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -1427,11 +1390,9 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { continue } v.reset(OpAdd8) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub8, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } break @@ -1457,10 +1418,8 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { } v.reset(OpSub8) v0 := b.NewValue0(v.Pos, OpAdd8, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } break @@ -1489,8 +1448,7 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { v.reset(OpAdd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -1517,8 +1475,7 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { v.reset(OpSub8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -1545,8 +1502,7 @@ func rewriteValuegeneric_OpAdd8(v *Value) bool { v.reset(OpAdd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } break @@ -1721,8 +1677,7 @@ func rewriteValuegeneric_OpAnd16(v *Value) bool { } y := v_1_1 v.reset(OpAnd16) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -1751,11 +1706,9 @@ func rewriteValuegeneric_OpAnd16(v *Value) bool { continue } v.reset(OpAnd16) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAnd16, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -1785,8 +1738,7 @@ func rewriteValuegeneric_OpAnd16(v *Value) bool { v.reset(OpAnd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c & d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -1927,8 +1879,7 @@ func rewriteValuegeneric_OpAnd32(v *Value) bool { } y := v_1_1 v.reset(OpAnd32) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -1957,11 +1908,9 @@ func rewriteValuegeneric_OpAnd32(v *Value) bool { continue } v.reset(OpAnd32) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAnd32, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -1991,8 +1940,7 @@ func rewriteValuegeneric_OpAnd32(v *Value) bool { v.reset(OpAnd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c & d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2133,8 +2081,7 @@ func rewriteValuegeneric_OpAnd64(v *Value) bool { } y := v_1_1 v.reset(OpAnd64) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -2163,11 +2110,9 @@ func rewriteValuegeneric_OpAnd64(v *Value) bool { continue } v.reset(OpAnd64) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAnd64, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -2197,8 +2142,7 @@ func rewriteValuegeneric_OpAnd64(v *Value) bool { v.reset(OpAnd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c & d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2339,8 +2283,7 @@ func rewriteValuegeneric_OpAnd8(v *Value) bool { } y := v_1_1 v.reset(OpAnd8) - v.AddArg(x) - v.AddArg(y) + v.AddArg2(x, y) return true } } @@ -2369,11 +2312,9 @@ func rewriteValuegeneric_OpAnd8(v *Value) bool { continue } v.reset(OpAnd8) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpAnd8, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -2403,8 +2344,7 @@ func rewriteValuegeneric_OpAnd8(v *Value) bool { v.reset(OpAnd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c & d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -2635,9 +2575,8 @@ func rewriteValuegeneric_OpConstInterface(v *Value) bool { for { v.reset(OpIMake) v0 := b.NewValue0(v.Pos, OpConstNil, typ.Uintptr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConstNil, typ.BytePtr) - v.AddArg(v1) + v.AddArg2(v0, v1) return true } } @@ -2654,13 +2593,11 @@ func rewriteValuegeneric_OpConstSlice(v *Value) bool { } v.reset(OpSliceMake) v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.Elem().PtrTo()) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst32, typ.Int) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst32, typ.Int) v2.AuxInt = 0 - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } // match: (ConstSlice) @@ -2672,13 +2609,11 @@ func rewriteValuegeneric_OpConstSlice(v *Value) bool { } v.reset(OpSliceMake) v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.Elem().PtrTo()) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst64, typ.Int) v1.AuxInt = 0 - v.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst64, typ.Int) v2.AuxInt = 0 - v.AddArg(v2) + v.AddArg3(v0, v1, v2) return true } return false @@ -2698,10 +2633,9 @@ func rewriteValuegeneric_OpConstString(v *Value) bool { } v.reset(OpStringMake) v0 := b.NewValue0(v.Pos, OpConstNil, typ.BytePtr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst32, typ.Int) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (ConstString {s}) @@ -2714,10 +2648,9 @@ func rewriteValuegeneric_OpConstString(v *Value) bool { } v.reset(OpStringMake) v0 := b.NewValue0(v.Pos, OpConstNil, typ.BytePtr) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpConst64, typ.Int) v1.AuxInt = 0 - v.AddArg(v1) + v.AddArg2(v0, v1) return true } // match: (ConstString {s}) @@ -2733,10 +2666,9 @@ func rewriteValuegeneric_OpConstString(v *Value) bool { v0.Aux = fe.StringData(s.(string)) v1 := b.NewValue0(v.Pos, OpSB, typ.Uintptr) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpConst32, typ.Int) v2.AuxInt = int64(len(s.(string))) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (ConstString {s}) @@ -2752,10 +2684,9 @@ func rewriteValuegeneric_OpConstString(v *Value) bool { v0.Aux = fe.StringData(s.(string)) v1 := b.NewValue0(v.Pos, OpSB, typ.Uintptr) v0.AddArg(v1) - v.AddArg(v0) v2 := b.NewValue0(v.Pos, OpConst64, typ.Int) v2.AuxInt = int64(len(s.(string))) - v.AddArg(v2) + v.AddArg2(v0, v2) return true } return false @@ -2783,8 +2714,7 @@ func rewriteValuegeneric_OpConvert(v *Value) bool { continue } v.reset(OpAdd64) - v.AddArg(ptr) - v.AddArg(off) + v.AddArg2(ptr, off) return true } break @@ -2809,8 +2739,7 @@ func rewriteValuegeneric_OpConvert(v *Value) bool { continue } v.reset(OpAdd32) - v.AddArg(ptr) - v.AddArg(off) + v.AddArg2(ptr, off) return true } break @@ -3035,10 +2964,9 @@ func rewriteValuegeneric_OpDiv16(v *Value) bool { break } v.reset(OpRsh16Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xffff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div16 n (Const16 [c])) @@ -3056,10 +2984,9 @@ func rewriteValuegeneric_OpDiv16(v *Value) bool { } v.reset(OpNeg16) v0 := b.NewValue0(v.Pos, OpDiv16, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst16, t) v1.AuxInt = -c - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -3073,14 +3000,12 @@ func rewriteValuegeneric_OpDiv16(v *Value) bool { } v.reset(OpRsh16Ux64) v0 := b.NewValue0(v.Pos, OpAnd16, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpNeg16, t) v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = 15 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div16 n (Const16 [c])) @@ -3098,22 +3023,18 @@ func rewriteValuegeneric_OpDiv16(v *Value) bool { } v.reset(OpRsh16x64) v0 := b.NewValue0(v.Pos, OpAdd16, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpRsh16Ux64, t) v2 := b.NewValue0(v.Pos, OpRsh16x64, t) - v2.AddArg(n) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 15 - v2.AddArg(v3) - v1.AddArg(v2) + v2.AddArg2(n, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 16 - log2(c) - v1.AddArg(v4) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, v4) + v0.AddArg2(n, v1) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = log2(c) - v.AddArg(v5) + v.AddArg2(v0, v5) return true } // match: (Div16 x (Const16 [c])) @@ -3135,23 +3056,19 @@ func rewriteValuegeneric_OpDiv16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(smagic(16, c).m) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 16 + smagic(16, c).s - v0.AddArg(v4) - v.AddArg(v0) + v0.AddArg2(v1, v4) v5 := b.NewValue0(v.Pos, OpRsh32x64, t) v6 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v6.AddArg(x) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v7.AuxInt = 31 - v5.AddArg(v7) - v.AddArg(v5) + v5.AddArg2(v6, v7) + v.AddArg2(v0, v5) return true } return false @@ -3194,10 +3111,9 @@ func rewriteValuegeneric_OpDiv16u(v *Value) bool { break } v.reset(OpRsh16Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xffff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div16u x (Const16 [c])) @@ -3217,14 +3133,12 @@ func rewriteValuegeneric_OpDiv16u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul64, typ.UInt64) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(1<<16 + umagic(16, c).m) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 16 + umagic(16, c).s - v0.AddArg(v4) + v0.AddArg2(v1, v4) v.AddArg(v0) return true } @@ -3245,14 +3159,12 @@ func rewriteValuegeneric_OpDiv16u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(1<<15 + umagic(16, c).m/2) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 16 + umagic(16, c).s - 1 - v0.AddArg(v4) + v0.AddArg2(v1, v4) v.AddArg(v0) return true } @@ -3273,19 +3185,16 @@ func rewriteValuegeneric_OpDiv16u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(1<<15 + (umagic(16, c).m+1)/2) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpRsh32Ux64, typ.UInt32) v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = 1 - v3.AddArg(v5) - v1.AddArg(v3) - v0.AddArg(v1) + v3.AddArg2(v4, v5) + v1.AddArg2(v2, v3) v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v6.AuxInt = 16 + umagic(16, c).s - 2 - v0.AddArg(v6) + v0.AddArg2(v1, v6) v.AddArg(v0) return true } @@ -3307,23 +3216,19 @@ func rewriteValuegeneric_OpDiv16u(v *Value) bool { v2 := b.NewValue0(v.Pos, OpLsh32x64, typ.UInt32) v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 16 - v2.AddArg(v4) - v1.AddArg(v2) + v2.AddArg2(v3, v4) v5 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v6 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v6.AuxInt = int64(umagic(16, c).m) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v7.AddArg(x) - v5.AddArg(v7) - v1.AddArg(v5) - v0.AddArg(v1) + v5.AddArg2(v6, v7) + v1.AddArg2(v2, v5) v8 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v8.AuxInt = 16 + umagic(16, c).s - 1 - v0.AddArg(v8) + v0.AddArg2(v1, v8) v.AddArg(v0) return true } @@ -3367,10 +3272,9 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { break } v.reset(OpRsh32Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xffffffff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div32 n (Const32 [c])) @@ -3388,10 +3292,9 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { } v.reset(OpNeg32) v0 := b.NewValue0(v.Pos, OpDiv32, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst32, t) v1.AuxInt = -c - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -3405,14 +3308,12 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { } v.reset(OpRsh32Ux64) v0 := b.NewValue0(v.Pos, OpAnd32, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpNeg32, t) v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = 31 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div32 n (Const32 [c])) @@ -3430,22 +3331,18 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { } v.reset(OpRsh32x64) v0 := b.NewValue0(v.Pos, OpAdd32, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpRsh32Ux64, t) v2 := b.NewValue0(v.Pos, OpRsh32x64, t) - v2.AddArg(n) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 31 - v2.AddArg(v3) - v1.AddArg(v2) + v2.AddArg2(n, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 32 - log2(c) - v1.AddArg(v4) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, v4) + v0.AddArg2(n, v1) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = log2(c) - v.AddArg(v5) + v.AddArg2(v0, v5) return true } // match: (Div32 x (Const32 [c])) @@ -3467,23 +3364,19 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul64, typ.UInt64) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(smagic(32, c).m) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 32 + smagic(32, c).s - v0.AddArg(v4) - v.AddArg(v0) + v0.AddArg2(v1, v4) v5 := b.NewValue0(v.Pos, OpRsh64x64, t) v6 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64) v6.AddArg(x) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v7.AuxInt = 63 - v5.AddArg(v7) - v.AddArg(v5) + v5.AddArg2(v6, v7) + v.AddArg2(v0, v5) return true } // match: (Div32 x (Const32 [c])) @@ -3505,19 +3398,15 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { v1 := b.NewValue0(v.Pos, OpHmul32, t) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(int32(smagic(32, c).m / 2)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = smagic(32, c).s - 1 - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpRsh32x64, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = 31 - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } // match: (Div32 x (Const32 [c])) @@ -3540,21 +3429,16 @@ func rewriteValuegeneric_OpDiv32(v *Value) bool { v2 := b.NewValue0(v.Pos, OpHmul32, t) v3 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v3.AuxInt = int64(int32(smagic(32, c).m)) - v2.AddArg(v3) - v2.AddArg(x) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v2.AddArg2(v3, x) + v1.AddArg2(v2, x) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = smagic(32, c).s - v0.AddArg(v4) - v.AddArg(v0) + v0.AddArg2(v1, v4) v5 := b.NewValue0(v.Pos, OpRsh32x64, t) - v5.AddArg(x) v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v6.AuxInt = 31 - v5.AddArg(v6) - v.AddArg(v5) + v5.AddArg2(x, v6) + v.AddArg2(v0, v5) return true } return false @@ -3592,10 +3476,9 @@ func rewriteValuegeneric_OpDiv32F(v *Value) bool { break } v.reset(OpMul32F) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst32F, t) v0.AuxInt = auxFrom32F(1 / auxTo32F(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -3638,10 +3521,9 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { break } v.reset(OpRsh32Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xffffffff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div32u x (Const32 [c])) @@ -3661,12 +3543,10 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpHmul32u, typ.UInt32) v1 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v1.AuxInt = int64(int32(1<<31 + umagic(32, c).m/2)) - v0.AddArg(v1) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(v1, x) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = umagic(32, c).s - 1 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div32u x (Const32 [c])) @@ -3686,17 +3566,14 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpHmul32u, typ.UInt32) v1 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v1.AuxInt = int64(int32(1<<31 + (umagic(32, c).m+1)/2)) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpRsh32Ux64, typ.UInt32) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 1 - v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v2.AddArg2(x, v3) + v0.AddArg2(v1, v2) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = umagic(32, c).s - 2 - v.AddArg(v4) + v.AddArg2(v0, v4) return true } // match: (Div32u x (Const32 [c])) @@ -3714,17 +3591,14 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v.reset(OpRsh32Ux64) v.Type = typ.UInt32 v0 := b.NewValue0(v.Pos, OpAvg32u, typ.UInt32) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpHmul32u, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(int32(umagic(32, c).m)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, x) + v0.AddArg2(x, v1) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = umagic(32, c).s - 1 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } // match: (Div32u x (Const32 [c])) @@ -3744,14 +3618,12 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul64, typ.UInt64) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(1<<31 + umagic(32, c).m/2) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 32 + umagic(32, c).s - 1 - v0.AddArg(v4) + v0.AddArg2(v1, v4) v.AddArg(v0) return true } @@ -3772,19 +3644,16 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul64, typ.UInt64) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(1<<31 + (umagic(32, c).m+1)/2) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpRsh64Ux64, typ.UInt64) v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v4.AddArg(x) - v3.AddArg(v4) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = 1 - v3.AddArg(v5) - v1.AddArg(v3) - v0.AddArg(v1) + v3.AddArg2(v4, v5) + v1.AddArg2(v2, v3) v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v6.AuxInt = 32 + umagic(32, c).s - 2 - v0.AddArg(v6) + v0.AddArg2(v1, v6) v.AddArg(v0) return true } @@ -3806,23 +3675,19 @@ func rewriteValuegeneric_OpDiv32u(v *Value) bool { v2 := b.NewValue0(v.Pos, OpLsh64x64, typ.UInt64) v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v3.AddArg(x) - v2.AddArg(v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 32 - v2.AddArg(v4) - v1.AddArg(v2) + v2.AddArg2(v3, v4) v5 := b.NewValue0(v.Pos, OpMul64, typ.UInt64) v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt32) v6.AuxInt = int64(umagic(32, c).m) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64) v7.AddArg(x) - v5.AddArg(v7) - v1.AddArg(v5) - v0.AddArg(v1) + v5.AddArg2(v6, v7) + v1.AddArg2(v2, v5) v8 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v8.AuxInt = 32 + umagic(32, c).s - 1 - v0.AddArg(v8) + v0.AddArg2(v1, v8) v.AddArg(v0) return true } @@ -3866,10 +3731,9 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div64 n (Const64 [-1<<63])) @@ -3899,10 +3763,9 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { } v.reset(OpNeg64) v0 := b.NewValue0(v.Pos, OpDiv64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst64, t) v1.AuxInt = -c - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -3916,14 +3779,12 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { } v.reset(OpRsh64Ux64) v0 := b.NewValue0(v.Pos, OpAnd64, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpNeg64, t) v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = 63 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div64 n (Const64 [c])) @@ -3941,22 +3802,18 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { } v.reset(OpRsh64x64) v0 := b.NewValue0(v.Pos, OpAdd64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpRsh64Ux64, t) v2 := b.NewValue0(v.Pos, OpRsh64x64, t) - v2.AddArg(n) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 63 - v2.AddArg(v3) - v1.AddArg(v2) + v2.AddArg2(n, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 64 - log2(c) - v1.AddArg(v4) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, v4) + v0.AddArg2(n, v1) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = log2(c) - v.AddArg(v5) + v.AddArg2(v0, v5) return true } // match: (Div64 x (Const64 [c])) @@ -3978,19 +3835,15 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { v1 := b.NewValue0(v.Pos, OpHmul64, t) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(smagic(64, c).m / 2) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = smagic(64, c).s - 1 - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpRsh64x64, t) - v4.AddArg(x) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = 63 - v4.AddArg(v5) - v.AddArg(v4) + v4.AddArg2(x, v5) + v.AddArg2(v0, v4) return true } // match: (Div64 x (Const64 [c])) @@ -4013,21 +3866,16 @@ func rewriteValuegeneric_OpDiv64(v *Value) bool { v2 := b.NewValue0(v.Pos, OpHmul64, t) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = int64(smagic(64, c).m) - v2.AddArg(v3) - v2.AddArg(x) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v2.AddArg2(v3, x) + v1.AddArg2(v2, x) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = smagic(64, c).s - v0.AddArg(v4) - v.AddArg(v0) + v0.AddArg2(v1, v4) v5 := b.NewValue0(v.Pos, OpRsh64x64, t) - v5.AddArg(x) v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v6.AuxInt = 63 - v5.AddArg(v6) - v.AddArg(v5) + v5.AddArg2(x, v6) + v.AddArg2(v0, v5) return true } return false @@ -4065,10 +3913,9 @@ func rewriteValuegeneric_OpDiv64F(v *Value) bool { break } v.reset(OpMul64F) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64F, t) v0.AuxInt = auxFrom64F(1 / auxTo64F(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -4111,10 +3958,9 @@ func rewriteValuegeneric_OpDiv64u(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div64u n (Const64 [-1<<63])) @@ -4125,10 +3971,9 @@ func rewriteValuegeneric_OpDiv64u(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = 63 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div64u x (Const64 [c])) @@ -4148,12 +3993,10 @@ func rewriteValuegeneric_OpDiv64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpHmul64u, typ.UInt64) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = int64(1<<63 + umagic(64, c).m/2) - v0.AddArg(v1) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(v1, x) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = umagic(64, c).s - 1 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div64u x (Const64 [c])) @@ -4173,17 +4016,14 @@ func rewriteValuegeneric_OpDiv64u(v *Value) bool { v0 := b.NewValue0(v.Pos, OpHmul64u, typ.UInt64) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = int64(1<<63 + (umagic(64, c).m+1)/2) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpRsh64Ux64, typ.UInt64) - v2.AddArg(x) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 1 - v2.AddArg(v3) - v0.AddArg(v2) - v.AddArg(v0) + v2.AddArg2(x, v3) + v0.AddArg2(v1, v2) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = umagic(64, c).s - 2 - v.AddArg(v4) + v.AddArg2(v0, v4) return true } // match: (Div64u x (Const64 [c])) @@ -4201,17 +4041,14 @@ func rewriteValuegeneric_OpDiv64u(v *Value) bool { v.reset(OpRsh64Ux64) v.Type = typ.UInt64 v0 := b.NewValue0(v.Pos, OpAvg64u, typ.UInt64) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpHmul64u, typ.UInt64) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = int64(umagic(64, c).m) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, x) + v0.AddArg2(x, v1) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = umagic(64, c).s - 1 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } return false @@ -4253,10 +4090,9 @@ func rewriteValuegeneric_OpDiv8(v *Value) bool { break } v.reset(OpRsh8Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div8 n (Const8 [c])) @@ -4274,10 +4110,9 @@ func rewriteValuegeneric_OpDiv8(v *Value) bool { } v.reset(OpNeg8) v0 := b.NewValue0(v.Pos, OpDiv8, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst8, t) v1.AuxInt = -c - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -4291,14 +4126,12 @@ func rewriteValuegeneric_OpDiv8(v *Value) bool { } v.reset(OpRsh8Ux64) v0 := b.NewValue0(v.Pos, OpAnd8, t) - v0.AddArg(x) v1 := b.NewValue0(v.Pos, OpNeg8, t) v1.AddArg(x) - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(x, v1) v2 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v2.AuxInt = 7 - v.AddArg(v2) + v.AddArg2(v0, v2) return true } // match: (Div8 n (Const8 [c])) @@ -4316,22 +4149,18 @@ func rewriteValuegeneric_OpDiv8(v *Value) bool { } v.reset(OpRsh8x64) v0 := b.NewValue0(v.Pos, OpAdd8, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpRsh8Ux64, t) v2 := b.NewValue0(v.Pos, OpRsh8x64, t) - v2.AddArg(n) v3 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v3.AuxInt = 7 - v2.AddArg(v3) - v1.AddArg(v2) + v2.AddArg2(n, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 8 - log2(c) - v1.AddArg(v4) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg2(v2, v4) + v0.AddArg2(n, v1) v5 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v5.AuxInt = log2(c) - v.AddArg(v5) + v.AddArg2(v0, v5) return true } // match: (Div8 x (Const8 [c])) @@ -4353,23 +4182,19 @@ func rewriteValuegeneric_OpDiv8(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(smagic(8, c).m) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 8 + smagic(8, c).s - v0.AddArg(v4) - v.AddArg(v0) + v0.AddArg2(v1, v4) v5 := b.NewValue0(v.Pos, OpRsh32x64, t) v6 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32) v6.AddArg(x) - v5.AddArg(v6) v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v7.AuxInt = 31 - v5.AddArg(v7) - v.AddArg(v5) + v5.AddArg2(v6, v7) + v.AddArg2(v0, v5) return true } return false @@ -4411,10 +4236,9 @@ func rewriteValuegeneric_OpDiv8u(v *Value) bool { break } v.reset(OpRsh8Ux64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c & 0xff) - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Div8u x (Const8 [c])) @@ -4434,14 +4258,12 @@ func rewriteValuegeneric_OpDiv8u(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul32, typ.UInt32) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = int64(1<<8 + umagic(8, c).m) - v1.AddArg(v2) v3 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32) v3.AddArg(x) - v1.AddArg(v3) - v0.AddArg(v1) + v1.AddArg2(v2, v3) v4 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v4.AuxInt = 8 + umagic(8, c).s - v0.AddArg(v4) + v0.AddArg2(v1, v4) v.AddArg(v0) return true } @@ -4488,8 +4310,7 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v.reset(OpEq16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -4535,14 +4356,12 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMod32u, typ.UInt32) v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v2.AuxInt = c & 0xffff - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst32, typ.UInt32) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } break @@ -4569,14 +4388,12 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v0 := b.NewValue0(v.Pos, OpMod32, typ.Int32) v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32) v1.AddArg(x) - v0.AddArg(v1) v2 := b.NewValue0(v.Pos, OpConst32, typ.Int32) v2.AuxInt = c - v0.AddArg(v2) - v.AddArg(v0) + v0.AddArg2(v1, v2) v3 := b.NewValue0(v.Pos, OpConst32, typ.Int32) v3.AuxInt = 0 - v.AddArg(v3) + v.AddArg2(v0, v3) return true } break @@ -4634,16 +4451,13 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul16, typ.UInt16) v2 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v2.AuxInt = int64(int16(udivisible(16, c).m)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v3.AuxInt = int64(16 - udivisible(16, c).k) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v4.AuxInt = int64(int16(udivisible(16, c).max)) - v.AddArg(v4) + v.AddArg2(v0, v4) return true } } @@ -4703,16 +4517,13 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul16, typ.UInt16) v2 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v2.AuxInt = int64(int16(udivisible(16, c).m)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v3.AuxInt = int64(16 - udivisible(16, c).k) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v4.AuxInt = int64(int16(udivisible(16, c).max)) - v.AddArg(v4) + v.AddArg2(v0, v4) return true } } @@ -4781,16 +4592,13 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul16, typ.UInt16) v2 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v2.AuxInt = int64(int16(udivisible(16, c).m)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v3.AuxInt = int64(16 - udivisible(16, c).k) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v4.AuxInt = int64(int16(udivisible(16, c).max)) - v.AddArg(v4) + v.AddArg2(v0, v4) return true } } @@ -4868,16 +4676,13 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v1 := b.NewValue0(v.Pos, OpMul16, typ.UInt16) v2 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v2.AuxInt = int64(int16(udivisible(16, c).m)) - v1.AddArg(v2) - v1.AddArg(x) - v0.AddArg(v1) + v1.AddArg2(v2, x) v3 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v3.AuxInt = int64(16 - udivisible(16, c).k) - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) v4 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v4.AuxInt = int64(int16(udivisible(16, c).max)) - v.AddArg(v4) + v.AddArg2(v0, v4) return true } } @@ -4949,20 +4754,16 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { v2 := b.NewValue0(v.Pos, OpMul16, typ.UInt16) v3 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v3.AuxInt = int64(int16(sdivisible(16, c).m)) - v2.AddArg(v3) - v2.AddArg(x) - v1.AddArg(v2) + v2.AddArg2(v3, x) v4 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v4.AuxInt = int64(int16(sdivisible(16, c).a)) - v1.AddArg(v4) - v0.AddArg(v1) + v1.AddArg2(v2, v4) v5 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v5.AuxInt = int64(16 - sdivisible(16, c).k) - v0.AddArg(v5) - v.AddArg(v0) + v0.AddArg2(v1, v5) v6 := b.NewValue0(v.Pos, OpConst16, typ.UInt16) v6.AuxInt = int64(int16(sdivisible(16, c).max)) - v.AddArg(v6) + v.AddArg2(v0, v6) return true } } @@ -5025,14 +4826,12 @@ func rewriteValuegeneric_OpEq16(v *Value) bool { } v.reset(OpEq16) v0 := b.NewValue0(v.Pos, OpAnd16, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst16, t) v1.AuxInt = int64(1< op:(OffPtr [o1] p1) (Store {t2} p2 _ (Store {t3} p3 _ mem:(Zero [n] p4 _)))) @@ -9463,8 +9178,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, op.Type) v1.AuxInt = o1 v1.AddArg(p4) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (Load op:(OffPtr [o1] p1) (Store {t2} p2 _ (Store {t3} p3 _ (Store {t4} p4 _ mem:(Zero [n] p5 _))))) @@ -9515,8 +9229,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, op.Type) v1.AuxInt = o1 v1.AddArg(p5) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (Load op:(OffPtr [o1] p1) (Store {t2} p2 _ (Store {t3} p3 _ (Store {t4} p4 _ (Store {t5} p5 _ mem:(Zero [n] p6 _)))))) @@ -9574,8 +9287,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, op.Type) v1.AuxInt = o1 v1.AddArg(p6) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (Load (OffPtr [o] p1) (Zero [n] p2 _)) @@ -9765,8 +9477,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v1.AuxInt = 0 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) v.AddArg(v0) return true } @@ -9785,16 +9496,13 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v1.AuxInt = 0 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(v1, mem) v2 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1)) v3 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v3.AuxInt = t.FieldOff(1) v3.AddArg(ptr) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg2(v3, mem) + v.AddArg2(v0, v2) return true } // match: (Load ptr mem) @@ -9812,23 +9520,18 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v1.AuxInt = 0 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(v1, mem) v2 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1)) v3 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v3.AuxInt = t.FieldOff(1) v3.AddArg(ptr) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg2(v3, mem) v4 := b.NewValue0(v.Pos, OpLoad, t.FieldType(2)) v5 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo()) v5.AuxInt = t.FieldOff(2) v5.AddArg(ptr) - v4.AddArg(v5) - v4.AddArg(mem) - v.AddArg(v4) + v4.AddArg2(v5, mem) + v.AddArg3(v0, v2, v4) return true } // match: (Load ptr mem) @@ -9846,30 +9549,23 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v1.AuxInt = 0 v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg2(v1, mem) v2 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1)) v3 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v3.AuxInt = t.FieldOff(1) v3.AddArg(ptr) - v2.AddArg(v3) - v2.AddArg(mem) - v.AddArg(v2) + v2.AddArg2(v3, mem) v4 := b.NewValue0(v.Pos, OpLoad, t.FieldType(2)) v5 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo()) v5.AuxInt = t.FieldOff(2) v5.AddArg(ptr) - v4.AddArg(v5) - v4.AddArg(mem) - v.AddArg(v4) + v4.AddArg2(v5, mem) v6 := b.NewValue0(v.Pos, OpLoad, t.FieldType(3)) v7 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(3).PtrTo()) v7.AuxInt = t.FieldOff(3) v7.AddArg(ptr) - v6.AddArg(v7) - v6.AddArg(mem) - v.AddArg(v6) + v6.AddArg2(v7, mem) + v.AddArg4(v0, v2, v4, v6) return true } // match: (Load _ _) @@ -9895,8 +9591,7 @@ func rewriteValuegeneric_OpLoad(v *Value) bool { } v.reset(OpArrayMake1) v0 := b.NewValue0(v.Pos, OpLoad, t.Elem()) - v0.AddArg(ptr) - v0.AddArg(mem) + v0.AddArg2(ptr, mem) v.AddArg(v0) return true } @@ -9916,10 +9611,9 @@ func rewriteValuegeneric_OpLsh16x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh16x16 (Const16 [0]) _) @@ -9948,10 +9642,9 @@ func rewriteValuegeneric_OpLsh16x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh16x32 (Const16 [0]) _) @@ -10046,10 +9739,9 @@ func rewriteValuegeneric_OpLsh16x64(v *Value) bool { break } v.reset(OpLsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh16x64 (Rsh16Ux64 (Lsh16x64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -10084,10 +9776,9 @@ func rewriteValuegeneric_OpLsh16x64(v *Value) bool { break } v.reset(OpLsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -10106,10 +9797,9 @@ func rewriteValuegeneric_OpLsh16x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh16x8 (Const16 [0]) _) @@ -10138,10 +9828,9 @@ func rewriteValuegeneric_OpLsh32x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh32x16 (Const32 [0]) _) @@ -10170,10 +9859,9 @@ func rewriteValuegeneric_OpLsh32x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh32x32 (Const32 [0]) _) @@ -10268,10 +9956,9 @@ func rewriteValuegeneric_OpLsh32x64(v *Value) bool { break } v.reset(OpLsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh32x64 (Rsh32Ux64 (Lsh32x64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -10306,10 +9993,9 @@ func rewriteValuegeneric_OpLsh32x64(v *Value) bool { break } v.reset(OpLsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -10328,10 +10014,9 @@ func rewriteValuegeneric_OpLsh32x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh32x8 (Const32 [0]) _) @@ -10360,10 +10045,9 @@ func rewriteValuegeneric_OpLsh64x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x16 (Const64 [0]) _) @@ -10392,10 +10076,9 @@ func rewriteValuegeneric_OpLsh64x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x32 (Const64 [0]) _) @@ -10490,10 +10173,9 @@ func rewriteValuegeneric_OpLsh64x64(v *Value) bool { break } v.reset(OpLsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x64 (Rsh64Ux64 (Lsh64x64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -10528,10 +10210,9 @@ func rewriteValuegeneric_OpLsh64x64(v *Value) bool { break } v.reset(OpLsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -10550,10 +10231,9 @@ func rewriteValuegeneric_OpLsh64x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh64x8 (Const64 [0]) _) @@ -10582,10 +10262,9 @@ func rewriteValuegeneric_OpLsh8x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh8x16 (Const8 [0]) _) @@ -10614,10 +10293,9 @@ func rewriteValuegeneric_OpLsh8x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh8x32 (Const8 [0]) _) @@ -10712,10 +10390,9 @@ func rewriteValuegeneric_OpLsh8x64(v *Value) bool { break } v.reset(OpLsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh8x64 (Rsh8Ux64 (Lsh8x64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -10750,10 +10427,9 @@ func rewriteValuegeneric_OpLsh8x64(v *Value) bool { break } v.reset(OpLsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -10772,10 +10448,9 @@ func rewriteValuegeneric_OpLsh8x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpLsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Lsh8x8 (Const8 [0]) _) @@ -10827,10 +10502,9 @@ func rewriteValuegeneric_OpMod16(v *Value) bool { break } v.reset(OpAnd16) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = (c & 0xffff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod16 n (Const16 [c])) @@ -10848,10 +10522,9 @@ func rewriteValuegeneric_OpMod16(v *Value) bool { } v.reset(OpMod16) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = -c - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod16 x (Const16 [c])) @@ -10868,18 +10541,15 @@ func rewriteValuegeneric_OpMod16(v *Value) bool { break } v.reset(OpSub16) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul16, t) v1 := b.NewValue0(v.Pos, OpDiv16, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst16, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst16, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -10921,10 +10591,9 @@ func rewriteValuegeneric_OpMod16u(v *Value) bool { break } v.reset(OpAnd16) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = (c & 0xffff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod16u x (Const16 [c])) @@ -10941,18 +10610,15 @@ func rewriteValuegeneric_OpMod16u(v *Value) bool { break } v.reset(OpSub16) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul16, t) v1 := b.NewValue0(v.Pos, OpDiv16u, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst16, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst16, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -10994,10 +10660,9 @@ func rewriteValuegeneric_OpMod32(v *Value) bool { break } v.reset(OpAnd32) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = (c & 0xffffffff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod32 n (Const32 [c])) @@ -11015,10 +10680,9 @@ func rewriteValuegeneric_OpMod32(v *Value) bool { } v.reset(OpMod32) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = -c - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod32 x (Const32 [c])) @@ -11035,18 +10699,15 @@ func rewriteValuegeneric_OpMod32(v *Value) bool { break } v.reset(OpSub32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul32, t) v1 := b.NewValue0(v.Pos, OpDiv32, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst32, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst32, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11088,10 +10749,9 @@ func rewriteValuegeneric_OpMod32u(v *Value) bool { break } v.reset(OpAnd32) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = (c & 0xffffffff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod32u x (Const32 [c])) @@ -11108,18 +10768,15 @@ func rewriteValuegeneric_OpMod32u(v *Value) bool { break } v.reset(OpSub32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul32, t) v1 := b.NewValue0(v.Pos, OpDiv32u, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst32, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst32, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11161,10 +10818,9 @@ func rewriteValuegeneric_OpMod64(v *Value) bool { break } v.reset(OpAnd64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod64 n (Const64 [-1<<63])) @@ -11195,10 +10851,9 @@ func rewriteValuegeneric_OpMod64(v *Value) bool { } v.reset(OpMod64) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = -c - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod64 x (Const64 [c])) @@ -11215,18 +10870,15 @@ func rewriteValuegeneric_OpMod64(v *Value) bool { break } v.reset(OpSub64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul64, t) v1 := b.NewValue0(v.Pos, OpDiv64, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11268,10 +10920,9 @@ func rewriteValuegeneric_OpMod64u(v *Value) bool { break } v.reset(OpAnd64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod64u n (Const64 [-1<<63])) @@ -11283,10 +10934,9 @@ func rewriteValuegeneric_OpMod64u(v *Value) bool { break } v.reset(OpAnd64) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 1<<63 - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod64u x (Const64 [c])) @@ -11303,18 +10953,15 @@ func rewriteValuegeneric_OpMod64u(v *Value) bool { break } v.reset(OpSub64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul64, t) v1 := b.NewValue0(v.Pos, OpDiv64u, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst64, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11356,10 +11003,9 @@ func rewriteValuegeneric_OpMod8(v *Value) bool { break } v.reset(OpAnd8) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = (c & 0xff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod8 n (Const8 [c])) @@ -11377,10 +11023,9 @@ func rewriteValuegeneric_OpMod8(v *Value) bool { } v.reset(OpMod8) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = -c - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod8 x (Const8 [c])) @@ -11397,18 +11042,15 @@ func rewriteValuegeneric_OpMod8(v *Value) bool { break } v.reset(OpSub8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul8, t) v1 := b.NewValue0(v.Pos, OpDiv8, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst8, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst8, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11450,10 +11092,9 @@ func rewriteValuegeneric_OpMod8u(v *Value) bool { break } v.reset(OpAnd8) - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = (c & 0xff) - 1 - v.AddArg(v0) + v.AddArg2(n, v0) return true } // match: (Mod8u x (Const8 [c])) @@ -11470,18 +11111,15 @@ func rewriteValuegeneric_OpMod8u(v *Value) bool { break } v.reset(OpSub8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpMul8, t) v1 := b.NewValue0(v.Pos, OpDiv8u, t) - v1.AddArg(x) v2 := b.NewValue0(v.Pos, OpConst8, t) v2.AuxInt = c - v1.AddArg(v2) - v0.AddArg(v1) + v1.AddArg2(x, v2) v3 := b.NewValue0(v.Pos, OpConst8, t) v3.AuxInt = c - v0.AddArg(v3) - v.AddArg(v0) + v0.AddArg2(v1, v3) + v.AddArg2(x, v0) return true } return false @@ -11512,8 +11150,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpZero) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(mem) + v.AddArg2(dst1, mem) return true } // match: (Move {t} [n] dst1 src mem:(VarDef (Zero {t} [n] dst0 _))) @@ -11540,8 +11177,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpZero) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(mem) + v.AddArg2(dst1, mem) return true } // match: (Move {t1} [n] dst1 src1 store:(Store {t2} op:(OffPtr [o2] dst2) _ mem)) @@ -11570,9 +11206,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = n v.Aux = t1 - v.AddArg(dst1) - v.AddArg(src1) - v.AddArg(mem) + v.AddArg3(dst1, src1, mem) return true } // match: (Move {t} [n] dst1 src1 move:(Move {t} [n] dst2 _ mem)) @@ -11595,9 +11229,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(src1) - v.AddArg(mem) + v.AddArg3(dst1, src1, mem) return true } // match: (Move {t} [n] dst1 src1 vardef:(VarDef {x} move:(Move {t} [n] dst2 _ mem))) @@ -11625,12 +11257,10 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(src1) v0 := b.NewValue0(v.Pos, OpVarDef, types.TypeMem) v0.Aux = x v0.AddArg(mem) - v.AddArg(v0) + v.AddArg3(dst1, src1, v0) return true } // match: (Move {t} [n] dst1 src1 zero:(Zero {t} [n] dst2 mem)) @@ -11653,9 +11283,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(src1) - v.AddArg(mem) + v.AddArg3(dst1, src1, mem) return true } // match: (Move {t} [n] dst1 src1 vardef:(VarDef {x} zero:(Zero {t} [n] dst2 mem))) @@ -11683,12 +11311,10 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(src1) v0 := b.NewValue0(v.Pos, OpVarDef, types.TypeMem) v0.Aux = x v0.AddArg(mem) - v.AddArg(v0) + v.AddArg3(dst1, src1, v0) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [0] p3) d2 _))) @@ -11737,17 +11363,13 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = 0 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(v2, d2, mem) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [o3] p3) d2 (Store {t4} op4:(OffPtr [0] p4) d3 _)))) @@ -11810,25 +11432,19 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = 0 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(v4, d3, mem) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [o3] p3) d2 (Store {t4} op4:(OffPtr [o4] p4) d3 (Store {t5} op5:(OffPtr [0] p5) d4 _))))) @@ -11905,33 +11521,25 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v5.Aux = t5 v6 := b.NewValue0(v.Pos, OpOffPtr, tt5) v6.AuxInt = 0 v6.AddArg(dst) - v5.AddArg(v6) - v5.AddArg(d4) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg3(v6, d4, mem) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [0] p3) d2 _)))) @@ -11984,17 +11592,13 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = 0 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(v2, d2, mem) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [o3] p3) d2 (Store {t4} op4:(OffPtr [0] p4) d3 _))))) @@ -12061,25 +11665,19 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = 0 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(v4, d3, mem) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} op2:(OffPtr [o2] p2) d1 (Store {t3} op3:(OffPtr [o3] p3) d2 (Store {t4} op4:(OffPtr [o4] p4) d3 (Store {t5} op5:(OffPtr [0] p5) d4 _)))))) @@ -12160,33 +11758,25 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v5.Aux = t5 v6 := b.NewValue0(v.Pos, OpOffPtr, tt5) v6.AuxInt = 0 v6.AddArg(dst) - v5.AddArg(v6) - v5.AddArg(d4) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg3(v6, d4, mem) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} op2:(OffPtr [o2] p2) d1 (Zero {t3} [n] p3 _))) @@ -12226,14 +11816,11 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v1.AuxInt = n v1.Aux = t1 - v1.AddArg(dst) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(dst, mem) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Zero {t4} [n] p4 _)))) @@ -12287,22 +11874,17 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v3.AuxInt = n v3.Aux = t1 - v3.AddArg(dst) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg2(dst, mem) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Store {t4} (OffPtr [o4] p4) d3 (Zero {t5} [n] p5 _))))) @@ -12370,30 +11952,23 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v5.AuxInt = n v5.Aux = t1 - v5.AddArg(dst) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg2(dst, mem) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Store {t4} (OffPtr [o4] p4) d3 (Store {t5} (OffPtr [o5] p5) d4 (Zero {t6} [n] p6 _)))))) @@ -12475,38 +12050,29 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v5.Aux = t5 v6 := b.NewValue0(v.Pos, OpOffPtr, tt5) v6.AuxInt = o5 v6.AddArg(dst) - v5.AddArg(v6) - v5.AddArg(d4) v7 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v7.AuxInt = n v7.Aux = t1 - v7.AddArg(dst) - v7.AddArg(mem) - v5.AddArg(v7) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v7.AddArg2(dst, mem) + v5.AddArg3(v6, d4, v7) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} op2:(OffPtr [o2] p2) d1 (Zero {t3} [n] p3 _)))) @@ -12550,14 +12116,11 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v1.AuxInt = n v1.Aux = t1 - v1.AddArg(dst) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg2(dst, mem) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Zero {t4} [n] p4 _))))) @@ -12615,22 +12178,17 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v3.AuxInt = n v3.Aux = t1 - v3.AddArg(dst) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg2(dst, mem) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Store {t4} (OffPtr [o4] p4) d3 (Zero {t5} [n] p5 _)))))) @@ -12702,30 +12260,23 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v5.AuxInt = n v5.Aux = t1 - v5.AddArg(dst) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg2(dst, mem) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [n] dst p1 mem:(VarDef (Store {t2} (OffPtr [o2] p2) d1 (Store {t3} (OffPtr [o3] p3) d2 (Store {t4} (OffPtr [o4] p4) d3 (Store {t5} (OffPtr [o5] p5) d4 (Zero {t6} [n] p6 _))))))) @@ -12811,38 +12362,29 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, tt2) v0.AuxInt = o2 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(d1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 v2 := b.NewValue0(v.Pos, OpOffPtr, tt3) v2.AuxInt = o3 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(d2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t4 v4 := b.NewValue0(v.Pos, OpOffPtr, tt4) v4.AuxInt = o4 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(d3) v5 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v5.Aux = t5 v6 := b.NewValue0(v.Pos, OpOffPtr, tt5) v6.AuxInt = o5 v6.AddArg(dst) - v5.AddArg(v6) - v5.AddArg(d4) v7 := b.NewValue0(v.Pos, OpZero, types.TypeMem) v7.AuxInt = n v7.Aux = t1 - v7.AddArg(dst) - v7.AddArg(mem) - v5.AddArg(v7) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v7.AddArg2(dst, mem) + v5.AddArg3(v6, d4, v7) + v3.AddArg3(v4, d3, v5) + v1.AddArg3(v2, d2, v3) + v.AddArg3(v0, d1, v1) return true } // match: (Move {t1} [s] dst tmp1 midmem:(Move {t2} [s] tmp2 src _)) @@ -12867,9 +12409,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = s v.Aux = t1 - v.AddArg(dst) - v.AddArg(src) - v.AddArg(midmem) + v.AddArg3(dst, src, midmem) return true } // match: (Move {t1} [s] dst tmp1 midmem:(VarDef (Move {t2} [s] tmp2 src _))) @@ -12898,9 +12438,7 @@ func rewriteValuegeneric_OpMove(v *Value) bool { v.reset(OpMove) v.AuxInt = s v.Aux = t1 - v.AddArg(dst) - v.AddArg(src) - v.AddArg(midmem) + v.AddArg3(dst, src, midmem) return true } // match: (Move dst src mem) @@ -12988,10 +12526,9 @@ func rewriteValuegeneric_OpMul16(v *Value) bool { } v.reset(OpLsh16x64) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } break @@ -13012,10 +12549,9 @@ func rewriteValuegeneric_OpMul16(v *Value) bool { } v.reset(OpNeg16) v0 := b.NewValue0(v.Pos, OpLsh16x64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = log2(-c) - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -13058,8 +12594,7 @@ func rewriteValuegeneric_OpMul16(v *Value) bool { v.reset(OpMul16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c * d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -13135,10 +12670,9 @@ func rewriteValuegeneric_OpMul32(v *Value) bool { } v.reset(OpLsh32x64) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } break @@ -13159,10 +12693,9 @@ func rewriteValuegeneric_OpMul32(v *Value) bool { } v.reset(OpNeg32) v0 := b.NewValue0(v.Pos, OpLsh32x64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = log2(-c) - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -13192,13 +12725,11 @@ func rewriteValuegeneric_OpMul32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c * d)) - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMul32, t) v2 := b.NewValue0(v.Pos, OpConst32, t) v2.AuxInt = c - v1.AddArg(v2) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(v2, x) + v.AddArg2(v0, v1) return true } } @@ -13241,8 +12772,7 @@ func rewriteValuegeneric_OpMul32(v *Value) bool { v.reset(OpMul32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c * d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -13309,8 +12839,7 @@ func rewriteValuegeneric_OpMul32F(v *Value) bool { continue } v.reset(OpAdd32F) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -13385,10 +12914,9 @@ func rewriteValuegeneric_OpMul64(v *Value) bool { } v.reset(OpLsh64x64) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } break @@ -13409,10 +12937,9 @@ func rewriteValuegeneric_OpMul64(v *Value) bool { } v.reset(OpNeg64) v0 := b.NewValue0(v.Pos, OpLsh64x64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = log2(-c) - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -13442,13 +12969,11 @@ func rewriteValuegeneric_OpMul64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c * d - v.AddArg(v0) v1 := b.NewValue0(v.Pos, OpMul64, t) v2 := b.NewValue0(v.Pos, OpConst64, t) v2.AuxInt = c - v1.AddArg(v2) - v1.AddArg(x) - v.AddArg(v1) + v1.AddArg2(v2, x) + v.AddArg2(v0, v1) return true } } @@ -13491,8 +13016,7 @@ func rewriteValuegeneric_OpMul64(v *Value) bool { v.reset(OpMul64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c * d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -13559,8 +13083,7 @@ func rewriteValuegeneric_OpMul64F(v *Value) bool { continue } v.reset(OpAdd64F) - v.AddArg(x) - v.AddArg(x) + v.AddArg2(x, x) return true } break @@ -13635,10 +13158,9 @@ func rewriteValuegeneric_OpMul8(v *Value) bool { } v.reset(OpLsh8x64) v.Type = t - v.AddArg(n) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = log2(c) - v.AddArg(v0) + v.AddArg2(n, v0) return true } break @@ -13659,10 +13181,9 @@ func rewriteValuegeneric_OpMul8(v *Value) bool { } v.reset(OpNeg8) v0 := b.NewValue0(v.Pos, OpLsh8x64, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v1.AuxInt = log2(-c) - v0.AddArg(v1) + v0.AddArg2(n, v1) v.AddArg(v0) return true } @@ -13705,8 +13226,7 @@ func rewriteValuegeneric_OpMul8(v *Value) bool { v.reset(OpMul8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c * d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -13737,8 +13257,7 @@ func rewriteValuegeneric_OpNeg16(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpSub16) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (Neg16 (Neg16 x)) @@ -13764,8 +13283,7 @@ func rewriteValuegeneric_OpNeg16(v *Value) bool { v.reset(OpAdd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -13793,8 +13311,7 @@ func rewriteValuegeneric_OpNeg32(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpSub32) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (Neg32 (Neg32 x)) @@ -13820,8 +13337,7 @@ func rewriteValuegeneric_OpNeg32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -13868,8 +13384,7 @@ func rewriteValuegeneric_OpNeg64(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpSub64) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (Neg64 (Neg64 x)) @@ -13895,8 +13410,7 @@ func rewriteValuegeneric_OpNeg64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -13943,8 +13457,7 @@ func rewriteValuegeneric_OpNeg8(v *Value) bool { y := v_0.Args[1] x := v_0.Args[0] v.reset(OpSub8) - v.AddArg(y) - v.AddArg(x) + v.AddArg2(y, x) return true } // match: (Neg8 (Neg8 x)) @@ -13970,8 +13483,7 @@ func rewriteValuegeneric_OpNeg8(v *Value) bool { v.reset(OpAdd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = 1 - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -14016,8 +13528,7 @@ func rewriteValuegeneric_OpNeq16(v *Value) bool { v.reset(OpNeq16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -14097,14 +13608,12 @@ func rewriteValuegeneric_OpNeq16(v *Value) bool { } v.reset(OpNeq16) v0 := b.NewValue0(v.Pos, OpAnd16, t) - v0.AddArg(n) v1 := b.NewValue0(v.Pos, OpConst16, t) v1.AuxInt = int64(1< ptr idx) @@ -16695,13 +16126,11 @@ func rewriteValuegeneric_OpPtrIndex(v *Value) bool { break } v.reset(OpAddPtr) - v.AddArg(ptr) v0 := b.NewValue0(v.Pos, OpMul64, typ.Int) - v0.AddArg(idx) v1 := b.NewValue0(v.Pos, OpConst64, typ.Int) v1.AuxInt = t.Elem().Size() - v0.AddArg(v1) - v.AddArg(v0) + v0.AddArg2(idx, v1) + v.AddArg2(ptr, v0) return true } return false @@ -16840,10 +16269,9 @@ func rewriteValuegeneric_OpRsh16Ux16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux16 (Const16 [0]) _) @@ -16872,10 +16300,9 @@ func rewriteValuegeneric_OpRsh16Ux32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux32 (Const16 [0]) _) @@ -16970,10 +16397,9 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value) bool { break } v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux64 (Rsh16x64 x _) (Const64 [15])) @@ -16992,10 +16418,9 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value) bool { break } v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 15 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux64 (Lsh16x64 (Rsh16Ux64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -17030,10 +16455,9 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value) bool { break } v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux64 (Lsh16x64 x (Const64 [8])) (Const64 [8])) @@ -17070,10 +16494,9 @@ func rewriteValuegeneric_OpRsh16Ux8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16Ux8 (Const16 [0]) _) @@ -17102,10 +16525,9 @@ func rewriteValuegeneric_OpRsh16x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16x16 (Const16 [0]) _) @@ -17134,10 +16556,9 @@ func rewriteValuegeneric_OpRsh16x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16x32 (Const16 [0]) _) @@ -17217,10 +16638,9 @@ func rewriteValuegeneric_OpRsh16x64(v *Value) bool { break } v.reset(OpRsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16x64 (Lsh16x64 x (Const64 [8])) (Const64 [8])) @@ -17257,10 +16677,9 @@ func rewriteValuegeneric_OpRsh16x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh16x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh16x8 (Const16 [0]) _) @@ -17289,10 +16708,9 @@ func rewriteValuegeneric_OpRsh32Ux16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux16 (Const32 [0]) _) @@ -17321,10 +16739,9 @@ func rewriteValuegeneric_OpRsh32Ux32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux32 (Const32 [0]) _) @@ -17419,10 +16836,9 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value) bool { break } v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux64 (Rsh32x64 x _) (Const64 [31])) @@ -17441,10 +16857,9 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value) bool { break } v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 31 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux64 (Lsh32x64 (Rsh32Ux64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -17479,10 +16894,9 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value) bool { break } v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux64 (Lsh32x64 x (Const64 [24])) (Const64 [24])) @@ -17537,10 +16951,9 @@ func rewriteValuegeneric_OpRsh32Ux8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32Ux8 (Const32 [0]) _) @@ -17569,10 +16982,9 @@ func rewriteValuegeneric_OpRsh32x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32x16 (Const32 [0]) _) @@ -17601,10 +17013,9 @@ func rewriteValuegeneric_OpRsh32x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32x32 (Const32 [0]) _) @@ -17684,10 +17095,9 @@ func rewriteValuegeneric_OpRsh32x64(v *Value) bool { break } v.reset(OpRsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32x64 (Lsh32x64 x (Const64 [24])) (Const64 [24])) @@ -17742,10 +17152,9 @@ func rewriteValuegeneric_OpRsh32x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh32x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh32x8 (Const32 [0]) _) @@ -17774,10 +17183,9 @@ func rewriteValuegeneric_OpRsh64Ux16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux16 (Const64 [0]) _) @@ -17806,10 +17214,9 @@ func rewriteValuegeneric_OpRsh64Ux32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux32 (Const64 [0]) _) @@ -17904,10 +17311,9 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 (Rsh64x64 x _) (Const64 [63])) @@ -17926,10 +17332,9 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 63 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 (Lsh64x64 (Rsh64Ux64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -17964,10 +17369,9 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value) bool { break } v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux64 (Lsh64x64 x (Const64 [56])) (Const64 [56])) @@ -18040,10 +17444,9 @@ func rewriteValuegeneric_OpRsh64Ux8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64Ux8 (Const64 [0]) _) @@ -18072,10 +17475,9 @@ func rewriteValuegeneric_OpRsh64x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x16 (Const64 [0]) _) @@ -18104,10 +17506,9 @@ func rewriteValuegeneric_OpRsh64x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x32 (Const64 [0]) _) @@ -18187,10 +17588,9 @@ func rewriteValuegeneric_OpRsh64x64(v *Value) bool { break } v.reset(OpRsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x64 (Lsh64x64 x (Const64 [56])) (Const64 [56])) @@ -18263,10 +17663,9 @@ func rewriteValuegeneric_OpRsh64x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh64x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh64x8 (Const64 [0]) _) @@ -18295,10 +17694,9 @@ func rewriteValuegeneric_OpRsh8Ux16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8Ux16 (Const8 [0]) _) @@ -18327,10 +17725,9 @@ func rewriteValuegeneric_OpRsh8Ux32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8Ux32 (Const8 [0]) _) @@ -18425,10 +17822,9 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value) bool { break } v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8Ux64 (Rsh8x64 x _) (Const64 [7] )) @@ -18447,10 +17843,9 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value) bool { break } v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = 7 - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8Ux64 (Lsh8x64 (Rsh8Ux64 x (Const64 [c1])) (Const64 [c2])) (Const64 [c3])) @@ -18485,10 +17880,9 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value) bool { break } v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64) v0.AuxInt = c1 - c2 + c3 - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -18507,10 +17901,9 @@ func rewriteValuegeneric_OpRsh8Ux8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8Ux64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8Ux8 (Const8 [0]) _) @@ -18539,10 +17932,9 @@ func rewriteValuegeneric_OpRsh8x16(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint16(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8x16 (Const8 [0]) _) @@ -18571,10 +17963,9 @@ func rewriteValuegeneric_OpRsh8x32(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint32(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8x32 (Const8 [0]) _) @@ -18653,10 +18044,9 @@ func rewriteValuegeneric_OpRsh8x64(v *Value) bool { break } v.reset(OpRsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) + v.AddArg2(x, v0) return true } return false @@ -18675,10 +18065,9 @@ func rewriteValuegeneric_OpRsh8x8(v *Value) bool { } c := v_1.AuxInt v.reset(OpRsh8x64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = int64(uint8(c)) - v.AddArg(v0) + v.AddArg2(x, v0) return true } // match: (Rsh8x8 (Const8 [0]) _) @@ -18708,8 +18097,7 @@ func rewriteValuegeneric_OpSelect0(v *Value) bool { } lo := v_0.Args[1] v.reset(OpDiv64u) - v.AddArg(lo) - v.AddArg(y) + v.AddArg2(lo, y) return true } return false @@ -18729,8 +18117,7 @@ func rewriteValuegeneric_OpSelect1(v *Value) bool { } lo := v_0.Args[1] v.reset(OpMod64u) - v.AddArg(lo) - v.AddArg(y) + v.AddArg2(lo, y) return true } return false @@ -19230,9 +18617,7 @@ func rewriteValuegeneric_OpStaticCall(v *Value) bool { v.reset(OpMove) v.AuxInt = sz v.Aux = t.(*types.Type).Elem() - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (StaticCall {sym} s1:(Store _ (Const32 [sz]) s2:(Store _ src s3:(Store {t} _ dst mem)))) @@ -19269,9 +18654,7 @@ func rewriteValuegeneric_OpStaticCall(v *Value) bool { v.reset(OpMove) v.AuxInt = sz v.Aux = t.(*types.Type).Elem() - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (StaticCall {sym} x) @@ -19595,9 +18978,7 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v0.AuxInt = 0 v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(f0) - v.AddArg(mem) + v.AddArg3(v0, f0, mem) return true } // match: (Store dst (StructMake2 f0 f1) mem) @@ -19616,17 +18997,13 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v0.AuxInt = t.FieldOff(1) v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(f1) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t.FieldType(0) v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v2.AuxInt = 0 v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(f0) - v1.AddArg(mem) - v.AddArg(v1) + v1.AddArg3(v2, f0, mem) + v.AddArg3(v0, f1, v1) return true } // match: (Store dst (StructMake3 f0 f1 f2) mem) @@ -19646,25 +19023,19 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo()) v0.AuxInt = t.FieldOff(2) v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(f2) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t.FieldType(1) v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v2.AuxInt = t.FieldOff(1) v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(f1) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t.FieldType(0) v4 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v4.AuxInt = 0 v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(f0) - v3.AddArg(mem) - v1.AddArg(v3) - v.AddArg(v1) + v3.AddArg3(v4, f0, mem) + v1.AddArg3(v2, f1, v3) + v.AddArg3(v0, f2, v1) return true } // match: (Store dst (StructMake4 f0 f1 f2 f3) mem) @@ -19685,33 +19056,25 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(3).PtrTo()) v0.AuxInt = t.FieldOff(3) v0.AddArg(dst) - v.AddArg(v0) - v.AddArg(f3) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t.FieldType(2) v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo()) v2.AuxInt = t.FieldOff(2) v2.AddArg(dst) - v1.AddArg(v2) - v1.AddArg(f2) v3 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v3.Aux = t.FieldType(1) v4 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo()) v4.AuxInt = t.FieldOff(1) v4.AddArg(dst) - v3.AddArg(v4) - v3.AddArg(f1) v5 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v5.Aux = t.FieldType(0) v6 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(0).PtrTo()) v6.AuxInt = 0 v6.AddArg(dst) - v5.AddArg(v6) - v5.AddArg(f0) - v5.AddArg(mem) - v3.AddArg(v5) - v1.AddArg(v3) - v.AddArg(v1) + v5.AddArg3(v6, f0, mem) + v3.AddArg3(v4, f1, v5) + v1.AddArg3(v2, f2, v3) + v.AddArg3(v0, f3, v1) return true } // match: (Store {t} dst (Load src mem) mem) @@ -19731,9 +19094,7 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v.reset(OpMove) v.AuxInt = sizeof(t) v.Aux = t - v.AddArg(dst) - v.AddArg(src) - v.AddArg(mem) + v.AddArg3(dst, src, mem) return true } // match: (Store {t} dst (Load src mem) (VarDef {x} mem)) @@ -19757,12 +19118,10 @@ func rewriteValuegeneric_OpStore(v *Value) bool { v.reset(OpMove) v.AuxInt = sizeof(t) v.Aux = t - v.AddArg(dst) - v.AddArg(src) v0 := b.NewValue0(v.Pos, OpVarDef, types.TypeMem) v0.Aux = x v0.AddArg(mem) - v.AddArg(v0) + v.AddArg3(dst, src, v0) return true } // match: (Store _ (ArrayMake0) mem) @@ -19788,9 +19147,7 @@ func rewriteValuegeneric_OpStore(v *Value) bool { mem := v_2 v.reset(OpStore) v.Aux = e.Type - v.AddArg(dst) - v.AddArg(e) - v.AddArg(mem) + v.AddArg3(dst, e, mem) return true } // match: (Store (Load (OffPtr [c] (SP)) mem) x mem) @@ -19885,14 +19242,10 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(op2, d2, mem) + v.AddArg3(op1, d1, v0) return true } // match: (Store {t1} op1:(OffPtr [o1] p1) d1 m2:(Store {t2} op2:(OffPtr [o2] p2) d2 m3:(Store {t3} op3:(OffPtr [0] p3) d3 m4:(Move [n] p4 _ mem)))) @@ -19944,19 +19297,13 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 - v1.AddArg(op3) - v1.AddArg(d3) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg3(op3, d3, mem) + v0.AddArg3(op2, d2, v1) + v.AddArg3(op1, d1, v0) return true } // match: (Store {t1} op1:(OffPtr [o1] p1) d1 m2:(Store {t2} op2:(OffPtr [o2] p2) d2 m3:(Store {t3} op3:(OffPtr [o3] p3) d3 m4:(Store {t4} op4:(OffPtr [0] p4) d4 m5:(Move [n] p5 _ mem))))) @@ -20021,24 +19368,16 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 - v1.AddArg(op3) - v1.AddArg(d3) v2 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v2.Aux = t4 - v2.AddArg(op4) - v2.AddArg(d4) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg3(op4, d4, mem) + v1.AddArg3(op3, d3, v2) + v0.AddArg3(op2, d2, v1) + v.AddArg3(op1, d1, v0) return true } // match: (Store {t1} op1:(OffPtr [o1] p1) d1 m2:(Store {t2} op2:(OffPtr [0] p2) d2 m3:(Zero [n] p3 mem))) @@ -20077,14 +19416,10 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) - v0.AddArg(mem) - v.AddArg(v0) + v0.AddArg3(op2, d2, mem) + v.AddArg3(op1, d1, v0) return true } // match: (Store {t1} op1:(OffPtr [o1] p1) d1 m2:(Store {t2} op2:(OffPtr [o2] p2) d2 m3:(Store {t3} op3:(OffPtr [0] p3) d3 m4:(Zero [n] p4 mem)))) @@ -20136,19 +19471,13 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 - v1.AddArg(op3) - v1.AddArg(d3) - v1.AddArg(mem) - v0.AddArg(v1) - v.AddArg(v0) + v1.AddArg3(op3, d3, mem) + v0.AddArg3(op2, d2, v1) + v.AddArg3(op1, d1, v0) return true } // match: (Store {t1} op1:(OffPtr [o1] p1) d1 m2:(Store {t2} op2:(OffPtr [o2] p2) d2 m3:(Store {t3} op3:(OffPtr [o3] p3) d3 m4:(Store {t4} op4:(OffPtr [0] p4) d4 m5:(Zero [n] p5 mem))))) @@ -20213,24 +19542,16 @@ func rewriteValuegeneric_OpStore(v *Value) bool { } v.reset(OpStore) v.Aux = t1 - v.AddArg(op1) - v.AddArg(d1) v0 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v0.Aux = t2 - v0.AddArg(op2) - v0.AddArg(d2) v1 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v1.Aux = t3 - v1.AddArg(op3) - v1.AddArg(d3) v2 := b.NewValue0(v.Pos, OpStore, types.TypeMem) v2.Aux = t4 - v2.AddArg(op4) - v2.AddArg(d4) - v2.AddArg(mem) - v1.AddArg(v2) - v0.AddArg(v1) - v.AddArg(v0) + v2.AddArg3(op4, d4, mem) + v1.AddArg3(op3, d3, v2) + v0.AddArg3(op2, d2, v1) + v.AddArg3(op1, d1, v0) return true } return false @@ -20433,8 +19754,7 @@ func rewriteValuegeneric_OpStructSelect(v *Value) bool { v1 := b.NewValue0(v.Pos, OpOffPtr, v.Type.PtrTo()) v1.AuxInt = t.FieldOff(int(i)) v1.AddArg(ptr) - v0.AddArg(v1) - v0.AddArg(mem) + v0.AddArg2(v1, mem) return true } // match: (StructSelect [0] (IData x)) @@ -20485,8 +19805,7 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { v.reset(OpAdd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(-c)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub16 (Mul16 x y) (Mul16 x z)) @@ -20514,11 +19833,9 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { } z := v_1_1 v.reset(OpMul16) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpSub16, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -20598,10 +19915,8 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { } v.reset(OpSub16) v0 := b.NewValue0(v.Pos, OpAdd16, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } // match: (Sub16 x (Sub16 z i:(Const16 ))) @@ -20623,11 +19938,9 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { break } v.reset(OpAdd16) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub16, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } // match: (Sub16 (Const16 [c]) (Sub16 x (Const16 [d]))) @@ -20651,8 +19964,7 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { v.reset(OpSub16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub16 (Const16 [c]) (Sub16 (Const16 [d]) x)) @@ -20675,8 +19987,7 @@ func rewriteValuegeneric_OpSub16(v *Value) bool { v.reset(OpAdd16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -20716,8 +20027,7 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(-c)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub32 (Mul32 x y) (Mul32 x z)) @@ -20745,11 +20055,9 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { } z := v_1_1 v.reset(OpMul32) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpSub32, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -20829,10 +20137,8 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { } v.reset(OpSub32) v0 := b.NewValue0(v.Pos, OpAdd32, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } // match: (Sub32 x (Sub32 z i:(Const32 ))) @@ -20854,11 +20160,9 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { break } v.reset(OpAdd32) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub32, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } // match: (Sub32 (Const32 [c]) (Sub32 x (Const32 [d]))) @@ -20882,8 +20186,7 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { v.reset(OpSub32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub32 (Const32 [c]) (Sub32 (Const32 [d]) x)) @@ -20906,8 +20209,7 @@ func rewriteValuegeneric_OpSub32(v *Value) bool { v.reset(OpAdd32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -20967,8 +20269,7 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = -c - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub64 (Mul64 x y) (Mul64 x z)) @@ -20996,11 +20297,9 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { } z := v_1_1 v.reset(OpMul64) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpSub64, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -21080,10 +20379,8 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { } v.reset(OpSub64) v0 := b.NewValue0(v.Pos, OpAdd64, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } // match: (Sub64 x (Sub64 z i:(Const64 ))) @@ -21105,11 +20402,9 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { break } v.reset(OpAdd64) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub64, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } // match: (Sub64 (Const64 [c]) (Sub64 x (Const64 [d]))) @@ -21133,8 +20428,7 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { v.reset(OpSub64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c + d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub64 (Const64 [c]) (Sub64 (Const64 [d]) x)) @@ -21157,8 +20451,7 @@ func rewriteValuegeneric_OpSub64(v *Value) bool { v.reset(OpAdd64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c - d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -21218,8 +20511,7 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { v.reset(OpAdd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(-c)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub8 (Mul8 x y) (Mul8 x z)) @@ -21247,11 +20539,9 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { } z := v_1_1 v.reset(OpMul8) - v.AddArg(x) v0 := b.NewValue0(v.Pos, OpSub8, t) - v0.AddArg(y) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(y, z) + v.AddArg2(x, v0) return true } } @@ -21331,10 +20621,8 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { } v.reset(OpSub8) v0 := b.NewValue0(v.Pos, OpAdd8, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) - v.AddArg(i) + v0.AddArg2(x, z) + v.AddArg2(v0, i) return true } // match: (Sub8 x (Sub8 z i:(Const8 ))) @@ -21356,11 +20644,9 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { break } v.reset(OpAdd8) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpSub8, t) - v0.AddArg(x) - v0.AddArg(z) - v.AddArg(v0) + v0.AddArg2(x, z) + v.AddArg2(i, v0) return true } // match: (Sub8 (Const8 [c]) (Sub8 x (Const8 [d]))) @@ -21384,8 +20670,7 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { v.reset(OpSub8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c + d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } // match: (Sub8 (Const8 [c]) (Sub8 (Const8 [d]) x)) @@ -21408,8 +20693,7 @@ func rewriteValuegeneric_OpSub8(v *Value) bool { v.reset(OpAdd8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c - d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } return false @@ -21981,11 +21265,9 @@ func rewriteValuegeneric_OpXor16(v *Value) bool { continue } v.reset(OpXor16) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpXor16, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -22015,8 +21297,7 @@ func rewriteValuegeneric_OpXor16(v *Value) bool { v.reset(OpXor16) v0 := b.NewValue0(v.Pos, OpConst16, t) v0.AuxInt = int64(int16(c ^ d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -22119,11 +21400,9 @@ func rewriteValuegeneric_OpXor32(v *Value) bool { continue } v.reset(OpXor32) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpXor32, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -22153,8 +21432,7 @@ func rewriteValuegeneric_OpXor32(v *Value) bool { v.reset(OpXor32) v0 := b.NewValue0(v.Pos, OpConst32, t) v0.AuxInt = int64(int32(c ^ d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -22257,11 +21535,9 @@ func rewriteValuegeneric_OpXor64(v *Value) bool { continue } v.reset(OpXor64) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpXor64, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -22291,8 +21567,7 @@ func rewriteValuegeneric_OpXor64(v *Value) bool { v.reset(OpXor64) v0 := b.NewValue0(v.Pos, OpConst64, t) v0.AuxInt = c ^ d - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -22395,11 +21670,9 @@ func rewriteValuegeneric_OpXor8(v *Value) bool { continue } v.reset(OpXor8) - v.AddArg(i) v0 := b.NewValue0(v.Pos, OpXor8, t) - v0.AddArg(z) - v0.AddArg(x) - v.AddArg(v0) + v0.AddArg2(z, x) + v.AddArg2(i, v0) return true } } @@ -22429,8 +21702,7 @@ func rewriteValuegeneric_OpXor8(v *Value) bool { v.reset(OpXor8) v0 := b.NewValue0(v.Pos, OpConst8, t) v0.AuxInt = int64(int8(c ^ d)) - v.AddArg(v0) - v.AddArg(x) + v.AddArg2(v0, x) return true } } @@ -22490,8 +21762,7 @@ func rewriteValuegeneric_OpZero(v *Value) bool { v.reset(OpZero) v.AuxInt = n v.Aux = t1 - v.AddArg(p1) - v.AddArg(mem) + v.AddArg2(p1, mem) return true } // match: (Zero {t} [n] dst1 move:(Move {t} [n] dst2 _ mem)) @@ -22513,8 +21784,7 @@ func rewriteValuegeneric_OpZero(v *Value) bool { v.reset(OpZero) v.AuxInt = n v.Aux = t - v.AddArg(dst1) - v.AddArg(mem) + v.AddArg2(dst1, mem) return true } // match: (Zero {t} [n] dst1 vardef:(VarDef {x} move:(Move {t} [n] dst2 _ mem))) @@ -22541,11 +21811,10 @@ func rewriteValuegeneric_OpZero(v *Value) bool { v.reset(OpZero) v.AuxInt = n v.Aux = t - v.AddArg(dst1) v0 := b.NewValue0(v.Pos, OpVarDef, types.TypeMem) v0.Aux = x v0.AddArg(mem) - v.AddArg(v0) + v.AddArg2(dst1, v0) return true } return false diff --git a/src/cmd/compile/internal/ssa/value.go b/src/cmd/compile/internal/ssa/value.go index b877220211..8c5834d530 100644 --- a/src/cmd/compile/internal/ssa/value.go +++ b/src/cmd/compile/internal/ssa/value.go @@ -218,6 +218,58 @@ func (v *Value) AddArg(w *Value) { v.Args = append(v.Args, w) w.Uses++ } + +//go:noinline +func (v *Value) AddArg2(w1, w2 *Value) { + if v.Args == nil { + v.resetArgs() // use argstorage + } + v.Args = append(v.Args, w1, w2) + w1.Uses++ + w2.Uses++ +} + +//go:noinline +func (v *Value) AddArg3(w1, w2, w3 *Value) { + if v.Args == nil { + v.resetArgs() // use argstorage + } + v.Args = append(v.Args, w1, w2, w3) + w1.Uses++ + w2.Uses++ + w3.Uses++ +} + +//go:noinline +func (v *Value) AddArg4(w1, w2, w3, w4 *Value) { + v.Args = append(v.Args, w1, w2, w3, w4) + w1.Uses++ + w2.Uses++ + w3.Uses++ + w4.Uses++ +} + +//go:noinline +func (v *Value) AddArg5(w1, w2, w3, w4, w5 *Value) { + v.Args = append(v.Args, w1, w2, w3, w4, w5) + w1.Uses++ + w2.Uses++ + w3.Uses++ + w4.Uses++ + w5.Uses++ +} + +//go:noinline +func (v *Value) AddArg6(w1, w2, w3, w4, w5, w6 *Value) { + v.Args = append(v.Args, w1, w2, w3, w4, w5, w6) + w1.Uses++ + w2.Uses++ + w3.Uses++ + w4.Uses++ + w5.Uses++ + w6.Uses++ +} + func (v *Value) AddArgs(a ...*Value) { if v.Args == nil { v.resetArgs() // use argstorage -- 2.50.0