}
}
+// Reset sets the block to the provided kind and clears all the blocks control
+// and auxilliary values. Other properties of the block, such as its successors,
+// predecessors and values are left unmodified.
+func (b *Block) Reset(kind BlockKind) {
+ b.Kind = kind
+ b.ResetControls()
+ b.Aux = nil
+}
+
// AddEdgeTo adds an edge from block b to block c. Used during building of the
// SSA graph; do not use on an already-completed SSA graph.
func (b *Block) AddEdgeTo(c *Block) {
}
blockName, _ := getBlockInfo(outop, arch)
- rr.add(stmtf("b.Kind = %s", blockName))
- rr.add(stmtf("b.ResetControls()"))
+ rr.add(stmtf("b.Reset(%s)", blockName))
for i, control := range t[:outdata.controls] {
// Select a source position for any new control values.
// TODO: does it always make sense to use the source position
}
if aux != "" {
rr.add(stmtf("b.Aux = %s", aux))
- } else {
- rr.add(stmtf("b.Aux = nil"))
}
succChanged := false
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386EQ
- b.ResetControls()
+ b.Reset(Block386EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386LE
- b.ResetControls()
+ b.Reset(Block386LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case Block386GT:
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386LT
- b.ResetControls()
+ b.Reset(Block386LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockIf:
for b.Controls[0].Op == Op386SETL {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386LT
- b.ResetControls()
+ b.Reset(Block386LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETLE cmp) yes no)
for b.Controls[0].Op == Op386SETLE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386LE
- b.ResetControls()
+ b.Reset(Block386LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETG cmp) yes no)
for b.Controls[0].Op == Op386SETG {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386GT
- b.ResetControls()
+ b.Reset(Block386GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGE cmp) yes no)
for b.Controls[0].Op == Op386SETGE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386GE
- b.ResetControls()
+ b.Reset(Block386GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETEQ cmp) yes no)
for b.Controls[0].Op == Op386SETEQ {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386EQ
- b.ResetControls()
+ b.Reset(Block386EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETNE cmp) yes no)
for b.Controls[0].Op == Op386SETNE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386NE
- b.ResetControls()
+ b.Reset(Block386NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETB cmp) yes no)
for b.Controls[0].Op == Op386SETB {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386ULT
- b.ResetControls()
+ b.Reset(Block386ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETBE cmp) yes no)
for b.Controls[0].Op == Op386SETBE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386ULE
- b.ResetControls()
+ b.Reset(Block386ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETA cmp) yes no)
for b.Controls[0].Op == Op386SETA {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETAE cmp) yes no)
for b.Controls[0].Op == Op386SETAE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETO cmp) yes no)
for b.Controls[0].Op == Op386SETO {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386OS
- b.ResetControls()
+ b.Reset(Block386OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGF cmp) yes no)
for b.Controls[0].Op == Op386SETGF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGEF cmp) yes no)
for b.Controls[0].Op == Op386SETGEF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETEQF cmp) yes no)
for b.Controls[0].Op == Op386SETEQF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386EQF
- b.ResetControls()
+ b.Reset(Block386EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETNEF cmp) yes no)
for b.Controls[0].Op == Op386SETNEF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386NEF
- b.ResetControls()
+ b.Reset(Block386NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If cond yes no)
// result: (NE (TESTB cond cond) yes no)
for {
cond := b.Controls[0]
- b.Kind = Block386NE
- b.ResetControls()
+ b.Reset(Block386NE)
v0 := b.NewValue0(cond.Pos, Op386TESTB, types.TypeFlags)
v0.AddArg(cond)
v0.AddArg(cond)
b.AddControl(v0)
- b.Aux = nil
return true
}
case Block386LE:
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386GE
- b.ResetControls()
+ b.Reset(Block386GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386GT
- b.ResetControls()
+ b.Reset(Block386GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if v_0_1.Op != Op386SETL || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386LT
- b.ResetControls()
+ b.Reset(Block386LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
if v_0_1.Op != Op386SETL || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386LT
- b.ResetControls()
+ b.Reset(Block386LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if v_0_1.Op != Op386SETLE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386LE
- b.ResetControls()
+ b.Reset(Block386LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if v_0_1.Op != Op386SETLE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386LE
- b.ResetControls()
+ b.Reset(Block386LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if v_0_1.Op != Op386SETG || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386GT
- b.ResetControls()
+ b.Reset(Block386GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if v_0_1.Op != Op386SETG || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386GT
- b.ResetControls()
+ b.Reset(Block386GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if v_0_1.Op != Op386SETGE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386GE
- b.ResetControls()
+ b.Reset(Block386GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if v_0_1.Op != Op386SETGE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386GE
- b.ResetControls()
+ b.Reset(Block386GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if v_0_1.Op != Op386SETEQ || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386EQ
- b.ResetControls()
+ b.Reset(Block386EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if v_0_1.Op != Op386SETEQ || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386EQ
- b.ResetControls()
+ b.Reset(Block386EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if v_0_1.Op != Op386SETNE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386NE
- b.ResetControls()
+ b.Reset(Block386NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if v_0_1.Op != Op386SETNE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386NE
- b.ResetControls()
+ b.Reset(Block386NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if v_0_1.Op != Op386SETB || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386ULT
- b.ResetControls()
+ b.Reset(Block386ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if v_0_1.Op != Op386SETB || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386ULT
- b.ResetControls()
+ b.Reset(Block386ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if v_0_1.Op != Op386SETBE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386ULE
- b.ResetControls()
+ b.Reset(Block386ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if v_0_1.Op != Op386SETBE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386ULE
- b.ResetControls()
+ b.Reset(Block386ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if v_0_1.Op != Op386SETA || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if v_0_1.Op != Op386SETA || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if v_0_1.Op != Op386SETAE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if v_0_1.Op != Op386SETAE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETO cmp) (SETO cmp)) yes no)
if v_0_1.Op != Op386SETO || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386OS
- b.ResetControls()
+ b.Reset(Block386OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETO cmp) (SETO cmp)) yes no)
if v_0_1.Op != Op386SETO || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386OS
- b.ResetControls()
+ b.Reset(Block386OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if v_0_1.Op != Op386SETGF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if v_0_1.Op != Op386SETGF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if v_0_1.Op != Op386SETGEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if v_0_1.Op != Op386SETGEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if v_0_1.Op != Op386SETEQF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386EQF
- b.ResetControls()
+ b.Reset(Block386EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if v_0_1.Op != Op386SETEQF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386EQF
- b.ResetControls()
+ b.Reset(Block386EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if v_0_1.Op != Op386SETNEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386NEF
- b.ResetControls()
+ b.Reset(Block386NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if v_0_1.Op != Op386SETNEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = Block386NEF
- b.ResetControls()
+ b.Reset(Block386NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (InvertFlags cmp) yes no)
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386NE
- b.ResetControls()
+ b.Reset(Block386NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (NE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case Block386UGE:
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386ULE
- b.ResetControls()
+ b.Reset(Block386ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (UGE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case Block386UGT:
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386ULT
- b.ResetControls()
+ b.Reset(Block386ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (UGT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case Block386ULE:
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGE
- b.ResetControls()
+ b.Reset(Block386UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (ULE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == Op386InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = Block386UGT
- b.ResetControls()
+ b.Reset(Block386UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (ULT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == Op386FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == Op386FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if v_0_0_0.Op != OpAMD64MOVLconst || v_0_0_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL y (SHLL (MOVLconst [1]) x)))
if v_0_1_0.Op != OpAMD64MOVLconst || v_0_1_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ (SHLQ (MOVQconst [1]) x) y))
if v_0_0_0.Op != OpAMD64MOVQconst || v_0_0_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ y (SHLQ (MOVQconst [1]) x)))
if v_0_1_0.Op != OpAMD64MOVQconst || v_0_1_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTLconst [c] x))
if !(isUint32PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = log2uint32(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQconst [c] x))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ (MOVQconst [c]) x))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ x (MOVQconst [c])))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z2 z1:(SHLQconst [63] (SHRQconst [63] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z1:(SHLLconst [31] (SHRQconst [31] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z2 z1:(SHLLconst [31] (SHRQconst [31] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z1:(SHRQconst [63] (SHLQconst [63] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z2 z1:(SHRQconst [63] (SHLQconst [63] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z1:(SHRLconst [31] (SHLLconst [31] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z2 z1:(SHRLconst [31] (SHLLconst [31] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z1:(SHRQconst [63] x) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTQ z2 z1:(SHRQconst [63] x)))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z1:(SHRLconst [31] x) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TESTL z2 z1:(SHRLconst [31] x)))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64EQ
- b.ResetControls()
+ b.Reset(BlockAMD64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64LE
- b.ResetControls()
+ b.Reset(BlockAMD64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockAMD64GT:
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64LT
- b.ResetControls()
+ b.Reset(BlockAMD64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockIf:
for b.Controls[0].Op == OpAMD64SETL {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64LT
- b.ResetControls()
+ b.Reset(BlockAMD64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETLE cmp) yes no)
for b.Controls[0].Op == OpAMD64SETLE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64LE
- b.ResetControls()
+ b.Reset(BlockAMD64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETG cmp) yes no)
for b.Controls[0].Op == OpAMD64SETG {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64GT
- b.ResetControls()
+ b.Reset(BlockAMD64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGE cmp) yes no)
for b.Controls[0].Op == OpAMD64SETGE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64GE
- b.ResetControls()
+ b.Reset(BlockAMD64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETEQ cmp) yes no)
for b.Controls[0].Op == OpAMD64SETEQ {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64EQ
- b.ResetControls()
+ b.Reset(BlockAMD64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETNE cmp) yes no)
for b.Controls[0].Op == OpAMD64SETNE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64NE
- b.ResetControls()
+ b.Reset(BlockAMD64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETB cmp) yes no)
for b.Controls[0].Op == OpAMD64SETB {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETBE cmp) yes no)
for b.Controls[0].Op == OpAMD64SETBE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64ULE
- b.ResetControls()
+ b.Reset(BlockAMD64ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETA cmp) yes no)
for b.Controls[0].Op == OpAMD64SETA {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETAE cmp) yes no)
for b.Controls[0].Op == OpAMD64SETAE {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETO cmp) yes no)
for b.Controls[0].Op == OpAMD64SETO {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64OS
- b.ResetControls()
+ b.Reset(BlockAMD64OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGF cmp) yes no)
for b.Controls[0].Op == OpAMD64SETGF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETGEF cmp) yes no)
for b.Controls[0].Op == OpAMD64SETGEF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETEQF cmp) yes no)
for b.Controls[0].Op == OpAMD64SETEQF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64EQF
- b.ResetControls()
+ b.Reset(BlockAMD64EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If (SETNEF cmp) yes no)
for b.Controls[0].Op == OpAMD64SETNEF {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64NEF
- b.ResetControls()
+ b.Reset(BlockAMD64NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (If cond yes no)
// result: (NE (TESTB cond cond) yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockAMD64NE
- b.ResetControls()
+ b.Reset(BlockAMD64NE)
v0 := b.NewValue0(cond.Pos, OpAMD64TESTB, types.TypeFlags)
v0.AddArg(cond)
v0.AddArg(cond)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockAMD64LE:
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64GE
- b.ResetControls()
+ b.Reset(BlockAMD64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64GT
- b.ResetControls()
+ b.Reset(BlockAMD64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if v_0_1.Op != OpAMD64SETL || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64LT
- b.ResetControls()
+ b.Reset(BlockAMD64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETL cmp) (SETL cmp)) yes no)
if v_0_1.Op != OpAMD64SETL || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64LT
- b.ResetControls()
+ b.Reset(BlockAMD64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if v_0_1.Op != OpAMD64SETLE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64LE
- b.ResetControls()
+ b.Reset(BlockAMD64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETLE cmp) (SETLE cmp)) yes no)
if v_0_1.Op != OpAMD64SETLE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64LE
- b.ResetControls()
+ b.Reset(BlockAMD64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if v_0_1.Op != OpAMD64SETG || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64GT
- b.ResetControls()
+ b.Reset(BlockAMD64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETG cmp) (SETG cmp)) yes no)
if v_0_1.Op != OpAMD64SETG || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64GT
- b.ResetControls()
+ b.Reset(BlockAMD64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if v_0_1.Op != OpAMD64SETGE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64GE
- b.ResetControls()
+ b.Reset(BlockAMD64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGE cmp) (SETGE cmp)) yes no)
if v_0_1.Op != OpAMD64SETGE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64GE
- b.ResetControls()
+ b.Reset(BlockAMD64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if v_0_1.Op != OpAMD64SETEQ || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64EQ
- b.ResetControls()
+ b.Reset(BlockAMD64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQ cmp) (SETEQ cmp)) yes no)
if v_0_1.Op != OpAMD64SETEQ || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64EQ
- b.ResetControls()
+ b.Reset(BlockAMD64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if v_0_1.Op != OpAMD64SETNE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64NE
- b.ResetControls()
+ b.Reset(BlockAMD64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNE cmp) (SETNE cmp)) yes no)
if v_0_1.Op != OpAMD64SETNE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64NE
- b.ResetControls()
+ b.Reset(BlockAMD64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if v_0_1.Op != OpAMD64SETB || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETB cmp) (SETB cmp)) yes no)
if v_0_1.Op != OpAMD64SETB || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if v_0_1.Op != OpAMD64SETBE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64ULE
- b.ResetControls()
+ b.Reset(BlockAMD64ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETBE cmp) (SETBE cmp)) yes no)
if v_0_1.Op != OpAMD64SETBE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64ULE
- b.ResetControls()
+ b.Reset(BlockAMD64ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if v_0_1.Op != OpAMD64SETA || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETA cmp) (SETA cmp)) yes no)
if v_0_1.Op != OpAMD64SETA || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if v_0_1.Op != OpAMD64SETAE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETAE cmp) (SETAE cmp)) yes no)
if v_0_1.Op != OpAMD64SETAE || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETO cmp) (SETO cmp)) yes no)
if v_0_1.Op != OpAMD64SETO || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64OS
- b.ResetControls()
+ b.Reset(BlockAMD64OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETO cmp) (SETO cmp)) yes no)
if v_0_1.Op != OpAMD64SETO || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64OS
- b.ResetControls()
+ b.Reset(BlockAMD64OS)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTL (SHLL (MOVLconst [1]) x) y))
if v_0_0_0.Op != OpAMD64MOVLconst || v_0_0_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL y (SHLL (MOVLconst [1]) x)))
if v_0_1_0.Op != OpAMD64MOVLconst || v_0_1_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ (SHLQ (MOVQconst [1]) x) y))
if v_0_0_0.Op != OpAMD64MOVQconst || v_0_0_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ y (SHLQ (MOVQconst [1]) x)))
if v_0_1_0.Op != OpAMD64MOVQconst || v_0_1_0.AuxInt != 1 || !(!config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTLconst [c] x))
if !(isUint32PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = log2uint32(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQconst [c] x))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ (MOVQconst [c]) x))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ x (MOVQconst [c])))
if !(isUint64PowerOfTwo(c) && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z2 z1:(SHLQconst [63] (SHRQconst [63] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z1:(SHLLconst [31] (SHRQconst [31] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z2 z1:(SHLLconst [31] (SHRQconst [31] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z1:(SHRQconst [63] (SHLQconst [63] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z2 z1:(SHRQconst [63] (SHLQconst [63] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z1:(SHRLconst [31] (SHLLconst [31] x)) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z2 z1:(SHRLconst [31] (SHLLconst [31] x))))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z1:(SHRQconst [63] x) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTQ z2 z1:(SHRQconst [63] x)))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z1:(SHRLconst [31] x) z2))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTL z2 z1:(SHRLconst [31] x)))
if !(z1 == z2 && !config.nacl) {
break
}
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if v_0_1.Op != OpAMD64SETGF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGF cmp) (SETGF cmp)) yes no)
if v_0_1.Op != OpAMD64SETGF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if v_0_1.Op != OpAMD64SETGEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETGEF cmp) (SETGEF cmp)) yes no)
if v_0_1.Op != OpAMD64SETGEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if v_0_1.Op != OpAMD64SETEQF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64EQF
- b.ResetControls()
+ b.Reset(BlockAMD64EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETEQF cmp) (SETEQF cmp)) yes no)
if v_0_1.Op != OpAMD64SETEQF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64EQF
- b.ResetControls()
+ b.Reset(BlockAMD64EQF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if v_0_1.Op != OpAMD64SETNEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64NEF
- b.ResetControls()
+ b.Reset(BlockAMD64NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (TESTB (SETNEF cmp) (SETNEF cmp)) yes no)
if v_0_1.Op != OpAMD64SETNEF || cmp != v_0_1.Args[0] {
break
}
- b.Kind = BlockAMD64NEF
- b.ResetControls()
+ b.Reset(BlockAMD64NEF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64NE
- b.ResetControls()
+ b.Reset(BlockAMD64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (NE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockAMD64UGE:
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64ULE
- b.ResetControls()
+ b.Reset(BlockAMD64ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (UGE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockAMD64UGT:
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64ULT
- b.ResetControls()
+ b.Reset(BlockAMD64ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (UGT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockAMD64ULE:
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGE
- b.ResetControls()
+ b.Reset(BlockAMD64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (ULE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpAMD64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockAMD64UGT
- b.ResetControls()
+ b.Reset(BlockAMD64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (ULT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpAMD64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpAMD64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMGE:
// match: (GE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMGT:
// match: (GT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockIf:
for b.Controls[0].Op == OpARMEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (NotEqual cc) yes no)
for b.Controls[0].Op == OpARMNotEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThan cc) yes no)
for b.Controls[0].Op == OpARMLessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThanU cc) yes no)
for b.Controls[0].Op == OpARMLessThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMULT
- b.ResetControls()
+ b.Reset(BlockARMULT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqual cc) yes no)
for b.Controls[0].Op == OpARMLessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqualU cc) yes no)
for b.Controls[0].Op == OpARMLessEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMULE
- b.ResetControls()
+ b.Reset(BlockARMULE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThan cc) yes no)
for b.Controls[0].Op == OpARMGreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThanU cc) yes no)
for b.Controls[0].Op == OpARMGreaterThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMUGT
- b.ResetControls()
+ b.Reset(BlockARMUGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqual cc) yes no)
for b.Controls[0].Op == OpARMGreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqualU cc) yes no)
for b.Controls[0].Op == OpARMGreaterEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARMUGE
- b.ResetControls()
+ b.Reset(BlockARMUGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If cond yes no)
// result: (NE (CMPconst [0] cond) yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(cond.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(cond)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMLE:
// match: (LE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMLT:
// match: (LT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMNE:
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMEQ
- b.ResetControls()
+ b.Reset(BlockARMEQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (NotEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (LessThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMLT
- b.ResetControls()
+ b.Reset(BlockARMLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (LessThanU cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMULT
- b.ResetControls()
+ b.Reset(BlockARMULT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (LessEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMLE
- b.ResetControls()
+ b.Reset(BlockARMLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (LessEqualU cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMULE
- b.ResetControls()
+ b.Reset(BlockARMULE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (GreaterThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMGT
- b.ResetControls()
+ b.Reset(BlockARMGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (GreaterThanU cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMUGT
- b.ResetControls()
+ b.Reset(BlockARMUGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (GreaterEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMGE
- b.ResetControls()
+ b.Reset(BlockARMGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (GreaterEqualU cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockARMUGE
- b.ResetControls()
+ b.Reset(BlockARMUGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (NE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUB x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(MULS x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(SUBshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADD x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(MULA x y a)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ADDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(AND x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(ANDshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XOR x y)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORconst [c] x)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftLL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRL x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRA x y [c])) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftLLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRLreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] l:(XORshiftRAreg x y z)) yes no)
if !(l.Uses == 1) {
break
}
- b.Kind = BlockARMNE
- b.ResetControls()
+ b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
v0.AddArg(z)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockARMUGE:
// match: (UGE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMULE
- b.ResetControls()
+ b.Reset(BlockARMULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARMUGT:
// match: (UGT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMULT
- b.ResetControls()
+ b.Reset(BlockARMULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARMULE:
// match: (ULE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMUGE
- b.ResetControls()
+ b.Reset(BlockARMUGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARMULT:
// match: (ULT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARMFlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARMFlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARMInvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARMUGT
- b.ResetControls()
+ b.Reset(BlockARMUGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
}
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64Z
- b.ResetControls()
+ b.Reset(BlockARM64Z)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64ZW
- b.ResetControls()
+ b.Reset(BlockARM64ZW)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (TSTconst [c] x) yes no)
if !(oneBit(c)) {
break
}
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = ntz(c)
return true
if !(oneBit(int64(uint32(c)))) {
break
}
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
// match: (EQ (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64FGE:
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64FLE
- b.ResetControls()
+ b.Reset(BlockARM64FLE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64FGT:
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64FLT
- b.ResetControls()
+ b.Reset(BlockARM64FLT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64FLE:
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64FGE
- b.ResetControls()
+ b.Reset(BlockARM64FGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64FLT:
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64FGT
- b.ResetControls()
+ b.Reset(BlockARM64FGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64GE:
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = int64(31)
return true
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = int64(63)
return true
// match: (GE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64GT:
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockIf:
for b.Controls[0].Op == OpARM64Equal {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (NotEqual cc) yes no)
for b.Controls[0].Op == OpARM64NotEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThan cc) yes no)
for b.Controls[0].Op == OpARM64LessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThanU cc) yes no)
for b.Controls[0].Op == OpARM64LessThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64ULT
- b.ResetControls()
+ b.Reset(BlockARM64ULT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqual cc) yes no)
for b.Controls[0].Op == OpARM64LessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqualU cc) yes no)
for b.Controls[0].Op == OpARM64LessEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64ULE
- b.ResetControls()
+ b.Reset(BlockARM64ULE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThan cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThanU cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64UGT
- b.ResetControls()
+ b.Reset(BlockARM64UGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqual cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqualU cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64UGE
- b.ResetControls()
+ b.Reset(BlockARM64UGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThanF cc) yes no)
for b.Controls[0].Op == OpARM64LessThanF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FLT
- b.ResetControls()
+ b.Reset(BlockARM64FLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqualF cc) yes no)
for b.Controls[0].Op == OpARM64LessEqualF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FLE
- b.ResetControls()
+ b.Reset(BlockARM64FLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThanF cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThanF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FGT
- b.ResetControls()
+ b.Reset(BlockARM64FGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqualF cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqualF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FGE
- b.ResetControls()
+ b.Reset(BlockARM64FGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If cond yes no)
// result: (NZ cond yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockARM64NZ
- b.ResetControls()
+ b.Reset(BlockARM64NZ)
b.AddControl(cond)
- b.Aux = nil
return true
}
case BlockARM64LE:
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64LT:
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = int64(31)
return true
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = int64(63)
return true
// match: (LT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64NE:
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] x:(ANDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] x:(ADDconst [c] y)) yes no)
if !(x.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNWconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] z:(ADD x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMP x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPW x z:(NEG y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64NZ
- b.ResetControls()
+ b.Reset(BlockARM64NZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockARM64NZW
- b.ResetControls()
+ b.Reset(BlockARM64NZW)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(MADD a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(MSUB a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] z:(MADDW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] z:(MSUBW a x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
v1.AddArg(y)
v0.AddArg(v1)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (TSTconst [c] x) yes no)
if !(oneBit(c)) {
break
}
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = ntz(c)
return true
if !(oneBit(int64(uint32(c)))) {
break
}
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
// match: (NE (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (NE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64NZ:
for b.Controls[0].Op == OpARM64Equal {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64EQ
- b.ResetControls()
+ b.Reset(BlockARM64EQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (NotEqual cc) yes no)
for b.Controls[0].Op == OpARM64NotEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64NE
- b.ResetControls()
+ b.Reset(BlockARM64NE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessThan cc) yes no)
for b.Controls[0].Op == OpARM64LessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64LT
- b.ResetControls()
+ b.Reset(BlockARM64LT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessThanU cc) yes no)
for b.Controls[0].Op == OpARM64LessThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64ULT
- b.ResetControls()
+ b.Reset(BlockARM64ULT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessEqual cc) yes no)
for b.Controls[0].Op == OpARM64LessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64LE
- b.ResetControls()
+ b.Reset(BlockARM64LE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessEqualU cc) yes no)
for b.Controls[0].Op == OpARM64LessEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64ULE
- b.ResetControls()
+ b.Reset(BlockARM64ULE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterThan cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64GT
- b.ResetControls()
+ b.Reset(BlockARM64GT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterThanU cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThanU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64UGT
- b.ResetControls()
+ b.Reset(BlockARM64UGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterEqual cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64GE
- b.ResetControls()
+ b.Reset(BlockARM64GE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterEqualU cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqualU {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64UGE
- b.ResetControls()
+ b.Reset(BlockARM64UGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessThanF cc) yes no)
for b.Controls[0].Op == OpARM64LessThanF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FLT
- b.ResetControls()
+ b.Reset(BlockARM64FLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (LessEqualF cc) yes no)
for b.Controls[0].Op == OpARM64LessEqualF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FLE
- b.ResetControls()
+ b.Reset(BlockARM64FLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterThanF cc) yes no)
for b.Controls[0].Op == OpARM64GreaterThanF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FGT
- b.ResetControls()
+ b.Reset(BlockARM64FGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (GreaterEqualF cc) yes no)
for b.Controls[0].Op == OpARM64GreaterEqualF {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockARM64FGE
- b.ResetControls()
+ b.Reset(BlockARM64FGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NZ (ANDconst [c] x) yes no)
if !(oneBit(c)) {
break
}
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = ntz(c)
return true
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockARM64NZW:
if !(oneBit(int64(uint32(c)))) {
break
}
- b.Kind = BlockARM64TBNZ
- b.ResetControls()
+ b.Reset(BlockARM64TBNZ)
b.AddControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
if !(int32(c) == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(int32(c) != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
case BlockARM64UGE:
// match: (UGE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGE (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64ULE
- b.ResetControls()
+ b.Reset(BlockARM64ULE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64UGT:
// match: (UGT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagLT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (FlagGT_ULT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (UGT (FlagGT_UGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (UGT (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64ULT
- b.ResetControls()
+ b.Reset(BlockARM64ULT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64ULE:
// match: (ULE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULE (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULE (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64UGE
- b.ResetControls()
+ b.Reset(BlockARM64UGE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64ULT:
// match: (ULT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagLT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagLT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagLT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagLT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (ULT (FlagGT_ULT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpARM64FlagGT_ULT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ULT (FlagGT_UGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpARM64FlagGT_UGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpARM64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockARM64UGT
- b.ResetControls()
+ b.Reset(BlockARM64UGT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
case BlockARM64Z:
if !(oneBit(c)) {
break
}
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = ntz(c)
return true
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (Z (MOVDconst [c]) yes no)
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(oneBit(int64(uint32(c)))) {
break
}
- b.Kind = BlockARM64TBZ
- b.ResetControls()
+ b.Reset(BlockARM64TBZ)
b.AddControl(x)
b.Aux = ntz(int64(uint32(c)))
return true
if !(int32(c) == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (ZW (MOVDconst [c]) yes no)
if !(int32(c) != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpMIPSFPFlagTrue {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPSFPF
- b.ResetControls()
+ b.Reset(BlockMIPSFPF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (FPFlagFalse cmp) yes no)
for b.Controls[0].Op == OpMIPSFPFlagFalse {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPSFPT
- b.ResetControls()
+ b.Reset(BlockMIPSFPT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPSSGTconst {
break
}
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPSSGTUconst {
break
}
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTzero _)) yes no)
if cmp.Op != OpMIPSSGTzero {
break
}
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUzero _)) yes no)
if cmp.Op != OpMIPSSGTUzero {
break
}
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (SGTUconst [1] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGTUzero x) yes no)
for b.Controls[0].Op == OpMIPSSGTUzero {
v_0 := b.Controls[0]
x := v_0.Args[0]
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGTconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPSGEZ
- b.ResetControls()
+ b.Reset(BlockMIPSGEZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGTzero x) yes no)
for b.Controls[0].Op == OpMIPSSGTzero {
v_0 := b.Controls[0]
x := v_0.Args[0]
- b.Kind = BlockMIPSLEZ
- b.ResetControls()
+ b.Reset(BlockMIPSLEZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (MOVWconst [0]) yes no)
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (MOVWconst [c]) yes no)
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(int32(c) >= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GEZ (MOVWconst [c]) yes no)
if !(int32(c) < 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(int32(c) > 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GTZ (MOVWconst [c]) yes no)
if !(int32(c) <= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// result: (NE cond yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(cond)
- b.Aux = nil
return true
}
case BlockMIPSLEZ:
if !(int32(c) <= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LEZ (MOVWconst [c]) yes no)
if !(int32(c) > 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(int32(c) < 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LTZ (MOVWconst [c]) yes no)
if !(int32(c) >= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpMIPSFPFlagTrue {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPSFPT
- b.ResetControls()
+ b.Reset(BlockMIPSFPT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (FPFlagFalse cmp) yes no)
for b.Controls[0].Op == OpMIPSFPFlagFalse {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPSFPF
- b.ResetControls()
+ b.Reset(BlockMIPSFPF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPSSGTconst {
break
}
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPSSGTUconst {
break
}
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTzero _)) yes no)
if cmp.Op != OpMIPSSGTzero {
break
}
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTUzero _)) yes no)
if cmp.Op != OpMIPSSGTUzero {
break
}
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (SGTUconst [1] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPSEQ
- b.ResetControls()
+ b.Reset(BlockMIPSEQ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGTUzero x) yes no)
for b.Controls[0].Op == OpMIPSSGTUzero {
v_0 := b.Controls[0]
x := v_0.Args[0]
- b.Kind = BlockMIPSNE
- b.ResetControls()
+ b.Reset(BlockMIPSNE)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGTconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPSLTZ
- b.ResetControls()
+ b.Reset(BlockMIPSLTZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGTzero x) yes no)
for b.Controls[0].Op == OpMIPSSGTzero {
v_0 := b.Controls[0]
x := v_0.Args[0]
- b.Kind = BlockMIPSGTZ
- b.ResetControls()
+ b.Reset(BlockMIPSGTZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (MOVWconst [0]) yes no)
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
}
for b.Controls[0].Op == OpMIPS64FPFlagTrue {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPS64FPF
- b.ResetControls()
+ b.Reset(BlockMIPS64FPF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (FPFlagFalse cmp) yes no)
for b.Controls[0].Op == OpMIPS64FPFlagFalse {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPS64FPT
- b.ResetControls()
+ b.Reset(BlockMIPS64FPT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGT _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTU _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPS64SGTconst {
break
}
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPS64SGTUconst {
break
}
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (SGTUconst [1] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGTU x (MOVVconst [0])) yes no)
if v_0_1.Op != OpMIPS64MOVVconst || v_0_1.AuxInt != 0 {
break
}
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGTconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPS64GEZ
- b.ResetControls()
+ b.Reset(BlockMIPS64GEZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (SGT x (MOVVconst [0])) yes no)
if v_0_1.Op != OpMIPS64MOVVconst || v_0_1.AuxInt != 0 {
break
}
- b.Kind = BlockMIPS64LEZ
- b.ResetControls()
+ b.Reset(BlockMIPS64LEZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (EQ (MOVVconst [0]) yes no)
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (MOVVconst [c]) yes no)
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c >= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GEZ (MOVVconst [c]) yes no)
if !(c < 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c > 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GTZ (MOVVconst [c]) yes no)
if !(c <= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// result: (NE cond yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(cond)
- b.Aux = nil
return true
}
case BlockMIPS64LEZ:
if !(c <= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LEZ (MOVVconst [c]) yes no)
if !(c > 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c < 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LTZ (MOVVconst [c]) yes no)
if !(c >= 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpMIPS64FPFlagTrue {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPS64FPT
- b.ResetControls()
+ b.Reset(BlockMIPS64FPT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (FPFlagFalse cmp) yes no)
for b.Controls[0].Op == OpMIPS64FPFlagFalse {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockMIPS64FPF
- b.ResetControls()
+ b.Reset(BlockMIPS64FPF)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGT _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTU _ _)) yes no)
break
}
_ = cmp.Args[1]
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTconst _)) yes no)
if cmp.Op != OpMIPS64SGTconst {
break
}
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (XORconst [1] cmp:(SGTUconst _)) yes no)
if cmp.Op != OpMIPS64SGTUconst {
break
}
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (SGTUconst [1] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPS64EQ
- b.ResetControls()
+ b.Reset(BlockMIPS64EQ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGTU x (MOVVconst [0])) yes no)
if v_0_1.Op != OpMIPS64MOVVconst || v_0_1.AuxInt != 0 {
break
}
- b.Kind = BlockMIPS64NE
- b.ResetControls()
+ b.Reset(BlockMIPS64NE)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGTconst [0] x) yes no)
break
}
x := v_0.Args[0]
- b.Kind = BlockMIPS64LTZ
- b.ResetControls()
+ b.Reset(BlockMIPS64LTZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (SGT x (MOVVconst [0])) yes no)
if v_0_1.Op != OpMIPS64MOVVconst || v_0_1.AuxInt != 0 {
break
}
- b.Kind = BlockMIPS64GTZ
- b.ResetControls()
+ b.Reset(BlockMIPS64GTZ)
b.AddControl(x)
- b.Aux = nil
return true
}
// match: (NE (MOVVconst [0]) yes no)
if v_0.AuxInt != 0 {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
}
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (EQ (FlagLT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (EQ (FlagGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (EQ (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockPPC64GE:
// match: (GE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (FlagLT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GE (FlagGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GE (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockPPC64GT:
// match: (GT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagLT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (GT (FlagGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (GT (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (GT (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockIf:
for b.Controls[0].Op == OpPPC64Equal {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (NotEqual cc) yes no)
for b.Controls[0].Op == OpPPC64NotEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessThan cc) yes no)
for b.Controls[0].Op == OpPPC64LessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (LessEqual cc) yes no)
for b.Controls[0].Op == OpPPC64LessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterThan cc) yes no)
for b.Controls[0].Op == OpPPC64GreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (GreaterEqual cc) yes no)
for b.Controls[0].Op == OpPPC64GreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (FLessThan cc) yes no)
for b.Controls[0].Op == OpPPC64FLessThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64FLT
- b.ResetControls()
+ b.Reset(BlockPPC64FLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (FLessEqual cc) yes no)
for b.Controls[0].Op == OpPPC64FLessEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64FLE
- b.ResetControls()
+ b.Reset(BlockPPC64FLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (FGreaterThan cc) yes no)
for b.Controls[0].Op == OpPPC64FGreaterThan {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64FGT
- b.ResetControls()
+ b.Reset(BlockPPC64FGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If (FGreaterEqual cc) yes no)
for b.Controls[0].Op == OpPPC64FGreaterEqual {
v_0 := b.Controls[0]
cc := v_0.Args[0]
- b.Kind = BlockPPC64FGE
- b.ResetControls()
+ b.Reset(BlockPPC64FGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (If cond yes no)
// result: (NE (CMPWconst [0] cond) yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(cond.Pos, OpPPC64CMPWconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(cond)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockPPC64LE:
// match: (LE (FlagEQ) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagLT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LE (FlagGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LE (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockPPC64LT:
// match: (LT (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (LT (FlagLT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (LT (FlagGT) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (LT (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
case BlockPPC64NE:
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64EQ
- b.ResetControls()
+ b.Reset(BlockPPC64EQ)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (NotEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (LessThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64LT
- b.ResetControls()
+ b.Reset(BlockPPC64LT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (LessEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64LE
- b.ResetControls()
+ b.Reset(BlockPPC64LE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (GreaterThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64GT
- b.ResetControls()
+ b.Reset(BlockPPC64GT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (GreaterEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64GE
- b.ResetControls()
+ b.Reset(BlockPPC64GE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (FLessThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64FLT
- b.ResetControls()
+ b.Reset(BlockPPC64FLT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (FLessEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64FLE
- b.ResetControls()
+ b.Reset(BlockPPC64FLE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (FGreaterThan cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64FGT
- b.ResetControls()
+ b.Reset(BlockPPC64FGT)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (FGreaterEqual cc)) yes no)
break
}
cc := v_0_0.Args[0]
- b.Kind = BlockPPC64FGE
- b.ResetControls()
+ b.Reset(BlockPPC64FGE)
b.AddControl(cc)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (FlagEQ) yes no)
// result: (First no yes)
for b.Controls[0].Op == OpPPC64FlagEQ {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// match: (NE (FlagLT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagLT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (FlagGT) yes no)
// result: (First yes no)
for b.Controls[0].Op == OpPPC64FlagGT {
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (NE (InvertFlags cmp) yes no)
for b.Controls[0].Op == OpPPC64InvertFlags {
v_0 := b.Controls[0]
cmp := v_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
b.AddControl(cmp)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPWconst [0] (ANDconst [c] x)) yes no)
}
c := v_0_0.AuxInt
x := v_0_0.Args[0]
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCCconst, types.TypeFlags)
v0.AuxInt = c
v0.AddArg(x)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(AND x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(OR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
// match: (NE (CMPconst [0] z:(XOR x y)) yes no)
if !(z.Uses == 1) {
break
}
- b.Kind = BlockPPC64NE
- b.ResetControls()
+ b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
b.AddControl(v0)
- b.Aux = nil
return true
}
}
if !(x != 0 && c.(s390x.CCMask) == s390x.Equal) {
break
}
- b.Kind = BlockS390XBRC
- b.ResetControls()
+ b.Reset(BlockS390XBRC)
b.AddControl(cmp)
b.Aux = d
b.swapSuccessors()
if !(x != 0 && c.(s390x.CCMask) == s390x.NotEqual) {
break
}
- b.Kind = BlockS390XBRC
- b.ResetControls()
+ b.Reset(BlockS390XBRC)
b.AddControl(cmp)
b.Aux = d
return true
v_0 := b.Controls[0]
cmp := v_0.Args[0]
c := b.Aux
- b.Kind = BlockS390XBRC
- b.ResetControls()
+ b.Reset(BlockS390XBRC)
b.AddControl(cmp)
b.Aux = c.(s390x.CCMask).ReverseComparison()
return true
if !(c.(s390x.CCMask)&s390x.Equal != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (BRC {c} (FlagLT) yes no)
if !(c.(s390x.CCMask)&s390x.Less != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (BRC {c} (FlagGT) yes no)
if !(c.(s390x.CCMask)&s390x.Greater != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (BRC {c} (FlagOV) yes no)
if !(c.(s390x.CCMask)&s390x.Unordered != 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (BRC {c} (FlagEQ) yes no)
if !(c.(s390x.CCMask)&s390x.Equal == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c.(s390x.CCMask)&s390x.Less == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c.(s390x.CCMask)&s390x.Greater == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
if !(c.(s390x.CCMask)&s390x.Unordered == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}
// result: (BRC {s390x.NotEqual} (CMPWconst [0] (MOVBZreg <typ.Bool> cond)) yes no)
for {
cond := b.Controls[0]
- b.Kind = BlockS390XBRC
- b.ResetControls()
+ b.Reset(BlockS390XBRC)
v0 := b.NewValue0(cond.Pos, OpS390XCMPWconst, types.TypeFlags)
v0.AuxInt = 0
v1 := b.NewValue0(cond.Pos, OpS390XMOVBZreg, typ.Bool)
for b.Controls[0].Op == OpNot {
v_0 := b.Controls[0]
cond := v_0.Args[0]
- b.Kind = BlockIf
- b.ResetControls()
+ b.Reset(BlockIf)
b.AddControl(cond)
- b.Aux = nil
b.swapSuccessors()
return true
}
if !(c == 1) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
return true
}
// match: (If (ConstBool [c]) yes no)
if !(c == 0) {
break
}
- b.Kind = BlockFirst
- b.ResetControls()
- b.Aux = nil
+ b.Reset(BlockFirst)
b.swapSuccessors()
return true
}