cmd/compile: add support for arm64 bit-test instructions

Add support for generating TBZ/TBNZ instructions.

The bit-test-and-branch pattern shows up in a number of
important places, including the runtime (gc bitmaps).

Before this change, there were 3 TB[N]?Z instructions in the Go tool,
all of which were in hand-written assembly. After this change, there
are 285. Also, the go1 benchmark binary gets about 4.5kB smaller.

Fixes #21361

Change-Id: I170c138b852754b9b8df149966ca5e62e6dfa771
Reviewed-on: https://go-review.googlesource.com/54470
Run-TryBot: Philip Hofer <phofer@umich.edu>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
philhofer 2017-08-09 05:01:26 +00:00 committed by Cherry Zhang
parent 583a941d4e
commit c59b495963
15 changed files with 743 additions and 50 deletions

View File

@ -686,20 +686,22 @@ var condBits = map[ssa.Op]int16{
var blockJump = map[ssa.BlockKind]struct { var blockJump = map[ssa.BlockKind]struct {
asm, invasm obj.As asm, invasm obj.As
}{ }{
ssa.BlockARM64EQ: {arm64.ABEQ, arm64.ABNE}, ssa.BlockARM64EQ: {arm64.ABEQ, arm64.ABNE},
ssa.BlockARM64NE: {arm64.ABNE, arm64.ABEQ}, ssa.BlockARM64NE: {arm64.ABNE, arm64.ABEQ},
ssa.BlockARM64LT: {arm64.ABLT, arm64.ABGE}, ssa.BlockARM64LT: {arm64.ABLT, arm64.ABGE},
ssa.BlockARM64GE: {arm64.ABGE, arm64.ABLT}, ssa.BlockARM64GE: {arm64.ABGE, arm64.ABLT},
ssa.BlockARM64LE: {arm64.ABLE, arm64.ABGT}, ssa.BlockARM64LE: {arm64.ABLE, arm64.ABGT},
ssa.BlockARM64GT: {arm64.ABGT, arm64.ABLE}, ssa.BlockARM64GT: {arm64.ABGT, arm64.ABLE},
ssa.BlockARM64ULT: {arm64.ABLO, arm64.ABHS}, ssa.BlockARM64ULT: {arm64.ABLO, arm64.ABHS},
ssa.BlockARM64UGE: {arm64.ABHS, arm64.ABLO}, ssa.BlockARM64UGE: {arm64.ABHS, arm64.ABLO},
ssa.BlockARM64UGT: {arm64.ABHI, arm64.ABLS}, ssa.BlockARM64UGT: {arm64.ABHI, arm64.ABLS},
ssa.BlockARM64ULE: {arm64.ABLS, arm64.ABHI}, ssa.BlockARM64ULE: {arm64.ABLS, arm64.ABHI},
ssa.BlockARM64Z: {arm64.ACBZ, arm64.ACBNZ}, ssa.BlockARM64Z: {arm64.ACBZ, arm64.ACBNZ},
ssa.BlockARM64NZ: {arm64.ACBNZ, arm64.ACBZ}, ssa.BlockARM64NZ: {arm64.ACBNZ, arm64.ACBZ},
ssa.BlockARM64ZW: {arm64.ACBZW, arm64.ACBNZW}, ssa.BlockARM64ZW: {arm64.ACBZW, arm64.ACBNZW},
ssa.BlockARM64NZW: {arm64.ACBNZW, arm64.ACBZW}, ssa.BlockARM64NZW: {arm64.ACBNZW, arm64.ACBZW},
ssa.BlockARM64TBZ: {arm64.ATBZ, arm64.ATBNZ},
ssa.BlockARM64TBNZ: {arm64.ATBNZ, arm64.ATBZ},
} }
func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) { func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
@ -770,6 +772,35 @@ func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
p.From.Type = obj.TYPE_REG p.From.Type = obj.TYPE_REG
p.From.Reg = b.Control.Reg() p.From.Reg = b.Control.Reg()
} }
case ssa.BlockARM64TBZ, ssa.BlockARM64TBNZ:
jmp := blockJump[b.Kind]
var p *obj.Prog
switch next {
case b.Succs[0].Block():
p = s.Prog(jmp.invasm)
p.To.Type = obj.TYPE_BRANCH
p.From.Offset = b.Aux.(int64)
p.From.Type = obj.TYPE_CONST
p.Reg = b.Control.Reg()
s.Branches = append(s.Branches, gc.Branch{P: p, B: b.Succs[1].Block()})
case b.Succs[1].Block():
p = s.Prog(jmp.asm)
p.To.Type = obj.TYPE_BRANCH
p.From.Offset = b.Aux.(int64)
p.From.Type = obj.TYPE_CONST
p.Reg = b.Control.Reg()
s.Branches = append(s.Branches, gc.Branch{P: p, B: b.Succs[0].Block()})
default:
p = s.Prog(jmp.asm)
p.To.Type = obj.TYPE_BRANCH
p.From.Offset = b.Aux.(int64)
p.From.Type = obj.TYPE_CONST
p.Reg = b.Control.Reg()
s.Branches = append(s.Branches, gc.Branch{P: p, B: b.Succs[0].Block()})
q := s.Prog(obj.AJMP)
q.To.Type = obj.TYPE_BRANCH
s.Branches = append(s.Branches, gc.Branch{P: q, B: b.Succs[1].Block()})
}
default: default:
b.Fatalf("branch not implemented: %s. Control: %s", b.LongString(), b.Control.LongString()) b.Fatalf("branch not implemented: %s. Control: %s", b.LongString(), b.Control.LongString())

View File

@ -521,6 +521,12 @@
(EQ (CMPWconst [0] x) yes no) -> (ZW x yes no) (EQ (CMPWconst [0] x) yes no) -> (ZW x yes no)
(NE (CMPWconst [0] x) yes no) -> (NZW x yes no) (NE (CMPWconst [0] x) yes no) -> (NZW x yes no)
// Absorb bit-tests into block
(Z (ANDconst [c] x) yes no) && oneBit(c) -> (TBZ {ntz(c)} x yes no)
(NZ (ANDconst [c] x) yes no) && oneBit(c) -> (TBNZ {ntz(c)} x yes no)
(ZW (ANDconst [c] x) yes no) && oneBit(int64(uint32(c))) -> (TBZ {ntz(int64(uint32(c)))} x yes no)
(NZW (ANDconst [c] x) yes no) && oneBit(int64(uint32(c))) -> (TBNZ {ntz(int64(uint32(c)))} x yes no)
// fold offset into address // fold offset into address
(ADDconst [off1] (MOVDaddr [off2] {sym} ptr)) -> (MOVDaddr [off1+off2] {sym} ptr) (ADDconst [off1] (MOVDaddr [off2] {sym} ptr)) -> (MOVDaddr [off1+off2] {sym} ptr)

View File

