Commit 683f5d7b authored by Keith Randall's avatar Keith Randall

[dev.ssa] cmd/compile/internal/ssa: put new values for block rewrites in rewritten block

Don't put them in the control value's block.
That may be many blocks up the dominator tree.

Change-Id: Iab3ea36a890ffe0e355dadec7aeb676901c4f070
Reviewed-on: https://go-review.googlesource.com/13134Reviewed-by: default avatarJosh Bleecher Snyder <josharian@gmail.com>
parent b8efee0d
...@@ -104,6 +104,7 @@ func genRules(arch arch) { ...@@ -104,6 +104,7 @@ func genRules(arch arch) {
fmt.Fprintln(w, "// generated with: cd gen; go run *.go") fmt.Fprintln(w, "// generated with: cd gen; go run *.go")
fmt.Fprintln(w, "package ssa") fmt.Fprintln(w, "package ssa")
fmt.Fprintf(w, "func rewriteValue%s(v *Value, config *Config) bool {\n", arch.name) fmt.Fprintf(w, "func rewriteValue%s(v *Value, config *Config) bool {\n", arch.name)
fmt.Fprintln(w, "b := v.Block")
// generate code for each rule // generate code for each rule
fmt.Fprintf(w, "switch v.Op {\n") fmt.Fprintf(w, "switch v.Op {\n")
...@@ -238,7 +239,7 @@ func genRules(arch arch) { ...@@ -238,7 +239,7 @@ func genRules(arch arch) {
// Modify predecessor lists for no-longer-reachable blocks // Modify predecessor lists for no-longer-reachable blocks
for succ := range m { for succ := range m {
fmt.Fprintf(w, "v.Block.Func.removePredecessor(b, %s)\n", succ) fmt.Fprintf(w, "b.Func.removePredecessor(b, %s)\n", succ)
} }
fmt.Fprintf(w, "b.Kind = %s\n", blockName(t[0], arch)) fmt.Fprintf(w, "b.Kind = %s\n", blockName(t[0], arch))
...@@ -397,7 +398,7 @@ func genResult0(w io.Writer, arch arch, result string, alloc *int, top bool) str ...@@ -397,7 +398,7 @@ func genResult0(w io.Writer, arch arch, result string, alloc *int, top bool) str
} else { } else {
v = fmt.Sprintf("v%d", *alloc) v = fmt.Sprintf("v%d", *alloc)
*alloc++ *alloc++
fmt.Fprintf(w, "%s := v.Block.NewValue0(v.Line, %s, TypeInvalid)\n", v, opName(s[0], arch)) fmt.Fprintf(w, "%s := b.NewValue0(v.Line, %s, TypeInvalid)\n", v, opName(s[0], arch))
} }
for _, a := range s[1:] { for _, a := range s[1:] {
if a[0] == '<' { if a[0] == '<' {
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
package ssa package ssa
func rewriteValueAMD64(v *Value, config *Config) bool { func rewriteValueAMD64(v *Value, config *Config) bool {
b := v.Block
switch v.Op { switch v.Op {
case OpAMD64ADDB: case OpAMD64ADDB:
// match: (ADDB x (MOVBconst [c])) // match: (ADDB x (MOVBconst [c]))
...@@ -1164,7 +1165,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1164,7 +1165,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -1208,7 +1209,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1208,7 +1209,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -1258,7 +1259,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1258,7 +1259,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -1302,7 +1303,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1302,7 +1303,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -1541,7 +1542,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1541,7 +1542,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1562,7 +1563,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1562,7 +1563,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1583,7 +1584,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1583,7 +1584,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1604,7 +1605,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1604,7 +1605,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1625,7 +1626,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1625,7 +1626,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1646,7 +1647,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1646,7 +1647,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1667,7 +1668,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1667,7 +1668,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1688,7 +1689,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1688,7 +1689,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1709,7 +1710,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1709,7 +1710,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1730,7 +1731,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1730,7 +1731,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1751,7 +1752,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1751,7 +1752,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1772,7 +1773,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1772,7 +1773,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1793,7 +1794,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1793,7 +1794,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1814,7 +1815,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1814,7 +1815,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1835,7 +1836,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1835,7 +1836,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1856,7 +1857,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1856,7 +1857,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1877,7 +1878,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1877,7 +1878,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1898,7 +1899,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1898,7 +1899,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1919,7 +1920,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1919,7 +1920,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1940,7 +1941,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1940,7 +1941,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1961,7 +1962,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1961,7 +1962,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -1982,7 +1983,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -1982,7 +1983,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(idx) v0.AddArg(idx)
v0.AddArg(len) v0.AddArg(len)
...@@ -2002,7 +2003,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2002,7 +2003,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64TESTQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64TESTQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(p) v0.AddArg(p)
v0.AddArg(p) v0.AddArg(p)
...@@ -2023,7 +2024,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2023,7 +2024,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2044,7 +2045,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2044,7 +2045,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2065,7 +2066,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2065,7 +2066,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2086,7 +2087,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2086,7 +2087,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2107,7 +2108,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2107,7 +2108,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2128,7 +2129,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2128,7 +2129,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2149,7 +2150,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2149,7 +2150,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2170,7 +2171,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2170,7 +2171,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2191,7 +2192,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2191,7 +2192,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2212,7 +2213,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2212,7 +2213,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2233,7 +2234,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2233,7 +2234,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2254,7 +2255,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2254,7 +2255,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2275,7 +2276,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2275,7 +2276,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2296,7 +2297,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2296,7 +2297,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2317,7 +2318,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2317,7 +2318,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2338,7 +2339,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2338,7 +2339,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -2445,14 +2446,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2445,14 +2446,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -2475,14 +2476,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2475,14 +2476,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -2505,14 +2506,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2505,14 +2506,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -2535,14 +2536,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2535,14 +2536,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -2565,14 +2566,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2565,14 +2566,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -2595,14 +2596,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2595,14 +2596,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -2625,14 +2626,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2625,14 +2626,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -2655,14 +2656,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2655,14 +2656,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -2685,14 +2686,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2685,14 +2686,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -2715,14 +2716,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2715,14 +2716,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -2745,14 +2746,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2745,14 +2746,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -2775,14 +2776,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2775,14 +2776,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -2805,14 +2806,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2805,14 +2806,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -2835,14 +2836,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2835,14 +2836,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -2865,14 +2866,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2865,14 +2866,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -2895,14 +2896,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -2895,14 +2896,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -3640,7 +3641,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -3640,7 +3641,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.AddArg(dst) v.AddArg(dst)
v.AddArg(src) v.AddArg(src)
v0 := v.Block.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
v0.Type = config.Frontend().TypeUInt64() v0.Type = config.Frontend().TypeUInt64()
v0.AuxInt = size v0.AuxInt = size
v.AddArg(v0) v.AddArg(v0)
...@@ -3967,7 +3968,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -3967,7 +3968,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -3988,7 +3989,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -3988,7 +3989,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -4009,7 +4010,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4009,7 +4010,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -4030,7 +4031,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4030,7 +4031,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -4051,7 +4052,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4051,7 +4052,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
...@@ -4648,14 +4649,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4648,14 +4649,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -4678,14 +4679,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4678,14 +4679,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -4708,14 +4709,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4708,14 +4709,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -4738,14 +4739,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4738,14 +4739,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 16 v2.AuxInt = 16
v2.AddArg(y) v2.AddArg(y)
...@@ -4770,14 +4771,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4770,14 +4771,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 16 v3.AuxInt = 16
v3.AddArg(y) v3.AddArg(y)
...@@ -4804,14 +4805,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4804,14 +4805,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 16 v3.AuxInt = 16
v3.AddArg(y) v3.AddArg(y)
...@@ -4838,14 +4839,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4838,14 +4839,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 16 v3.AuxInt = 16
v3.AddArg(y) v3.AddArg(y)
...@@ -4872,14 +4873,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4872,14 +4873,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 16 v3.AuxInt = 16
v3.AddArg(y) v3.AddArg(y)
...@@ -4904,14 +4905,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4904,14 +4905,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -4934,14 +4935,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4934,14 +4935,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -4964,14 +4965,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4964,14 +4965,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -4994,14 +4995,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -4994,14 +4995,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 32 v2.AuxInt = 32
v2.AddArg(y) v2.AddArg(y)
...@@ -5026,14 +5027,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5026,14 +5027,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 32 v3.AuxInt = 32
v3.AddArg(y) v3.AddArg(y)
...@@ -5060,14 +5061,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5060,14 +5061,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 32 v3.AuxInt = 32
v3.AddArg(y) v3.AddArg(y)
...@@ -5094,14 +5095,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5094,14 +5095,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 32 v3.AuxInt = 32
v3.AddArg(y) v3.AddArg(y)
...@@ -5128,14 +5129,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5128,14 +5129,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 32 v3.AuxInt = 32
v3.AddArg(y) v3.AddArg(y)
...@@ -5160,14 +5161,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5160,14 +5161,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -5190,14 +5191,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5190,14 +5191,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -5220,14 +5221,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5220,14 +5221,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -5250,14 +5251,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5250,14 +5251,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 64 v2.AuxInt = 64
v2.AddArg(y) v2.AddArg(y)
...@@ -5282,14 +5283,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5282,14 +5283,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 64 v3.AuxInt = 64
v3.AddArg(y) v3.AddArg(y)
...@@ -5316,14 +5317,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5316,14 +5317,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 64 v3.AuxInt = 64
v3.AddArg(y) v3.AddArg(y)
...@@ -5350,14 +5351,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5350,14 +5351,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 64 v3.AuxInt = 64
v3.AddArg(y) v3.AddArg(y)
...@@ -5384,14 +5385,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5384,14 +5385,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 64 v3.AuxInt = 64
v3.AddArg(y) v3.AddArg(y)
...@@ -5416,14 +5417,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5416,14 +5417,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -5446,14 +5447,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5446,14 +5447,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -5476,14 +5477,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5476,14 +5477,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -5506,14 +5507,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5506,14 +5507,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
v0.Type = t v0.Type = t
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v1.Type = t v1.Type = t
v2 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v2.Type = TypeFlags v2.Type = TypeFlags
v2.AuxInt = 8 v2.AuxInt = 8
v2.AddArg(y) v2.AddArg(y)
...@@ -5538,14 +5539,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5538,14 +5539,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORW, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 8 v3.AuxInt = 8
v3.AddArg(y) v3.AddArg(y)
...@@ -5572,14 +5573,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5572,14 +5573,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORL, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 8 v3.AuxInt = 8
v3.AddArg(y) v3.AddArg(y)
...@@ -5606,14 +5607,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5606,14 +5607,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 8 v3.AuxInt = 8
v3.AddArg(y) v3.AddArg(y)
...@@ -5640,14 +5641,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -5640,14 +5641,14 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.resetArgs() v.resetArgs()
v.Type = t v.Type = t
v.AddArg(x) v.AddArg(x)
v0 := v.Block.NewValue0(v.Line, OpAMD64ORB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
v0.Type = y.Type v0.Type = y.Type
v0.AddArg(y) v0.AddArg(y)
v1 := v.Block.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
v1.Type = y.Type v1.Type = y.Type
v2 := v.Block.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
v2.Type = y.Type v2.Type = y.Type
v3 := v.Block.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid) v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
v3.Type = TypeFlags v3.Type = TypeFlags
v3.AuxInt = 8 v3.AuxInt = 8
v3.AddArg(y) v3.AddArg(y)
...@@ -6337,7 +6338,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -6337,7 +6338,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SUBBconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SUBBconst, TypeInvalid)
v0.Type = v.Type v0.Type = v.Type
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -6440,7 +6441,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -6440,7 +6441,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SUBLconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SUBLconst, TypeInvalid)
v0.Type = v.Type v0.Type = v.Type
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -6549,7 +6550,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -6549,7 +6550,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SUBQconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SUBQconst, TypeInvalid)
v0.Type = v.Type v0.Type = v.Type
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -6652,7 +6653,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -6652,7 +6653,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAMD64SUBWconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64SUBWconst, TypeInvalid)
v0.Type = v.Type v0.Type = v.Type
v0.AddArg(x) v0.AddArg(x)
v0.AuxInt = c v0.AuxInt = c
...@@ -7543,7 +7544,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -7543,7 +7544,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AddArg(destptr) v.AddArg(destptr)
v0 := v.Block.NewValue0(v.Line, OpAMD64MOVBconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64MOVBconst, TypeInvalid)
v0.Type = config.Frontend().TypeInt8() v0.Type = config.Frontend().TypeInt8()
v0.AuxInt = 0 v0.AuxInt = 0
v.AddArg(v0) v.AddArg(v0)
...@@ -7567,7 +7568,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -7567,7 +7568,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AddArg(destptr) v.AddArg(destptr)
v0 := v.Block.NewValue0(v.Line, OpAMD64MOVWconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64MOVWconst, TypeInvalid)
v0.Type = config.Frontend().TypeInt16() v0.Type = config.Frontend().TypeInt16()
v0.AuxInt = 0 v0.AuxInt = 0
v.AddArg(v0) v.AddArg(v0)
...@@ -7591,7 +7592,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -7591,7 +7592,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AddArg(destptr) v.AddArg(destptr)
v0 := v.Block.NewValue0(v.Line, OpAMD64MOVLconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64MOVLconst, TypeInvalid)
v0.Type = config.Frontend().TypeInt32() v0.Type = config.Frontend().TypeInt32()
v0.AuxInt = 0 v0.AuxInt = 0
v.AddArg(v0) v.AddArg(v0)
...@@ -7615,7 +7616,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -7615,7 +7616,7 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AddArg(destptr) v.AddArg(destptr)
v0 := v.Block.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
v0.Type = config.Frontend().TypeInt64() v0.Type = config.Frontend().TypeInt64()
v0.AuxInt = 0 v0.AuxInt = 0
v.AddArg(v0) v.AddArg(v0)
...@@ -7662,15 +7663,15 @@ func rewriteValueAMD64(v *Value, config *Config) bool { ...@@ -7662,15 +7663,15 @@ func rewriteValueAMD64(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AuxInt = size % 8 v.AuxInt = size % 8
v0 := v.Block.NewValue0(v.Line, OpOffPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
v0.Type = config.Frontend().TypeUInt64() v0.Type = config.Frontend().TypeUInt64()
v0.AuxInt = size - (size % 8) v0.AuxInt = size - (size % 8)
v0.AddArg(destptr) v0.AddArg(destptr)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpAMD64REPSTOSQ, TypeInvalid) v1 := b.NewValue0(v.Line, OpAMD64REPSTOSQ, TypeInvalid)
v1.Type = TypeMem v1.Type = TypeMem
v1.AddArg(destptr) v1.AddArg(destptr)
v2 := v.Block.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid) v2 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
v2.Type = config.Frontend().TypeUInt64() v2.Type = config.Frontend().TypeUInt64()
v2.AuxInt = size / 8 v2.AuxInt = size / 8
v1.AddArg(v2) v1.AddArg(v2)
...@@ -8057,7 +8058,7 @@ func rewriteBlockAMD64(b *Block) bool { ...@@ -8057,7 +8058,7 @@ func rewriteBlockAMD64(b *Block) bool {
goto end7e22019fb0effc80f85c05ea30bdb5d9 goto end7e22019fb0effc80f85c05ea30bdb5d9
} }
b.Kind = BlockAMD64NE b.Kind = BlockAMD64NE
v0 := v.Block.NewValue0(v.Line, OpAMD64TESTB, TypeInvalid) v0 := b.NewValue0(v.Line, OpAMD64TESTB, TypeInvalid)
v0.Type = TypeFlags v0.Type = TypeFlags
v0.AddArg(cond) v0.AddArg(cond)
v0.AddArg(cond) v0.AddArg(cond)
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
package ssa package ssa
func rewriteValuegeneric(v *Value, config *Config) bool { func rewriteValuegeneric(v *Value, config *Config) bool {
b := v.Block
switch v.Op { switch v.Op {
case OpAdd64: case OpAdd64:
// match: (Add64 (Const64 [c]) (Const64 [d])) // match: (Add64 (Const64 [c]) (Const64 [d]))
...@@ -65,7 +66,7 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -65,7 +66,7 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpPtrIndex, TypeInvalid) v0 := b.NewValue0(v.Line, OpPtrIndex, TypeInvalid)
v0.Type = v.Type.PtrTo() v0.Type = v.Type.PtrTo()
v0.AddArg(ptr) v0.AddArg(ptr)
v0.AddArg(idx) v0.AddArg(idx)
...@@ -162,14 +163,14 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -162,14 +163,14 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAddr, TypeInvalid) v0 := b.NewValue0(v.Line, OpAddr, TypeInvalid)
v0.Type = config.Frontend().TypeBytePtr() v0.Type = config.Frontend().TypeBytePtr()
v0.Aux = config.fe.StringData(s.(string)) v0.Aux = config.fe.StringData(s.(string))
v1 := v.Block.NewValue0(v.Line, OpSB, TypeInvalid) v1 := b.NewValue0(v.Line, OpSB, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v0.AddArg(v1) v0.AddArg(v1)
v.AddArg(v0) v.AddArg(v0)
v2 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v2 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v2.Type = config.Frontend().TypeUintptr() v2.Type = config.Frontend().TypeUintptr()
v2.AuxInt = int64(len(s.(string))) v2.AuxInt = int64(len(s.(string)))
v.AddArg(v2) v.AddArg(v2)
...@@ -291,12 +292,12 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -291,12 +292,12 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpLoad, TypeInvalid) v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
v0.Type = config.Frontend().TypeUintptr() v0.Type = config.Frontend().TypeUintptr()
v0.AddArg(ptr) v0.AddArg(ptr)
v0.AddArg(mem) v0.AddArg(mem)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v1 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AuxInt = 0 v1.AuxInt = 0
v.AddArg(v1) v.AddArg(v1)
...@@ -343,14 +344,14 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -343,14 +344,14 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpLoad, TypeInvalid) v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
v0.Type = config.Frontend().TypeBytePtr() v0.Type = config.Frontend().TypeBytePtr()
v0.AddArg(ptr) v0.AddArg(ptr)
v0.AddArg(mem) v0.AddArg(mem)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpLoad, TypeInvalid) v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v2 := v.Block.NewValue0(v.Line, OpOffPtr, TypeInvalid) v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
v2.Type = config.Frontend().TypeBytePtr() v2.Type = config.Frontend().TypeBytePtr()
v2.AuxInt = config.PtrSize v2.AuxInt = config.PtrSize
v2.AddArg(ptr) v2.AddArg(ptr)
...@@ -521,12 +522,12 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -521,12 +522,12 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpLoad, TypeInvalid) v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
v0.Type = config.Frontend().TypeUintptr() v0.Type = config.Frontend().TypeUintptr()
v0.AddArg(ptr) v0.AddArg(ptr)
v0.AddArg(mem) v0.AddArg(mem)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v1 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AuxInt = 0 v1.AuxInt = 0
v.AddArg(v1) v.AddArg(v1)
...@@ -548,10 +549,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -548,10 +549,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v.AddArg(ptr) v.AddArg(ptr)
v0 := v.Block.NewValue0(v.Line, OpMulPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpMulPtr, TypeInvalid)
v0.Type = config.Frontend().TypeUintptr() v0.Type = config.Frontend().TypeUintptr()
v0.AddArg(idx) v0.AddArg(idx)
v1 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v1 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AuxInt = t.Elem().Size() v1.AuxInt = t.Elem().Size()
v0.AddArg(v1) v0.AddArg(v1)
...@@ -575,10 +576,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -575,10 +576,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAddPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpAddPtr, TypeInvalid)
v0.Type = ptr.Type v0.Type = ptr.Type
v0.AddArg(ptr) v0.AddArg(ptr)
v1 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v1 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AuxInt = config.PtrSize * 2 v1.AuxInt = config.PtrSize * 2
v0.AddArg(v1) v0.AddArg(v1)
...@@ -603,10 +604,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -603,10 +604,10 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpAddPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpAddPtr, TypeInvalid)
v0.Type = ptr.Type v0.Type = ptr.Type
v0.AddArg(ptr) v0.AddArg(ptr)
v1 := v.Block.NewValue0(v.Line, OpConstPtr, TypeInvalid) v1 := b.NewValue0(v.Line, OpConstPtr, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AuxInt = config.PtrSize v1.AuxInt = config.PtrSize
v0.AddArg(v1) v0.AddArg(v1)
...@@ -683,19 +684,19 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -683,19 +684,19 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpOffPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
v0.Type = config.Frontend().TypeBytePtr() v0.Type = config.Frontend().TypeBytePtr()
v0.AuxInt = config.PtrSize v0.AuxInt = config.PtrSize
v0.AddArg(dst) v0.AddArg(dst)
v.AddArg(v0) v.AddArg(v0)
v1 := v.Block.NewValue0(v.Line, OpStringLen, TypeInvalid) v1 := b.NewValue0(v.Line, OpStringLen, TypeInvalid)
v1.Type = config.Frontend().TypeUintptr() v1.Type = config.Frontend().TypeUintptr()
v1.AddArg(str) v1.AddArg(str)
v.AddArg(v1) v.AddArg(v1)
v2 := v.Block.NewValue0(v.Line, OpStore, TypeInvalid) v2 := b.NewValue0(v.Line, OpStore, TypeInvalid)
v2.Type = TypeMem v2.Type = TypeMem
v2.AddArg(dst) v2.AddArg(dst)
v3 := v.Block.NewValue0(v.Line, OpStringPtr, TypeInvalid) v3 := b.NewValue0(v.Line, OpStringPtr, TypeInvalid)
v3.Type = config.Frontend().TypeBytePtr() v3.Type = config.Frontend().TypeBytePtr()
v3.AddArg(str) v3.AddArg(str)
v2.AddArg(v3) v2.AddArg(v3)
...@@ -759,7 +760,7 @@ func rewriteValuegeneric(v *Value, config *Config) bool { ...@@ -759,7 +760,7 @@ func rewriteValuegeneric(v *Value, config *Config) bool {
v.AuxInt = 0 v.AuxInt = 0
v.Aux = nil v.Aux = nil
v.resetArgs() v.resetArgs()
v0 := v.Block.NewValue0(v.Line, OpOffPtr, TypeInvalid) v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
v0.Type = v.Type.PtrTo() v0.Type = v.Type.PtrTo()
v0.AuxInt = idx v0.AuxInt = idx
v0.AddArg(ptr) v0.AddArg(ptr)
...@@ -809,7 +810,7 @@ func rewriteBlockgeneric(b *Block) bool { ...@@ -809,7 +810,7 @@ func rewriteBlockgeneric(b *Block) bool {
if !(c.(bool)) { if !(c.(bool)) {
goto end9ff0273f9b1657f4afc287562ca889f0 goto end9ff0273f9b1657f4afc287562ca889f0
} }
v.Block.Func.removePredecessor(b, no) b.Func.removePredecessor(b, no)
b.Kind = BlockPlain b.Kind = BlockPlain
b.Control = nil b.Control = nil
b.Succs = b.Succs[:1] b.Succs = b.Succs[:1]
...@@ -833,7 +834,7 @@ func rewriteBlockgeneric(b *Block) bool { ...@@ -833,7 +834,7 @@ func rewriteBlockgeneric(b *Block) bool {
if !(!c.(bool)) { if !(!c.(bool)) {
goto endf401a4553c3c7c6bed64801da7bba076 goto endf401a4553c3c7c6bed64801da7bba076
} }
v.Block.Func.removePredecessor(b, yes) b.Func.removePredecessor(b, yes)
b.Kind = BlockPlain b.Kind = BlockPlain
b.Control = nil b.Control = nil
b.Succs = b.Succs[:1] b.Succs = b.Succs[:1]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment