}
}
- // assign successor names
- succs := s[2:]
- for i, a := range succs {
- if a != "_" {
- fmt.Fprintf(w, "%s := b.Succs[%d]\n", a, i)
- }
- }
-
if cond != "" {
fmt.Fprintf(w, "if !(%s) {\nbreak\n}\n", cond)
}
newsuccs := t[2:]
// Check if newsuccs is the same set as succs.
+ succs := s[2:]
m := map[string]bool{}
for _, succ := range succs {
if m[succ] {
}
fmt.Fprintln(w, "b.swapSuccessors()")
}
- for i := 0; i < len(succs); i++ {
- fmt.Fprintf(w, "_ = %s\n", newsuccs[i])
- }
if *genLog {
fmt.Fprintf(w, "logRule(\"%s\")\n", rule.loc)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case Block386GE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case Block386GT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETLE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETG cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETEQ cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETNE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETB cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETBE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETA cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETAE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGEF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETEQF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETNEF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NE
v0 := b.NewValue0(v.Pos, Op386TESTB, TypeFlags)
v0.AddArg(cond)
v0.AddArg(cond)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
case Block386LE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case Block386LT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case Block386NE:
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case Block386UGE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case Block386UGT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case Block386ULE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case Block386ULT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = Block386UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagEQ) yes no)
if v.Op != Op386FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagLT_ULT) yes no)
if v.Op != Op386FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagLT_UGT) yes no)
if v.Op != Op386FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagGT_ULT) yes no)
if v.Op != Op386FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagGT_UGT) yes no)
if v.Op != Op386FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
}
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockAMD64GE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockAMD64GT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETLE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETG cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETEQ cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETNE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETB cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETBE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETA cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETAE cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETGEF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETEQF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (SETNEF cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NE
v0 := b.NewValue0(v.Pos, OpAMD64TESTB, TypeFlags)
v0.AddArg(cond)
v0.AddArg(cond)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
case BlockAMD64LE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockAMD64LT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockAMD64NE:
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTL (SHLL (MOVLconst [1]) x) y))
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64EQF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if cmp != v_1.Args[0] {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockAMD64UGE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockAMD64UGT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockAMD64ULE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockAMD64ULT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockAMD64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagEQ) yes no)
if v.Op != OpAMD64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagLT_ULT) yes no)
if v.Op != OpAMD64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagLT_UGT) yes no)
if v.Op != OpAMD64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagGT_ULT) yes no)
if v.Op != OpAMD64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagGT_UGT) yes no)
if v.Op != OpAMD64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
}
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMGE:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMGT:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMEQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (NotEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMNE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMNE
v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
v0.AuxInt = 0
v0.AddArg(cond)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
case BlockARMLE:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMLT:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMNE:
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMEQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (NotEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMNE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (LessThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (LessThanU cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (LessEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMLE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (LessEqualU cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (GreaterThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (GreaterThanU cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (GreaterEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (GreaterEqualU cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMUGE:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMUGT:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMULE:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARMULT:
if v.Op != OpARMFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagLT_ULT) yes no)
if v.Op != OpARMFlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagLT_UGT) yes no)
if v.Op != OpARMFlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagGT_ULT) yes no)
if v.Op != OpARMFlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagGT_UGT) yes no)
if v.Op != OpARMFlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARMUGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
}
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64Z
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (CMPWconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ZW
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagEQ) yes no)
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64GE:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64GT:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64EQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (NotEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NZ
b.SetControl(cond)
- _ = yes
- _ = no
return true
}
case BlockARM64LE:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64LT:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64NE:
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NZW
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64NZ:
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64EQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (NotEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64NE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (LessThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (LessThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (LessEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64LE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (LessEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (GreaterThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (GreaterThanU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (GreaterEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64GE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (GreaterEqualU cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NZ (MOVDconst [0]) yes no)
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NZ (MOVDconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockARM64NZW:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) == 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NZW (MOVDconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockARM64UGE:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGE (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64UGT:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (UGT (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (UGT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64ULT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64ULE:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULE (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64ULT:
if v.Op != OpARM64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagLT_ULT) yes no)
if v.Op != OpARM64FlagLT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagLT_UGT) yes no)
if v.Op != OpARM64FlagLT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (FlagGT_ULT) yes no)
if v.Op != OpARM64FlagGT_ULT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ULT (FlagGT_UGT) yes no)
if v.Op != OpARM64FlagGT_UGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (ULT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockARM64UGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockARM64Z:
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (Z (MOVDconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockARM64ZW:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) == 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (ZW (MOVDconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
}
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSFPF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (FPFlagFalse cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSFPT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
if cmp.Op != OpMIPSSGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
if cmp.Op != OpMIPSSGTU {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPSSGTconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPSSGTUconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTzero _)) yes no)
if cmp.Op != OpMIPSSGTzero {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUzero _)) yes no)
if cmp.Op != OpMIPSSGTUzero {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTUconst [1] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTUzero x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSGEZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTzero x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSLEZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (MOVWconst [0]) yes no)
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPSGEZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) >= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GEZ (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) < 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPSGTZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) > 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GTZ (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) <= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockIf:
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(cond)
- _ = yes
- _ = no
return true
}
case BlockMIPSLEZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) <= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LEZ (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) > 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPSLTZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) < 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LTZ (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(int32(c) >= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPSNE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSFPT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (FPFlagFalse cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSFPF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
if cmp.Op != OpMIPSSGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
if cmp.Op != OpMIPSSGTU {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPSSGTconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPSSGTUconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTzero _)) yes no)
if cmp.Op != OpMIPSSGTzero {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTUzero _)) yes no)
if cmp.Op != OpMIPSSGTUzero {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTUconst [1] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSEQ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTUzero x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSNE
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSLTZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTzero x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPSGTZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (MOVWconst [0]) yes no)
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (MOVWconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
}
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64FPF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (FPFlagFalse cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64FPT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
if cmp.Op != OpMIPS64SGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
if cmp.Op != OpMIPS64SGTU {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPS64SGTconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPS64SGTUconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTUconst [1] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTU x (MOVVconst [0])) yes no)
if v_1.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGTconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64GEZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (SGT x (MOVVconst [0])) yes no)
if v_1.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64LEZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (EQ (MOVVconst [0]) yes no)
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPS64GEZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c >= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GEZ (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c < 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPS64GTZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c > 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GTZ (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c <= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockIf:
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(cond)
- _ = yes
- _ = no
return true
}
case BlockMIPS64LEZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c <= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LEZ (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c > 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPS64LTZ:
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c < 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LTZ (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c >= 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockMIPS64NE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64FPT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (FPFlagFalse cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64FPF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
if cmp.Op != OpMIPS64SGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
if cmp.Op != OpMIPS64SGTU {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPS64SGTconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPS64SGTUconst {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTUconst [1] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64EQ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTU x (MOVVconst [0])) yes no)
if v_1.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64NE
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGTconst [0] x) yes no)
break
}
x := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64LTZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (SGT x (MOVVconst [0])) yes no)
if v_1.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockMIPS64GTZ
b.SetControl(x)
- _ = yes
- _ = no
return true
}
// match: (NE (MOVVconst [0]) yes no)
if v.AuxInt != 0 {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (MOVVconst [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c != 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
}
}
c := v_0.AuxInt
x := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64EQ
v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
// match: (EQ (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0.AuxInt
x := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64EQ
v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagEQ) yes no)
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64EQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockPPC64GE:
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockPPC64GT:
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64EQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (NotEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (LessEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (GreaterEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (FLessThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FLT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (FLessEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FLE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (FGreaterThan cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If (FGreaterEqual cc) yes no)
break
}
cc := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
v0 := b.NewValue0(v.Pos, OpPPC64CMPWconst, TypeFlags)
v0.AuxInt = 0
v0.AddArg(cond)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
case BlockPPC64LE:
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockPPC64LT:
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
case BlockPPC64NE:
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64EQ
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (NotEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (LessThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (LessEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64LE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (GreaterThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (GreaterEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64GE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (FLessThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FLT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (FLessEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FLE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (FGreaterThan cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FGT
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (FGreaterEqual cc)) yes no)
break
}
cc := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64FGE
b.SetControl(cc)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0.AuxInt
x := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0.AuxInt
x := v_0.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != OpPPC64FlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT) yes no)
if v.Op != OpPPC64FlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT) yes no)
if v.Op != OpPPC64FlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockPPC64NE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
}
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (EQ (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (EQ (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockS390XGE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (GE (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GE (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockS390XGT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (GT (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (GT (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
case BlockIf:
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGTF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp) yes no)
break
}
cmp := v.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (If cond yes no)
v := b.Control
_ = v
cond := b.Control
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XNE
v0 := b.NewValue0(v.Pos, OpS390XCMPWconst, TypeFlags)
v0.AuxInt = 0
v1.AddArg(cond)
v0.AddArg(v1)
b.SetControl(v0)
- _ = yes
- _ = no
return true
}
case BlockS390XLE:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LE (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockS390XLT:
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (LT (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (LT (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
case BlockS390XNE:
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDLE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XLE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDGT (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGT
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDGE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDEQ (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XEQ
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDNE (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDGTnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGTF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (CMPWconst [0] (MOVDGEnoinv (MOVDconst [0]) (MOVDconst [1]) cmp)) yes no)
break
}
cmp := v_0.Args[2]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XGEF
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (InvertFlags cmp) yes no)
break
}
cmp := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockS390XNE
b.SetControl(cmp)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagEQ) yes no)
if v.Op != OpS390XFlagEQ {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (NE (FlagLT) yes no)
if v.Op != OpS390XFlagLT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (NE (FlagGT) yes no)
if v.Op != OpS390XFlagGT {
break
}
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
}
break
}
cond := v.Args[0]
- yes := b.Succs[0]
- no := b.Succs[1]
b.Kind = BlockIf
b.SetControl(cond)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
// match: (If (ConstBool [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c == 1) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
- _ = yes
- _ = no
return true
}
// match: (If (ConstBool [c]) yes no)
break
}
c := v.AuxInt
- yes := b.Succs[0]
- no := b.Succs[1]
if !(c == 0) {
break
}
b.Kind = BlockFirst
b.SetControl(nil)
b.swapSuccessors()
- _ = no
- _ = yes
return true
}
}