@ -512,10 +512,12 @@ func init() {
{name: "ULE"}, {name: "ULE"},
{name: "UGT"}, {name: "UGT"},
{name: "UGE"}, {name: "UGE"},
{name: "Z"}, // Control == 0 (take a register instead of flags) {name: "Z"}, // Control == 0 (take a register instead of flags)
{name: "NZ"}, // Control != 0 {name: "NZ"}, // Control != 0
{name: "ZW"}, // Control == 0, 32-bit {name: "ZW"}, // Control == 0, 32-bit
{name: "NZW"}, // Control != 0, 32-bit {name: "NZW"}, // Control != 0, 32-bit
{name: "TBZ"}, // Control & (1 << Aux.(int64)) == 0
{name: "TBNZ"}, // Control & (1 << Aux.(int64)) != 0
} }
archs = append(archs, arch{ archs = append(archs, arch{

View File

@ -280,29 +280,32 @@ func genRules(arch arch) {
fmt.Fprintf(w, "for {\n") fmt.Fprintf(w, "for {\n")
s := split(match[1 : len(match)-1]) // remove parens, then split _, _, _, aux, s := extract(match) // remove parens, then split
// check match of control value // check match of control value
if s[1] != "nil" { if s[0] != "nil" {
fmt.Fprintf(w, "v := b.Control\n") fmt.Fprintf(w, "v := b.Control\n")
if strings.Contains(s[1], "(") { if strings.Contains(s[0], "(") {
genMatch0(w, arch, s[1], "v", map[string]struct{}{}, false, rule.loc) genMatch0(w, arch, s[0], "v", map[string]struct{}{}, false, rule.loc)
} else { } else {
fmt.Fprintf(w, "_ = v\n") // in case we don't use v fmt.Fprintf(w, "_ = v\n") // in case we don't use v
fmt.Fprintf(w, "%s := b.Control\n", s[1]) fmt.Fprintf(w, "%s := b.Control\n", s[0])
} }
} }
if aux != "" {
fmt.Fprintf(w, "%s := b.Aux\n", aux)
}
if cond != "" { if cond != "" {
fmt.Fprintf(w, "if !(%s) {\nbreak\n}\n", cond) fmt.Fprintf(w, "if !(%s) {\nbreak\n}\n", cond)
} }
// Rule matches. Generate result. // Rule matches. Generate result.
t := split(result[1 : len(result)-1]) // remove parens, then split outop, _, _, aux, t := extract(result) // remove parens, then split
newsuccs := t[2:] newsuccs := t[1:]
// Check if newsuccs is the same set as succs. // Check if newsuccs is the same set as succs.
succs := s[2:] succs := s[1:]
m := map[string]bool{} m := map[string]bool{}
for _, succ := range succs { for _, succ := range succs {
if m[succ] { if m[succ] {
@ -320,11 +323,16 @@ func genRules(arch arch) {
log.Fatalf("unmatched successors %v in %s", m, rule) log.Fatalf("unmatched successors %v in %s", m, rule)
} }
fmt.Fprintf(w, "b.Kind = %s\n", blockName(t[0], arch)) fmt.Fprintf(w, "b.Kind = %s\n", blockName(outop, arch))
if t[1] == "nil" { if t[0] == "nil" {
fmt.Fprintf(w, "b.SetControl(nil)\n") fmt.Fprintf(w, "b.SetControl(nil)\n")
} else { } else {
fmt.Fprintf(w, "b.SetControl(%s)\n", genResult0(w, arch, t[1], new(int), false, false, rule.loc)) fmt.Fprintf(w, "b.SetControl(%s)\n", genResult0(w, arch, t[0], new(int), false, false, rule.loc))
}
if aux != "" {
fmt.Fprintf(w, "b.Aux = %s\n", aux)
} else {
fmt.Fprintln(w, "b.Aux = nil")
} }
succChanged := false succChanged := false
@ -622,11 +630,7 @@ func isBlock(name string, arch arch) bool {
return false return false
} }
// parseValue parses a parenthesized value from a rule. func extract(val string) (op string, typ string, auxint string, aux string, args []string) {
// The value can be from the match or the result side.
// It returns the op and unparsed strings for typ, auxint, and aux restrictions and for all args.
// oparch is the architecture that op is located in, or "" for generic.
func parseValue(val string, arch arch, loc string) (op opData, oparch string, typ string, auxint string, aux string, args []string) {
val = val[1 : len(val)-1] // remove () val = val[1 : len(val)-1] // remove ()
// Split val up into regions. // Split val up into regions.
@ -634,6 +638,7 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty
s := split(val) s := split(val)
// Extract restrictions and args. // Extract restrictions and args.
op = s[0]
for _, a := range s[1:] { for _, a := range s[1:] {
switch a[0] { switch a[0] {
case '<': case '<':
@ -646,8 +651,18 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty
args = append(args, a) args = append(args, a)
} }
} }
return
}
// parseValue parses a parenthesized value from a rule.
// The value can be from the match or the result side.
// It returns the op and unparsed strings for typ, auxint, and aux restrictions and for all args.
// oparch is the architecture that op is located in, or "" for generic.
func parseValue(val string, arch arch, loc string) (op opData, oparch string, typ string, auxint string, aux string, args []string) {
// Resolve the op. // Resolve the op.
var s string
s, typ, auxint, aux, args = extract(val)
// match reports whether x is a good op to select. // match reports whether x is a good op to select.
// If strict is true, rule generation might succeed. // If strict is true, rule generation might succeed.
@ -656,14 +671,14 @@ func parseValue(val string, arch arch, loc string) (op opData, oparch string, ty
// Doing strict=true then strict=false allows // Doing strict=true then strict=false allows
// precise op matching while retaining good error messages. // precise op matching while retaining good error messages.
match := func(x opData, strict bool, archname string) bool { match := func(x opData, strict bool, archname string) bool {
if x.name != s[0] { if x.name != s {
return false return false
} }
if x.argLength != -1 && int(x.argLength) != len(args) { if x.argLength != -1 && int(x.argLength) != len(args) {
if strict { if strict {
return false return false
} else { } else {
log.Printf("%s: op %s (%s) should have %d args, has %d", loc, s[0], archname, x.argLength, len(args)) log.Printf("%s: op %s (%s) should have %d args, has %d", loc, s, archname, x.argLength, len(args))
} }
} }
return true return true

View File

@ -70,6 +70,8 @@ const (
BlockARM64NZ BlockARM64NZ
BlockARM64ZW BlockARM64ZW
BlockARM64NZW BlockARM64NZW
BlockARM64TBZ
BlockARM64TBNZ
BlockMIPSEQ BlockMIPSEQ
BlockMIPSNE BlockMIPSNE
@ -162,20 +164,22 @@ var blockString = [...]string{
BlockARMUGT: "UGT", BlockARMUGT: "UGT",
BlockARMUGE: "UGE", BlockARMUGE: "UGE",
BlockARM64EQ: "EQ", BlockARM64EQ: "EQ",
BlockARM64NE: "NE", BlockARM64NE: "NE",
BlockARM64LT: "LT", BlockARM64LT: "LT",
BlockARM64LE: "LE", BlockARM64LE: "LE",
BlockARM64GT: "GT", BlockARM64GT: "GT",
BlockARM64GE: "GE", BlockARM64GE: "GE",
BlockARM64ULT: "ULT", BlockARM64ULT: "ULT",
BlockARM64ULE: "ULE", BlockARM64ULE: "ULE",
BlockARM64UGT: "UGT", BlockARM64UGT: "UGT",
BlockARM64UGE: "UGE", BlockARM64UGE: "UGE",
BlockARM64Z: "Z", BlockARM64Z: "Z",
BlockARM64NZ: "NZ", BlockARM64NZ: "NZ",
BlockARM64ZW: "ZW", BlockARM64ZW: "ZW",
BlockARM64NZW: "NZW", BlockARM64NZW: "NZW",
BlockARM64TBZ: "TBZ",
BlockARM64TBNZ: "TBNZ",
BlockMIPSEQ: "EQ", BlockMIPSEQ: "EQ",
BlockMIPSNE: "NE", BlockMIPSNE: "NE",

View File

@ -305,6 +305,10 @@ func ntz(x int64) int64 {
return 64 - nlz(^x&(x-1)) return 64 - nlz(^x&(x-1))
} }
func oneBit(x int64) bool {
return nlz(x)+ntz(x) == 63
}
// nlo returns the number of leading ones. // nlo returns the number of leading ones.
func nlo(x int64) int64 { func nlo(x int64) int64 {
return nlz(^x) return nlz(^x)

View File

@ -18325,6 +18325,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386EQ b.Kind = Block386EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagEQ) yes no) // match: (EQ (FlagEQ) yes no)
@ -18337,6 +18338,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT_ULT) yes no) // match: (EQ (FlagLT_ULT) yes no)
@ -18349,6 +18351,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18362,6 +18365,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18375,6 +18379,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18388,6 +18393,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18403,6 +18409,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386LE b.Kind = Block386LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GE (FlagEQ) yes no) // match: (GE (FlagEQ) yes no)
@ -18415,6 +18422,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT_ULT) yes no) // match: (GE (FlagLT_ULT) yes no)
@ -18427,6 +18435,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18440,6 +18449,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18453,6 +18463,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagGT_UGT) yes no) // match: (GE (FlagGT_UGT) yes no)
@ -18465,6 +18476,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case Block386GT: case Block386GT:
@ -18479,6 +18491,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386LT b.Kind = Block386LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GT (FlagEQ) yes no) // match: (GT (FlagEQ) yes no)
@ -18491,6 +18504,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18504,6 +18518,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18517,6 +18532,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18530,6 +18546,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (FlagGT_UGT) yes no) // match: (GT (FlagGT_UGT) yes no)
@ -18542,6 +18559,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -18556,6 +18574,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386LT b.Kind = Block386LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETLE cmp) yes no) // match: (If (SETLE cmp) yes no)
@ -18569,6 +18588,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386LE b.Kind = Block386LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETG cmp) yes no) // match: (If (SETG cmp) yes no)
@ -18582,6 +18602,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386GT b.Kind = Block386GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGE cmp) yes no) // match: (If (SETGE cmp) yes no)
@ -18595,6 +18616,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386GE b.Kind = Block386GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETEQ cmp) yes no) // match: (If (SETEQ cmp) yes no)
@ -18608,6 +18630,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386EQ b.Kind = Block386EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETNE cmp) yes no) // match: (If (SETNE cmp) yes no)
@ -18621,6 +18644,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386NE b.Kind = Block386NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETB cmp) yes no) // match: (If (SETB cmp) yes no)
@ -18634,6 +18658,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386ULT b.Kind = Block386ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETBE cmp) yes no) // match: (If (SETBE cmp) yes no)
@ -18647,6 +18672,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386ULE b.Kind = Block386ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETA cmp) yes no) // match: (If (SETA cmp) yes no)
@ -18660,6 +18686,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETAE cmp) yes no) // match: (If (SETAE cmp) yes no)
@ -18673,6 +18700,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGF cmp) yes no) // match: (If (SETGF cmp) yes no)
@ -18686,6 +18714,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGEF cmp) yes no) // match: (If (SETGEF cmp) yes no)
@ -18699,6 +18728,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETEQF cmp) yes no) // match: (If (SETEQF cmp) yes no)
@ -18712,6 +18742,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386EQF b.Kind = Block386EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETNEF cmp) yes no) // match: (If (SETNEF cmp) yes no)
@ -18725,6 +18756,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386NEF b.Kind = Block386NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -18739,6 +18771,7 @@ func rewriteBlock386(b *Block) bool {
v0.AddArg(cond) v0.AddArg(cond)
v0.AddArg(cond) v0.AddArg(cond)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
case Block386LE: case Block386LE:
@ -18753,6 +18786,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386GE b.Kind = Block386GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LE (FlagEQ) yes no) // match: (LE (FlagEQ) yes no)
@ -18765,6 +18799,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_ULT) yes no) // match: (LE (FlagLT_ULT) yes no)
@ -18777,6 +18812,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_UGT) yes no) // match: (LE (FlagLT_UGT) yes no)
@ -18789,6 +18825,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT_ULT) yes no) // match: (LE (FlagGT_ULT) yes no)
@ -18801,6 +18838,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18814,6 +18852,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18829,6 +18868,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386GT b.Kind = Block386GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LT (FlagEQ) yes no) // match: (LT (FlagEQ) yes no)
@ -18841,6 +18881,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18854,6 +18895,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagLT_UGT) yes no) // match: (LT (FlagLT_UGT) yes no)
@ -18866,6 +18908,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT_ULT) yes no) // match: (LT (FlagGT_ULT) yes no)
@ -18878,6 +18921,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18891,6 +18935,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18918,6 +18963,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386LT b.Kind = Block386LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no) // match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
@ -18943,6 +18989,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386LT b.Kind = Block386LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no) // match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
@ -18968,6 +19015,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386LE b.Kind = Block386LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no) // match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
@ -18993,6 +19041,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386LE b.Kind = Block386LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no) // match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
@ -19018,6 +19067,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386GT b.Kind = Block386GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no) // match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
@ -19043,6 +19093,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386GT b.Kind = Block386GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no) // match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
@ -19068,6 +19119,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386GE b.Kind = Block386GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no) // match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
@ -19093,6 +19145,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386GE b.Kind = Block386GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no) // match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
@ -19118,6 +19171,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386EQ b.Kind = Block386EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no) // match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
@ -19143,6 +19197,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386EQ b.Kind = Block386EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no) // match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
@ -19168,6 +19223,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386NE b.Kind = Block386NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no) // match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
@ -19193,6 +19249,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386NE b.Kind = Block386NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no) // match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
@ -19218,6 +19275,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386ULT b.Kind = Block386ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no) // match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
@ -19243,6 +19301,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386ULT b.Kind = Block386ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no) // match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
@ -19268,6 +19327,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386ULE b.Kind = Block386ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no) // match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
@ -19293,6 +19353,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386ULE b.Kind = Block386ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no) // match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
@ -19318,6 +19379,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no) // match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
@ -19343,6 +19405,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no) // match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
@ -19368,6 +19431,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no) // match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
@ -19393,6 +19457,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no) // match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
@ -19418,6 +19483,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no) // match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
@ -19443,6 +19509,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no) // match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
@ -19468,6 +19535,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no) // match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
@ -19493,6 +19561,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no) // match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
@ -19518,6 +19587,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386EQF b.Kind = Block386EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no) // match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
@ -19543,6 +19613,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386EQF b.Kind = Block386EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no) // match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
@ -19568,6 +19639,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386NEF b.Kind = Block386NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no) // match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
@ -19593,6 +19665,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = Block386NEF b.Kind = Block386NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -19606,6 +19679,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386NE b.Kind = Block386NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -19618,6 +19692,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19631,6 +19706,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagLT_UGT) yes no) // match: (NE (FlagLT_UGT) yes no)
@ -19643,6 +19719,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_ULT) yes no) // match: (NE (FlagGT_ULT) yes no)
@ -19655,6 +19732,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_UGT) yes no) // match: (NE (FlagGT_UGT) yes no)
@ -19667,6 +19745,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case Block386UGE: case Block386UGE:
@ -19681,6 +19760,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386ULE b.Kind = Block386ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagEQ) yes no) // match: (UGE (FlagEQ) yes no)
@ -19693,6 +19773,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagLT_ULT) yes no) // match: (UGE (FlagLT_ULT) yes no)
@ -19705,6 +19786,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19718,6 +19800,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagGT_ULT) yes no) // match: (UGE (FlagGT_ULT) yes no)
@ -19730,6 +19813,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19743,6 +19827,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case Block386UGT: case Block386UGT:
@ -19757,6 +19842,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386ULT b.Kind = Block386ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagEQ) yes no) // match: (UGT (FlagEQ) yes no)
@ -19769,6 +19855,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19782,6 +19869,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19795,6 +19883,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagGT_ULT) yes no) // match: (UGT (FlagGT_ULT) yes no)
@ -19807,6 +19896,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19820,6 +19910,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case Block386ULE: case Block386ULE:
@ -19834,6 +19925,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGE b.Kind = Block386UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagEQ) yes no) // match: (ULE (FlagEQ) yes no)
@ -19846,6 +19938,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_ULT) yes no) // match: (ULE (FlagLT_ULT) yes no)
@ -19858,6 +19951,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_UGT) yes no) // match: (ULE (FlagLT_UGT) yes no)
@ -19870,6 +19964,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19883,6 +19978,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagGT_UGT) yes no) // match: (ULE (FlagGT_UGT) yes no)
@ -19895,6 +19991,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19910,6 +20007,7 @@ func rewriteBlock386(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = Block386UGT b.Kind = Block386UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagEQ) yes no) // match: (ULT (FlagEQ) yes no)
@ -19922,6 +20020,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19935,6 +20034,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagLT_UGT) yes no) // match: (ULT (FlagLT_UGT) yes no)
@ -19947,6 +20047,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19960,6 +20061,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagGT_UGT) yes no) // match: (ULT (FlagGT_UGT) yes no)
@ -19972,6 +20074,7 @@ func rewriteBlock386(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }

View File

@ -43187,6 +43187,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTL y (SHLL (MOVLconst [1]) x))) // match: (EQ (TESTL y (SHLL (MOVLconst [1]) x)))
@ -43220,6 +43221,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTQ (SHLQ (MOVQconst [1]) x) y)) // match: (EQ (TESTQ (SHLQ (MOVQconst [1]) x) y))
@ -43253,6 +43255,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTQ y (SHLQ (MOVQconst [1]) x))) // match: (EQ (TESTQ y (SHLQ (MOVQconst [1]) x)))
@ -43286,6 +43289,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTLconst [c] x)) // match: (EQ (TESTLconst [c] x))
@ -43306,6 +43310,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTQconst [c] x)) // match: (EQ (TESTQconst [c] x))
@ -43326,6 +43331,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTQ (MOVQconst [c]) x)) // match: (EQ (TESTQ (MOVQconst [c]) x))
@ -43351,6 +43357,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (TESTQ x (MOVQconst [c]))) // match: (EQ (TESTQ x (MOVQconst [c])))
@ -43376,6 +43383,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (InvertFlags cmp) yes no) // match: (EQ (InvertFlags cmp) yes no)
@ -43389,6 +43397,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64EQ b.Kind = BlockAMD64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagEQ) yes no) // match: (EQ (FlagEQ) yes no)
@ -43401,6 +43410,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT_ULT) yes no) // match: (EQ (FlagLT_ULT) yes no)
@ -43413,6 +43423,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43426,6 +43437,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43439,6 +43451,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43452,6 +43465,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43467,6 +43481,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64LE b.Kind = BlockAMD64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GE (FlagEQ) yes no) // match: (GE (FlagEQ) yes no)
@ -43479,6 +43494,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT_ULT) yes no) // match: (GE (FlagLT_ULT) yes no)
@ -43491,6 +43507,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43504,6 +43521,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43517,6 +43535,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagGT_UGT) yes no) // match: (GE (FlagGT_UGT) yes no)
@ -43529,6 +43548,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockAMD64GT: case BlockAMD64GT:
@ -43543,6 +43563,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64LT b.Kind = BlockAMD64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GT (FlagEQ) yes no) // match: (GT (FlagEQ) yes no)
@ -43555,6 +43576,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43568,6 +43590,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43581,6 +43604,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43594,6 +43618,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (FlagGT_UGT) yes no) // match: (GT (FlagGT_UGT) yes no)
@ -43606,6 +43631,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -43620,6 +43646,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64LT b.Kind = BlockAMD64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETLE cmp) yes no) // match: (If (SETLE cmp) yes no)
@ -43633,6 +43660,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64LE b.Kind = BlockAMD64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETG cmp) yes no) // match: (If (SETG cmp) yes no)
@ -43646,6 +43674,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64GT b.Kind = BlockAMD64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGE cmp) yes no) // match: (If (SETGE cmp) yes no)
@ -43659,6 +43688,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64GE b.Kind = BlockAMD64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETEQ cmp) yes no) // match: (If (SETEQ cmp) yes no)
@ -43672,6 +43702,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64EQ b.Kind = BlockAMD64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETNE cmp) yes no) // match: (If (SETNE cmp) yes no)
@ -43685,6 +43716,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64NE b.Kind = BlockAMD64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETB cmp) yes no) // match: (If (SETB cmp) yes no)
@ -43698,6 +43730,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64ULT b.Kind = BlockAMD64ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETBE cmp) yes no) // match: (If (SETBE cmp) yes no)
@ -43711,6 +43744,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64ULE b.Kind = BlockAMD64ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETA cmp) yes no) // match: (If (SETA cmp) yes no)
@ -43724,6 +43758,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETAE cmp) yes no) // match: (If (SETAE cmp) yes no)
@ -43737,6 +43772,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGF cmp) yes no) // match: (If (SETGF cmp) yes no)
@ -43750,6 +43786,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETGEF cmp) yes no) // match: (If (SETGEF cmp) yes no)
@ -43763,6 +43800,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETEQF cmp) yes no) // match: (If (SETEQF cmp) yes no)
@ -43776,6 +43814,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64EQF b.Kind = BlockAMD64EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (SETNEF cmp) yes no) // match: (If (SETNEF cmp) yes no)
@ -43789,6 +43828,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64NEF b.Kind = BlockAMD64NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -43803,6 +43843,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(cond) v0.AddArg(cond)
v0.AddArg(cond) v0.AddArg(cond)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
case BlockAMD64LE: case BlockAMD64LE:
@ -43817,6 +43858,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64GE b.Kind = BlockAMD64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LE (FlagEQ) yes no) // match: (LE (FlagEQ) yes no)
@ -43829,6 +43871,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_ULT) yes no) // match: (LE (FlagLT_ULT) yes no)
@ -43841,6 +43884,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_UGT) yes no) // match: (LE (FlagLT_UGT) yes no)
@ -43853,6 +43897,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT_ULT) yes no) // match: (LE (FlagGT_ULT) yes no)
@ -43865,6 +43910,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43878,6 +43924,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43893,6 +43940,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64GT b.Kind = BlockAMD64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LT (FlagEQ) yes no) // match: (LT (FlagEQ) yes no)
@ -43905,6 +43953,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43918,6 +43967,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagLT_UGT) yes no) // match: (LT (FlagLT_UGT) yes no)
@ -43930,6 +43980,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT_ULT) yes no) // match: (LT (FlagGT_ULT) yes no)
@ -43942,6 +43993,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43955,6 +44007,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -43982,6 +44035,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64LT b.Kind = BlockAMD64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no) // match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
@ -44007,6 +44061,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64LT b.Kind = BlockAMD64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no) // match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
@ -44032,6 +44087,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64LE b.Kind = BlockAMD64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no) // match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
@ -44057,6 +44113,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64LE b.Kind = BlockAMD64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no) // match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
@ -44082,6 +44139,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64GT b.Kind = BlockAMD64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no) // match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
@ -44107,6 +44165,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64GT b.Kind = BlockAMD64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no) // match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
@ -44132,6 +44191,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64GE b.Kind = BlockAMD64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no) // match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
@ -44157,6 +44217,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64GE b.Kind = BlockAMD64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no) // match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
@ -44182,6 +44243,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64EQ b.Kind = BlockAMD64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no) // match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
@ -44207,6 +44269,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64EQ b.Kind = BlockAMD64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no) // match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
@ -44232,6 +44295,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64NE b.Kind = BlockAMD64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no) // match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
@ -44257,6 +44321,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64NE b.Kind = BlockAMD64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no) // match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
@ -44282,6 +44347,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64ULT b.Kind = BlockAMD64ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no) // match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
@ -44307,6 +44373,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64ULT b.Kind = BlockAMD64ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no) // match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
@ -44332,6 +44399,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64ULE b.Kind = BlockAMD64ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no) // match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
@ -44357,6 +44425,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64ULE b.Kind = BlockAMD64ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no) // match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
@ -44382,6 +44451,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no) // match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
@ -44407,6 +44477,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no) // match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
@ -44432,6 +44503,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no) // match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
@ -44457,6 +44529,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTL (SHLL (MOVLconst [1]) x) y)) // match: (NE (TESTL (SHLL (MOVLconst [1]) x) y))
@ -44490,6 +44563,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTL y (SHLL (MOVLconst [1]) x))) // match: (NE (TESTL y (SHLL (MOVLconst [1]) x)))
@ -44523,6 +44597,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTQ (SHLQ (MOVQconst [1]) x) y)) // match: (NE (TESTQ (SHLQ (MOVQconst [1]) x) y))
@ -44556,6 +44631,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTQ y (SHLQ (MOVQconst [1]) x))) // match: (NE (TESTQ y (SHLQ (MOVQconst [1]) x)))
@ -44589,6 +44665,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AddArg(x) v0.AddArg(x)
v0.AddArg(y) v0.AddArg(y)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTLconst [c] x)) // match: (NE (TESTLconst [c] x))
@ -44609,6 +44686,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTQconst [c] x)) // match: (NE (TESTQconst [c] x))
@ -44629,6 +44707,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTQ (MOVQconst [c]) x)) // match: (NE (TESTQ (MOVQconst [c]) x))
@ -44654,6 +44733,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTQ x (MOVQconst [c]))) // match: (NE (TESTQ x (MOVQconst [c])))
@ -44679,6 +44759,7 @@ func rewriteBlockAMD64(b *Block) bool {
v0.AuxInt = log2(c) v0.AuxInt = log2(c)
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no) // match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
@ -44704,6 +44785,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no) // match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
@ -44729,6 +44811,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no) // match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
@ -44754,6 +44837,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no) // match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
@ -44779,6 +44863,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no) // match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
@ -44804,6 +44889,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64EQF b.Kind = BlockAMD64EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no) // match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
@ -44829,6 +44915,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64EQF b.Kind = BlockAMD64EQF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no) // match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
@ -44854,6 +44941,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64NEF b.Kind = BlockAMD64NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no) // match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
@ -44879,6 +44967,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockAMD64NEF b.Kind = BlockAMD64NEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -44892,6 +44981,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64NE b.Kind = BlockAMD64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -44904,6 +44994,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -44917,6 +45008,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagLT_UGT) yes no) // match: (NE (FlagLT_UGT) yes no)
@ -44929,6 +45021,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_ULT) yes no) // match: (NE (FlagGT_ULT) yes no)
@ -44941,6 +45034,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_UGT) yes no) // match: (NE (FlagGT_UGT) yes no)
@ -44953,6 +45047,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockAMD64UGE: case BlockAMD64UGE:
@ -44967,6 +45062,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64ULE b.Kind = BlockAMD64ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagEQ) yes no) // match: (UGE (FlagEQ) yes no)
@ -44979,6 +45075,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagLT_ULT) yes no) // match: (UGE (FlagLT_ULT) yes no)
@ -44991,6 +45088,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45004,6 +45102,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagGT_ULT) yes no) // match: (UGE (FlagGT_ULT) yes no)
@ -45016,6 +45115,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45029,6 +45129,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockAMD64UGT: case BlockAMD64UGT:
@ -45043,6 +45144,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64ULT b.Kind = BlockAMD64ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagEQ) yes no) // match: (UGT (FlagEQ) yes no)
@ -45055,6 +45157,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45068,6 +45171,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45081,6 +45185,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagGT_ULT) yes no) // match: (UGT (FlagGT_ULT) yes no)
@ -45093,6 +45198,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45106,6 +45212,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockAMD64ULE: case BlockAMD64ULE:
@ -45120,6 +45227,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGE b.Kind = BlockAMD64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagEQ) yes no) // match: (ULE (FlagEQ) yes no)
@ -45132,6 +45240,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_ULT) yes no) // match: (ULE (FlagLT_ULT) yes no)
@ -45144,6 +45253,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_UGT) yes no) // match: (ULE (FlagLT_UGT) yes no)
@ -45156,6 +45266,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45169,6 +45280,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagGT_UGT) yes no) // match: (ULE (FlagGT_UGT) yes no)
@ -45181,6 +45293,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45196,6 +45309,7 @@ func rewriteBlockAMD64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockAMD64UGT b.Kind = BlockAMD64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagEQ) yes no) // match: (ULT (FlagEQ) yes no)
@ -45208,6 +45322,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45221,6 +45336,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagLT_UGT) yes no) // match: (ULT (FlagLT_UGT) yes no)
@ -45233,6 +45349,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -45246,6 +45363,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagGT_UGT) yes no) // match: (ULT (FlagGT_UGT) yes no)
@ -45258,6 +45376,7 @@ func rewriteBlockAMD64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }

View File

@ -18583,6 +18583,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT_ULT) yes no) // match: (EQ (FlagLT_ULT) yes no)
@ -18595,6 +18596,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18608,6 +18610,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18621,6 +18624,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18634,6 +18638,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18648,6 +18653,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMEQ b.Kind = BlockARMEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMGE: case BlockARMGE:
@ -18661,6 +18667,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT_ULT) yes no) // match: (GE (FlagLT_ULT) yes no)
@ -18673,6 +18680,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18686,6 +18694,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18699,6 +18708,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagGT_UGT) yes no) // match: (GE (FlagGT_UGT) yes no)
@ -18711,6 +18721,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (InvertFlags cmp) yes no) // match: (GE (InvertFlags cmp) yes no)
@ -18724,6 +18735,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMLE b.Kind = BlockARMLE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMGT: case BlockARMGT:
@ -18737,6 +18749,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18750,6 +18763,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18763,6 +18777,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -18776,6 +18791,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (FlagGT_UGT) yes no) // match: (GT (FlagGT_UGT) yes no)
@ -18788,6 +18804,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (InvertFlags cmp) yes no) // match: (GT (InvertFlags cmp) yes no)
@ -18801,6 +18818,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMLT b.Kind = BlockARMLT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -18815,6 +18833,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMEQ b.Kind = BlockARMEQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (NotEqual cc) yes no) // match: (If (NotEqual cc) yes no)
@ -18828,6 +18847,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMNE b.Kind = BlockARMNE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessThan cc) yes no) // match: (If (LessThan cc) yes no)
@ -18841,6 +18861,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMLT b.Kind = BlockARMLT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessThanU cc) yes no) // match: (If (LessThanU cc) yes no)
@ -18854,6 +18875,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMULT b.Kind = BlockARMULT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessEqual cc) yes no) // match: (If (LessEqual cc) yes no)
@ -18867,6 +18889,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMLE b.Kind = BlockARMLE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessEqualU cc) yes no) // match: (If (LessEqualU cc) yes no)
@ -18880,6 +18903,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMULE b.Kind = BlockARMULE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterThan cc) yes no) // match: (If (GreaterThan cc) yes no)
@ -18893,6 +18917,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMGT b.Kind = BlockARMGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterThanU cc) yes no) // match: (If (GreaterThanU cc) yes no)
@ -18906,6 +18931,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMUGT b.Kind = BlockARMUGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterEqual cc) yes no) // match: (If (GreaterEqual cc) yes no)
@ -18919,6 +18945,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMGE b.Kind = BlockARMGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterEqualU cc) yes no) // match: (If (GreaterEqualU cc) yes no)
@ -18932,6 +18959,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARMUGE b.Kind = BlockARMUGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -18946,6 +18974,7 @@ func rewriteBlockARM(b *Block) bool {
v0.AuxInt = 0 v0.AuxInt = 0
v0.AddArg(cond) v0.AddArg(cond)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
case BlockARMLE: case BlockARMLE:
@ -18959,6 +18988,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_ULT) yes no) // match: (LE (FlagLT_ULT) yes no)
@ -18971,6 +19001,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_UGT) yes no) // match: (LE (FlagLT_UGT) yes no)
@ -18983,6 +19014,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT_ULT) yes no) // match: (LE (FlagGT_ULT) yes no)
@ -18995,6 +19027,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19008,6 +19041,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19022,6 +19056,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMGE b.Kind = BlockARMGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMLT: case BlockARMLT:
@ -19035,6 +19070,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19048,6 +19084,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagLT_UGT) yes no) // match: (LT (FlagLT_UGT) yes no)
@ -19060,6 +19097,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT_ULT) yes no) // match: (LT (FlagGT_ULT) yes no)
@ -19072,6 +19110,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19085,6 +19124,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19099,6 +19139,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMGT b.Kind = BlockARMGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMNE: case BlockARMNE:
@ -19120,6 +19161,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMEQ b.Kind = BlockARMEQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (NotEqual cc)) yes no) // match: (NE (CMPconst [0] (NotEqual cc)) yes no)
@ -19140,6 +19182,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMNE b.Kind = BlockARMNE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (LessThan cc)) yes no) // match: (NE (CMPconst [0] (LessThan cc)) yes no)
@ -19160,6 +19203,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMLT b.Kind = BlockARMLT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (LessThanU cc)) yes no) // match: (NE (CMPconst [0] (LessThanU cc)) yes no)
@ -19180,6 +19224,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMULT b.Kind = BlockARMULT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (LessEqual cc)) yes no) // match: (NE (CMPconst [0] (LessEqual cc)) yes no)
@ -19200,6 +19245,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMLE b.Kind = BlockARMLE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (LessEqualU cc)) yes no) // match: (NE (CMPconst [0] (LessEqualU cc)) yes no)
@ -19220,6 +19266,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMULE b.Kind = BlockARMULE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (GreaterThan cc)) yes no) // match: (NE (CMPconst [0] (GreaterThan cc)) yes no)
@ -19240,6 +19287,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMGT b.Kind = BlockARMGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (GreaterThanU cc)) yes no) // match: (NE (CMPconst [0] (GreaterThanU cc)) yes no)
@ -19260,6 +19308,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMUGT b.Kind = BlockARMUGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (GreaterEqual cc)) yes no) // match: (NE (CMPconst [0] (GreaterEqual cc)) yes no)
@ -19280,6 +19329,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMGE b.Kind = BlockARMGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (GreaterEqualU cc)) yes no) // match: (NE (CMPconst [0] (GreaterEqualU cc)) yes no)
@ -19300,6 +19350,7 @@ func rewriteBlockARM(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockARMUGE b.Kind = BlockARMUGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -19312,6 +19363,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19325,6 +19377,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagLT_UGT) yes no) // match: (NE (FlagLT_UGT) yes no)
@ -19337,6 +19390,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_ULT) yes no) // match: (NE (FlagGT_ULT) yes no)
@ -19349,6 +19403,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_UGT) yes no) // match: (NE (FlagGT_UGT) yes no)
@ -19361,6 +19416,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -19374,6 +19430,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMNE b.Kind = BlockARMNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMUGE: case BlockARMUGE:
@ -19387,6 +19444,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagLT_ULT) yes no) // match: (UGE (FlagLT_ULT) yes no)
@ -19399,6 +19457,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19412,6 +19471,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagGT_ULT) yes no) // match: (UGE (FlagGT_ULT) yes no)
@ -19424,6 +19484,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19437,6 +19498,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (InvertFlags cmp) yes no) // match: (UGE (InvertFlags cmp) yes no)
@ -19450,6 +19512,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMULE b.Kind = BlockARMULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMUGT: case BlockARMUGT:
@ -19463,6 +19526,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19476,6 +19540,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19489,6 +19554,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagGT_ULT) yes no) // match: (UGT (FlagGT_ULT) yes no)
@ -19501,6 +19567,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19514,6 +19581,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (InvertFlags cmp) yes no) // match: (UGT (InvertFlags cmp) yes no)
@ -19527,6 +19595,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMULT b.Kind = BlockARMULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMULE: case BlockARMULE:
@ -19540,6 +19609,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_ULT) yes no) // match: (ULE (FlagLT_ULT) yes no)
@ -19552,6 +19622,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_UGT) yes no) // match: (ULE (FlagLT_UGT) yes no)
@ -19564,6 +19635,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19577,6 +19649,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagGT_UGT) yes no) // match: (ULE (FlagGT_UGT) yes no)
@ -19589,6 +19662,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19603,6 +19677,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMUGE b.Kind = BlockARMUGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARMULT: case BlockARMULT:
@ -19616,6 +19691,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19629,6 +19705,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagLT_UGT) yes no) // match: (ULT (FlagLT_UGT) yes no)
@ -19641,6 +19718,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19654,6 +19732,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagGT_UGT) yes no) // match: (ULT (FlagGT_UGT) yes no)
@ -19666,6 +19745,7 @@ func rewriteBlockARM(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -19680,6 +19760,7 @@ func rewriteBlockARM(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARMUGT b.Kind = BlockARMUGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
} }

View File

@ -16456,6 +16456,7 @@ func rewriteBlockARM64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockARM64Z b.Kind = BlockARM64Z
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (CMPWconst [0] x) yes no) // match: (EQ (CMPWconst [0] x) yes no)
@ -16472,6 +16473,7 @@ func rewriteBlockARM64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockARM64ZW b.Kind = BlockARM64ZW
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagEQ) yes no) // match: (EQ (FlagEQ) yes no)
@ -16484,6 +16486,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT_ULT) yes no) // match: (EQ (FlagLT_ULT) yes no)
@ -16496,6 +16499,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16509,6 +16513,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16522,6 +16527,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16535,6 +16541,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16549,6 +16556,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64EQ b.Kind = BlockARM64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64GE: case BlockARM64GE:
@ -16562,6 +16570,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT_ULT) yes no) // match: (GE (FlagLT_ULT) yes no)
@ -16574,6 +16583,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16587,6 +16597,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16600,6 +16611,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagGT_UGT) yes no) // match: (GE (FlagGT_UGT) yes no)
@ -16612,6 +16624,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (InvertFlags cmp) yes no) // match: (GE (InvertFlags cmp) yes no)
@ -16625,6 +16638,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64LE b.Kind = BlockARM64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64GT: case BlockARM64GT:
@ -16638,6 +16652,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16651,6 +16666,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16664,6 +16680,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16677,6 +16694,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (FlagGT_UGT) yes no) // match: (GT (FlagGT_UGT) yes no)
@ -16689,6 +16707,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (InvertFlags cmp) yes no) // match: (GT (InvertFlags cmp) yes no)
@ -16702,6 +16721,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64LT b.Kind = BlockARM64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -16716,6 +16736,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64EQ b.Kind = BlockARM64EQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (NotEqual cc) yes no) // match: (If (NotEqual cc) yes no)
@ -16729,6 +16750,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64NE b.Kind = BlockARM64NE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessThan cc) yes no) // match: (If (LessThan cc) yes no)
@ -16742,6 +16764,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64LT b.Kind = BlockARM64LT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessThanU cc) yes no) // match: (If (LessThanU cc) yes no)
@ -16755,6 +16778,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64ULT b.Kind = BlockARM64ULT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessEqual cc) yes no) // match: (If (LessEqual cc) yes no)
@ -16768,6 +16792,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64LE b.Kind = BlockARM64LE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessEqualU cc) yes no) // match: (If (LessEqualU cc) yes no)
@ -16781,6 +16806,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64ULE b.Kind = BlockARM64ULE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterThan cc) yes no) // match: (If (GreaterThan cc) yes no)
@ -16794,6 +16820,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64GT b.Kind = BlockARM64GT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterThanU cc) yes no) // match: (If (GreaterThanU cc) yes no)
@ -16807,6 +16834,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64UGT b.Kind = BlockARM64UGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterEqual cc) yes no) // match: (If (GreaterEqual cc) yes no)
@ -16820,6 +16848,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64GE b.Kind = BlockARM64GE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterEqualU cc) yes no) // match: (If (GreaterEqualU cc) yes no)
@ -16833,6 +16862,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64UGE b.Kind = BlockARM64UGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -16844,6 +16874,7 @@ func rewriteBlockARM64(b *Block) bool {
cond := b.Control cond := b.Control
b.Kind = BlockARM64NZ b.Kind = BlockARM64NZ
b.SetControl(cond) b.SetControl(cond)
b.Aux = nil
return true return true
} }
case BlockARM64LE: case BlockARM64LE:
@ -16857,6 +16888,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_ULT) yes no) // match: (LE (FlagLT_ULT) yes no)
@ -16869,6 +16901,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT_UGT) yes no) // match: (LE (FlagLT_UGT) yes no)
@ -16881,6 +16914,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT_ULT) yes no) // match: (LE (FlagGT_ULT) yes no)
@ -16893,6 +16927,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16906,6 +16941,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16920,6 +16956,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64GE b.Kind = BlockARM64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64LT: case BlockARM64LT:
@ -16933,6 +16970,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16946,6 +16984,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagLT_UGT) yes no) // match: (LT (FlagLT_UGT) yes no)
@ -16958,6 +16997,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT_ULT) yes no) // match: (LT (FlagGT_ULT) yes no)
@ -16970,6 +17010,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16983,6 +17024,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -16997,6 +17039,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64GT b.Kind = BlockARM64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64NE: case BlockARM64NE:
@ -17014,6 +17057,7 @@ func rewriteBlockARM64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockARM64NZ b.Kind = BlockARM64NZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] x) yes no) // match: (NE (CMPWconst [0] x) yes no)
@ -17030,6 +17074,7 @@ func rewriteBlockARM64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockARM64NZW b.Kind = BlockARM64NZW
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -17042,6 +17087,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17055,6 +17101,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagLT_UGT) yes no) // match: (NE (FlagLT_UGT) yes no)
@ -17067,6 +17114,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_ULT) yes no) // match: (NE (FlagGT_ULT) yes no)
@ -17079,6 +17127,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT_UGT) yes no) // match: (NE (FlagGT_UGT) yes no)
@ -17091,6 +17140,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -17104,6 +17154,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64NE b.Kind = BlockARM64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64NZ: case BlockARM64NZ:
@ -17118,6 +17169,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64EQ b.Kind = BlockARM64EQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (NotEqual cc) yes no) // match: (NZ (NotEqual cc) yes no)
@ -17131,6 +17183,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64NE b.Kind = BlockARM64NE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (LessThan cc) yes no) // match: (NZ (LessThan cc) yes no)
@ -17144,6 +17197,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64LT b.Kind = BlockARM64LT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (LessThanU cc) yes no) // match: (NZ (LessThanU cc) yes no)
@ -17157,6 +17211,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64ULT b.Kind = BlockARM64ULT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (LessEqual cc) yes no) // match: (NZ (LessEqual cc) yes no)
@ -17170,6 +17225,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64LE b.Kind = BlockARM64LE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (LessEqualU cc) yes no) // match: (NZ (LessEqualU cc) yes no)
@ -17183,6 +17239,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64ULE b.Kind = BlockARM64ULE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (GreaterThan cc) yes no) // match: (NZ (GreaterThan cc) yes no)
@ -17196,6 +17253,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64GT b.Kind = BlockARM64GT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (GreaterThanU cc) yes no) // match: (NZ (GreaterThanU cc) yes no)
@ -17209,6 +17267,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64UGT b.Kind = BlockARM64UGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (GreaterEqual cc) yes no) // match: (NZ (GreaterEqual cc) yes no)
@ -17222,6 +17281,7 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64GE b.Kind = BlockARM64GE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NZ (GreaterEqualU cc) yes no) // match: (NZ (GreaterEqualU cc) yes no)
@ -17235,6 +17295,25 @@ func rewriteBlockARM64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockARM64UGE b.Kind = BlockARM64UGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true
}
// match: (NZ (ANDconst [c] x) yes no)
// cond: oneBit(c)
// result: (TBNZ {ntz(c)} x yes no)
for {
v := b.Control
if v.Op != OpARM64ANDconst {
break
}
c := v.AuxInt
x := v.Args[0]
if !(oneBit(c)) {
break
}
b.Kind = BlockARM64TBNZ
b.SetControl(x)
b.Aux = ntz(c)
return true return true
} }
// match: (NZ (MOVDconst [0]) yes no) // match: (NZ (MOVDconst [0]) yes no)
@ -17250,6 +17329,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17267,9 +17347,28 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockARM64NZW: case BlockARM64NZW:
// match: (NZW (ANDconst [c] x) yes no)
// cond: oneBit(int64(uint32(c)))
// result: (TBNZ {ntz(int64(uint32(c)))} x yes no)
for {
v := b.Control
if v.Op != OpARM64ANDconst {
break
}
c := v.AuxInt
x := v.Args[0]
if !(oneBit(int64(uint32(c)))) {
break
}
b.Kind = BlockARM64TBNZ
b.SetControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
}
// match: (NZW (MOVDconst [c]) yes no) // match: (NZW (MOVDconst [c]) yes no)
// cond: int32(c) == 0 // cond: int32(c) == 0
// result: (First nil no yes) // result: (First nil no yes)
@ -17284,6 +17383,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17301,6 +17401,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockARM64UGE: case BlockARM64UGE:
@ -17314,6 +17415,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagLT_ULT) yes no) // match: (UGE (FlagLT_ULT) yes no)
@ -17326,6 +17428,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17339,6 +17442,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (FlagGT_ULT) yes no) // match: (UGE (FlagGT_ULT) yes no)
@ -17351,6 +17455,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17364,6 +17469,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGE (InvertFlags cmp) yes no) // match: (UGE (InvertFlags cmp) yes no)
@ -17377,6 +17483,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64ULE b.Kind = BlockARM64ULE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64UGT: case BlockARM64UGT:
@ -17390,6 +17497,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17403,6 +17511,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17416,6 +17525,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (FlagGT_ULT) yes no) // match: (UGT (FlagGT_ULT) yes no)
@ -17428,6 +17538,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17441,6 +17552,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (UGT (InvertFlags cmp) yes no) // match: (UGT (InvertFlags cmp) yes no)
@ -17454,6 +17566,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64ULT b.Kind = BlockARM64ULT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64ULE: case BlockARM64ULE:
@ -17467,6 +17580,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_ULT) yes no) // match: (ULE (FlagLT_ULT) yes no)
@ -17479,6 +17593,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagLT_UGT) yes no) // match: (ULE (FlagLT_UGT) yes no)
@ -17491,6 +17606,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17504,6 +17620,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULE (FlagGT_UGT) yes no) // match: (ULE (FlagGT_UGT) yes no)
@ -17516,6 +17633,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17530,6 +17648,7 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64UGE b.Kind = BlockARM64UGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64ULT: case BlockARM64ULT:
@ -17543,6 +17662,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17556,6 +17676,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagLT_UGT) yes no) // match: (ULT (FlagLT_UGT) yes no)
@ -17568,6 +17689,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17581,6 +17703,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ULT (FlagGT_UGT) yes no) // match: (ULT (FlagGT_UGT) yes no)
@ -17593,6 +17716,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -17607,9 +17731,28 @@ func rewriteBlockARM64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockARM64UGT b.Kind = BlockARM64UGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockARM64Z: case BlockARM64Z:
// match: (Z (ANDconst [c] x) yes no)
// cond: oneBit(c)
// result: (TBZ {ntz(c)} x yes no)
for {
v := b.Control
if v.Op != OpARM64ANDconst {
break
}
c := v.AuxInt
x := v.Args[0]
if !(oneBit(c)) {
break
}
b.Kind = BlockARM64TBZ
b.SetControl(x)
b.Aux = ntz(c)
return true
}
// match: (Z (MOVDconst [0]) yes no) // match: (Z (MOVDconst [0]) yes no)
// cond: // cond:
// result: (First nil yes no) // result: (First nil yes no)
@ -17623,6 +17766,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (Z (MOVDconst [c]) yes no) // match: (Z (MOVDconst [c]) yes no)
@ -17639,10 +17783,29 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
case BlockARM64ZW: case BlockARM64ZW:
// match: (ZW (ANDconst [c] x) yes no)
// cond: oneBit(int64(uint32(c)))
// result: (TBZ {ntz(int64(uint32(c)))} x yes no)
for {
v := b.Control
if v.Op != OpARM64ANDconst {
break
}
c := v.AuxInt
x := v.Args[0]
if !(oneBit(int64(uint32(c)))) {
break
}
b.Kind = BlockARM64TBZ
b.SetControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
}
// match: (ZW (MOVDconst [c]) yes no) // match: (ZW (MOVDconst [c]) yes no)
// cond: int32(c) == 0 // cond: int32(c) == 0
// result: (First nil yes no) // result: (First nil yes no)
@ -17657,6 +17820,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (ZW (MOVDconst [c]) yes no) // match: (ZW (MOVDconst [c]) yes no)
@ -17673,6 +17837,7 @@ func rewriteBlockARM64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }

View File

@ -9608,6 +9608,7 @@ func rewriteBlockMIPS(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPSFPF b.Kind = BlockMIPSFPF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (FPFlagFalse cmp) yes no) // match: (EQ (FPFlagFalse cmp) yes no)
@ -9621,6 +9622,7 @@ func rewriteBlockMIPS(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPSFPT b.Kind = BlockMIPSFPT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no) // match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
@ -9641,6 +9643,7 @@ func rewriteBlockMIPS(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
@ -9661,6 +9664,7 @@ func rewriteBlockMIPS(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
@ -9680,6 +9684,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
@ -9699,6 +9704,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTzero _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTzero _)) yes no)
@ -9718,6 +9724,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTUzero _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTUzero _)) yes no)
@ -9737,6 +9744,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTUconst [1] x) yes no) // match: (EQ (SGTUconst [1] x) yes no)
@ -9753,6 +9761,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTUzero x) yes no) // match: (EQ (SGTUzero x) yes no)
@ -9766,6 +9775,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTconst [0] x) yes no) // match: (EQ (SGTconst [0] x) yes no)
@ -9782,6 +9792,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSGEZ b.Kind = BlockMIPSGEZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTzero x) yes no) // match: (EQ (SGTzero x) yes no)
@ -9795,6 +9806,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSLEZ b.Kind = BlockMIPSLEZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (MOVWconst [0]) yes no) // match: (EQ (MOVWconst [0]) yes no)
@ -9810,6 +9822,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (MOVWconst [c]) yes no) // match: (EQ (MOVWconst [c]) yes no)
@ -9826,6 +9839,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -9844,6 +9858,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GEZ (MOVWconst [c]) yes no) // match: (GEZ (MOVWconst [c]) yes no)
@ -9860,6 +9875,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -9878,6 +9894,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GTZ (MOVWconst [c]) yes no) // match: (GTZ (MOVWconst [c]) yes no)
@ -9894,6 +9911,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -9907,6 +9925,7 @@ func rewriteBlockMIPS(b *Block) bool {
cond := b.Control cond := b.Control
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(cond) b.SetControl(cond)
b.Aux = nil
return true return true
} }
case BlockMIPSLEZ: case BlockMIPSLEZ:
@ -9924,6 +9943,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LEZ (MOVWconst [c]) yes no) // match: (LEZ (MOVWconst [c]) yes no)
@ -9940,6 +9960,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -9958,6 +9979,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LTZ (MOVWconst [c]) yes no) // match: (LTZ (MOVWconst [c]) yes no)
@ -9974,6 +9996,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -9989,6 +10012,7 @@ func rewriteBlockMIPS(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPSFPT b.Kind = BlockMIPSFPT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (FPFlagFalse cmp) yes no) // match: (NE (FPFlagFalse cmp) yes no)
@ -10002,6 +10026,7 @@ func rewriteBlockMIPS(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPSFPF b.Kind = BlockMIPSFPF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no) // match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
@ -10022,6 +10047,7 @@ func rewriteBlockMIPS(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no) // match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
@ -10042,6 +10068,7 @@ func rewriteBlockMIPS(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no) // match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
@ -10061,6 +10088,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no) // match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
@ -10080,6 +10108,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTzero _)) yes no) // match: (NE (XORconst [1] cmp:(SGTzero _)) yes no)
@ -10099,6 +10128,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTUzero _)) yes no) // match: (NE (XORconst [1] cmp:(SGTUzero _)) yes no)
@ -10118,6 +10148,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (SGTUconst [1] x) yes no) // match: (NE (SGTUconst [1] x) yes no)
@ -10134,6 +10165,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSEQ b.Kind = BlockMIPSEQ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGTUzero x) yes no) // match: (NE (SGTUzero x) yes no)
@ -10147,6 +10179,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSNE b.Kind = BlockMIPSNE
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGTconst [0] x) yes no) // match: (NE (SGTconst [0] x) yes no)
@ -10163,6 +10196,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSLTZ b.Kind = BlockMIPSLTZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGTzero x) yes no) // match: (NE (SGTzero x) yes no)
@ -10176,6 +10210,7 @@ func rewriteBlockMIPS(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPSGTZ b.Kind = BlockMIPSGTZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (MOVWconst [0]) yes no) // match: (NE (MOVWconst [0]) yes no)
@ -10191,6 +10226,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10208,6 +10244,7 @@ func rewriteBlockMIPS(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
} }

View File

@ -10187,6 +10187,7 @@ func rewriteBlockMIPS64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPS64FPF b.Kind = BlockMIPS64FPF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (FPFlagFalse cmp) yes no) // match: (EQ (FPFlagFalse cmp) yes no)
@ -10200,6 +10201,7 @@ func rewriteBlockMIPS64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPS64FPT b.Kind = BlockMIPS64FPT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no) // match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
@ -10220,6 +10222,7 @@ func rewriteBlockMIPS64(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
@ -10240,6 +10243,7 @@ func rewriteBlockMIPS64(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
@ -10259,6 +10263,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no) // match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
@ -10278,6 +10283,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTUconst [1] x) yes no) // match: (EQ (SGTUconst [1] x) yes no)
@ -10294,6 +10300,7 @@ func rewriteBlockMIPS64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTU x (MOVVconst [0])) yes no) // match: (EQ (SGTU x (MOVVconst [0])) yes no)
@ -10315,6 +10322,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGTconst [0] x) yes no) // match: (EQ (SGTconst [0] x) yes no)
@ -10331,6 +10339,7 @@ func rewriteBlockMIPS64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPS64GEZ b.Kind = BlockMIPS64GEZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (SGT x (MOVVconst [0])) yes no) // match: (EQ (SGT x (MOVVconst [0])) yes no)
@ -10352,6 +10361,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64LEZ b.Kind = BlockMIPS64LEZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (EQ (MOVVconst [0]) yes no) // match: (EQ (MOVVconst [0]) yes no)
@ -10367,6 +10377,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (MOVVconst [c]) yes no) // match: (EQ (MOVVconst [c]) yes no)
@ -10383,6 +10394,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10401,6 +10413,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GEZ (MOVVconst [c]) yes no) // match: (GEZ (MOVVconst [c]) yes no)
@ -10417,6 +10430,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10435,6 +10449,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GTZ (MOVVconst [c]) yes no) // match: (GTZ (MOVVconst [c]) yes no)
@ -10451,6 +10466,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10464,6 +10480,7 @@ func rewriteBlockMIPS64(b *Block) bool {
cond := b.Control cond := b.Control
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(cond) b.SetControl(cond)
b.Aux = nil
return true return true
} }
case BlockMIPS64LEZ: case BlockMIPS64LEZ:
@ -10481,6 +10498,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LEZ (MOVVconst [c]) yes no) // match: (LEZ (MOVVconst [c]) yes no)
@ -10497,6 +10515,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10515,6 +10534,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LTZ (MOVVconst [c]) yes no) // match: (LTZ (MOVVconst [c]) yes no)
@ -10531,6 +10551,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10546,6 +10567,7 @@ func rewriteBlockMIPS64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPS64FPT b.Kind = BlockMIPS64FPT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (FPFlagFalse cmp) yes no) // match: (NE (FPFlagFalse cmp) yes no)
@ -10559,6 +10581,7 @@ func rewriteBlockMIPS64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockMIPS64FPF b.Kind = BlockMIPS64FPF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no) // match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
@ -10579,6 +10602,7 @@ func rewriteBlockMIPS64(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no) // match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
@ -10599,6 +10623,7 @@ func rewriteBlockMIPS64(b *Block) bool {
_ = cmp.Args[1] _ = cmp.Args[1]
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no) // match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
@ -10618,6 +10643,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no) // match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
@ -10637,6 +10663,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (SGTUconst [1] x) yes no) // match: (NE (SGTUconst [1] x) yes no)
@ -10653,6 +10680,7 @@ func rewriteBlockMIPS64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPS64EQ b.Kind = BlockMIPS64EQ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGTU x (MOVVconst [0])) yes no) // match: (NE (SGTU x (MOVVconst [0])) yes no)
@ -10674,6 +10702,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64NE b.Kind = BlockMIPS64NE
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGTconst [0] x) yes no) // match: (NE (SGTconst [0] x) yes no)
@ -10690,6 +10719,7 @@ func rewriteBlockMIPS64(b *Block) bool {
x := v.Args[0] x := v.Args[0]
b.Kind = BlockMIPS64LTZ b.Kind = BlockMIPS64LTZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (SGT x (MOVVconst [0])) yes no) // match: (NE (SGT x (MOVVconst [0])) yes no)
@ -10711,6 +10741,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockMIPS64GTZ b.Kind = BlockMIPS64GTZ
b.SetControl(x) b.SetControl(x)
b.Aux = nil
return true return true
} }
// match: (NE (MOVVconst [0]) yes no) // match: (NE (MOVVconst [0]) yes no)
@ -10726,6 +10757,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -10743,6 +10775,7 @@ func rewriteBlockMIPS64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
} }

View File

@ -11098,6 +11098,7 @@ func rewriteBlockPPC64(b *Block) bool {
v0.AuxInt = c v0.AuxInt = c
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (CMPWconst [0] (ANDconst [c] x)) yes no) // match: (EQ (CMPWconst [0] (ANDconst [c] x)) yes no)
@ -11122,6 +11123,7 @@ func rewriteBlockPPC64(b *Block) bool {
v0.AuxInt = c v0.AuxInt = c
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagEQ) yes no) // match: (EQ (FlagEQ) yes no)
@ -11134,6 +11136,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT) yes no) // match: (EQ (FlagLT) yes no)
@ -11146,6 +11149,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11159,6 +11163,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11173,6 +11178,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64EQ b.Kind = BlockPPC64EQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockPPC64GE: case BlockPPC64GE:
@ -11186,6 +11192,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT) yes no) // match: (GE (FlagLT) yes no)
@ -11198,6 +11205,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11211,6 +11219,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (InvertFlags cmp) yes no) // match: (GE (InvertFlags cmp) yes no)
@ -11224,6 +11233,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64LE b.Kind = BlockPPC64LE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockPPC64GT: case BlockPPC64GT:
@ -11237,6 +11247,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11250,6 +11261,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11263,6 +11275,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GT (InvertFlags cmp) yes no) // match: (GT (InvertFlags cmp) yes no)
@ -11276,6 +11289,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64LT b.Kind = BlockPPC64LT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -11290,6 +11304,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64EQ b.Kind = BlockPPC64EQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (NotEqual cc) yes no) // match: (If (NotEqual cc) yes no)
@ -11303,6 +11318,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64NE b.Kind = BlockPPC64NE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessThan cc) yes no) // match: (If (LessThan cc) yes no)
@ -11316,6 +11332,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64LT b.Kind = BlockPPC64LT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (LessEqual cc) yes no) // match: (If (LessEqual cc) yes no)
@ -11329,6 +11346,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64LE b.Kind = BlockPPC64LE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterThan cc) yes no) // match: (If (GreaterThan cc) yes no)
@ -11342,6 +11360,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64GT b.Kind = BlockPPC64GT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (GreaterEqual cc) yes no) // match: (If (GreaterEqual cc) yes no)
@ -11355,6 +11374,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64GE b.Kind = BlockPPC64GE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (FLessThan cc) yes no) // match: (If (FLessThan cc) yes no)
@ -11368,6 +11388,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64FLT b.Kind = BlockPPC64FLT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (FLessEqual cc) yes no) // match: (If (FLessEqual cc) yes no)
@ -11381,6 +11402,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64FLE b.Kind = BlockPPC64FLE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (FGreaterThan cc) yes no) // match: (If (FGreaterThan cc) yes no)
@ -11394,6 +11416,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64FGT b.Kind = BlockPPC64FGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If (FGreaterEqual cc) yes no) // match: (If (FGreaterEqual cc) yes no)
@ -11407,6 +11430,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v.Args[0] cc := v.Args[0]
b.Kind = BlockPPC64FGE b.Kind = BlockPPC64FGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -11421,6 +11445,7 @@ func rewriteBlockPPC64(b *Block) bool {
v0.AuxInt = 0 v0.AuxInt = 0
v0.AddArg(cond) v0.AddArg(cond)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
case BlockPPC64LE: case BlockPPC64LE:
@ -11434,6 +11459,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT) yes no) // match: (LE (FlagLT) yes no)
@ -11446,6 +11472,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT) yes no) // match: (LE (FlagGT) yes no)
@ -11458,6 +11485,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11472,6 +11500,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64GE b.Kind = BlockPPC64GE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockPPC64LT: case BlockPPC64LT:
@ -11485,6 +11514,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11498,6 +11528,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT) yes no) // match: (LT (FlagGT) yes no)
@ -11510,6 +11541,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11524,6 +11556,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64GT b.Kind = BlockPPC64GT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
case BlockPPC64NE: case BlockPPC64NE:
@ -11545,6 +11578,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64EQ b.Kind = BlockPPC64EQ
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (NotEqual cc)) yes no) // match: (NE (CMPWconst [0] (NotEqual cc)) yes no)
@ -11565,6 +11599,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64NE b.Kind = BlockPPC64NE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (LessThan cc)) yes no) // match: (NE (CMPWconst [0] (LessThan cc)) yes no)
@ -11585,6 +11620,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64LT b.Kind = BlockPPC64LT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (LessEqual cc)) yes no) // match: (NE (CMPWconst [0] (LessEqual cc)) yes no)
@ -11605,6 +11641,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64LE b.Kind = BlockPPC64LE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (GreaterThan cc)) yes no) // match: (NE (CMPWconst [0] (GreaterThan cc)) yes no)
@ -11625,6 +11662,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64GT b.Kind = BlockPPC64GT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (GreaterEqual cc)) yes no) // match: (NE (CMPWconst [0] (GreaterEqual cc)) yes no)
@ -11645,6 +11683,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64GE b.Kind = BlockPPC64GE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (FLessThan cc)) yes no) // match: (NE (CMPWconst [0] (FLessThan cc)) yes no)
@ -11665,6 +11704,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64FLT b.Kind = BlockPPC64FLT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (FLessEqual cc)) yes no) // match: (NE (CMPWconst [0] (FLessEqual cc)) yes no)
@ -11685,6 +11725,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64FLE b.Kind = BlockPPC64FLE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (FGreaterThan cc)) yes no) // match: (NE (CMPWconst [0] (FGreaterThan cc)) yes no)
@ -11705,6 +11746,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64FGT b.Kind = BlockPPC64FGT
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (FGreaterEqual cc)) yes no) // match: (NE (CMPWconst [0] (FGreaterEqual cc)) yes no)
@ -11725,6 +11767,7 @@ func rewriteBlockPPC64(b *Block) bool {
cc := v_0.Args[0] cc := v_0.Args[0]
b.Kind = BlockPPC64FGE b.Kind = BlockPPC64FGE
b.SetControl(cc) b.SetControl(cc)
b.Aux = nil
return true return true
} }
// match: (NE (CMPconst [0] (ANDconst [c] x)) yes no) // match: (NE (CMPconst [0] (ANDconst [c] x)) yes no)
@ -11749,6 +11792,7 @@ func rewriteBlockPPC64(b *Block) bool {
v0.AuxInt = c v0.AuxInt = c
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (ANDconst [c] x)) yes no) // match: (NE (CMPWconst [0] (ANDconst [c] x)) yes no)
@ -11773,6 +11817,7 @@ func rewriteBlockPPC64(b *Block) bool {
v0.AuxInt = c v0.AuxInt = c
v0.AddArg(x) v0.AddArg(x)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -11785,6 +11830,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -11798,6 +11844,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT) yes no) // match: (NE (FlagGT) yes no)
@ -11810,6 +11857,7 @@ func rewriteBlockPPC64(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -11823,6 +11871,7 @@ func rewriteBlockPPC64(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockPPC64NE b.Kind = BlockPPC64NE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
} }

View File

@ -36620,6 +36620,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XEQ b.Kind = BlockS390XEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagEQ) yes no) // match: (EQ (FlagEQ) yes no)
@ -36632,6 +36633,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (EQ (FlagLT) yes no) // match: (EQ (FlagLT) yes no)
@ -36644,6 +36646,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -36657,6 +36660,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -36672,6 +36676,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XLE b.Kind = BlockS390XLE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GE (FlagEQ) yes no) // match: (GE (FlagEQ) yes no)
@ -36684,6 +36689,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (GE (FlagLT) yes no) // match: (GE (FlagLT) yes no)
@ -36696,6 +36702,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -36709,6 +36716,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockS390XGT: case BlockS390XGT:
@ -36723,6 +36731,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XLT b.Kind = BlockS390XLT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (GT (FlagEQ) yes no) // match: (GT (FlagEQ) yes no)
@ -36735,6 +36744,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -36748,6 +36758,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -36761,6 +36772,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
case BlockIf: case BlockIf:
@ -36790,6 +36802,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XLT b.Kind = BlockS390XLT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36818,6 +36831,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XLE b.Kind = BlockS390XLE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36846,6 +36860,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XGT b.Kind = BlockS390XGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36874,6 +36889,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XGE b.Kind = BlockS390XGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36902,6 +36918,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XEQ b.Kind = BlockS390XEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36930,6 +36947,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XNE b.Kind = BlockS390XNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36958,6 +36976,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XGTF b.Kind = BlockS390XGTF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no) // match: (If (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
@ -36986,6 +37005,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[2] cmp := v.Args[2]
b.Kind = BlockS390XGEF b.Kind = BlockS390XGEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (If cond yes no) // match: (If cond yes no)
@ -37002,6 +37022,7 @@ func rewriteBlockS390X(b *Block) bool {
v1.AddArg(cond) v1.AddArg(cond)
v0.AddArg(v1) v0.AddArg(v1)
b.SetControl(v0) b.SetControl(v0)
b.Aux = nil
return true return true
} }
case BlockS390XLE: case BlockS390XLE:
@ -37016,6 +37037,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XGE b.Kind = BlockS390XGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LE (FlagEQ) yes no) // match: (LE (FlagEQ) yes no)
@ -37028,6 +37050,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagLT) yes no) // match: (LE (FlagLT) yes no)
@ -37040,6 +37063,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LE (FlagGT) yes no) // match: (LE (FlagGT) yes no)
@ -37052,6 +37076,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -37067,6 +37092,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XGT b.Kind = BlockS390XGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (LT (FlagEQ) yes no) // match: (LT (FlagEQ) yes no)
@ -37079,6 +37105,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -37092,6 +37119,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (LT (FlagGT) yes no) // match: (LT (FlagGT) yes no)
@ -37104,6 +37132,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -37141,6 +37170,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XLT b.Kind = BlockS390XLT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37176,6 +37206,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XLE b.Kind = BlockS390XLE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37211,6 +37242,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XGT b.Kind = BlockS390XGT
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37246,6 +37278,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XGE b.Kind = BlockS390XGE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37281,6 +37314,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XEQ b.Kind = BlockS390XEQ
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37316,6 +37350,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XNE b.Kind = BlockS390XNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37351,6 +37386,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XGTF b.Kind = BlockS390XGTF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (CMPWconst [0] (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no) // match: (NE (CMPWconst [0] (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
@ -37386,6 +37422,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v_0.Args[2] cmp := v_0.Args[2]
b.Kind = BlockS390XGEF b.Kind = BlockS390XGEF
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (InvertFlags cmp) yes no) // match: (NE (InvertFlags cmp) yes no)
@ -37399,6 +37436,7 @@ func rewriteBlockS390X(b *Block) bool {
cmp := v.Args[0] cmp := v.Args[0]
b.Kind = BlockS390XNE b.Kind = BlockS390XNE
b.SetControl(cmp) b.SetControl(cmp)
b.Aux = nil
return true return true
} }
// match: (NE (FlagEQ) yes no) // match: (NE (FlagEQ) yes no)
@ -37411,6 +37449,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -37424,6 +37463,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (NE (FlagGT) yes no) // match: (NE (FlagGT) yes no)
@ -37436,6 +37476,7 @@ func rewriteBlockS390X(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
} }

View File

@ -26475,6 +26475,7 @@ func rewriteBlockgeneric(b *Block) bool {
cond := v.Args[0] cond := v.Args[0]
b.Kind = BlockIf b.Kind = BlockIf
b.SetControl(cond) b.SetControl(cond)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }
@ -26492,6 +26493,7 @@ func rewriteBlockgeneric(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
return true return true
} }
// match: (If (ConstBool [c]) yes no) // match: (If (ConstBool [c]) yes no)
@ -26508,6 +26510,7 @@ func rewriteBlockgeneric(b *Block) bool {
} }
b.Kind = BlockFirst b.Kind = BlockFirst
b.SetControl(nil) b.SetControl(nil)
b.Aux = nil
b.swapSuccessors() b.swapSuccessors()
return true return true
} }