(Equal (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (Equal (TSTconst [c] y))
(NotEqual (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (NotEqual (TSTconst [c] y))
-(LessThan (CMPWconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (LessThan (TSTconst [c] y))
-(LessEqual (CMPWconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (LessEqual (TSTconst [c] y))
-(GreaterThan (CMPWconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (GreaterThan (TSTconst [c] y))
-(GreaterEqual (CMPWconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (GreaterEqual (TSTconst [c] y))
+(LessThan (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (LessThan (TSTconst [c] y))
+(LessEqual (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (LessEqual (TSTconst [c] y))
+(GreaterThan (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (GreaterThan (TSTconst [c] y))
+(GreaterEqual (CMPconst [0] x:(ANDconst [c] y))) && x.Uses == 1 => (GreaterEqual (TSTconst [c] y))
(EQ (CMPconst [0] x:(ADDconst [c] y)) yes no) && x.Uses == 1 => (EQ (CMNconst [c] y) yes no)
(NE (CMPconst [0] x:(ADDconst [c] y)) yes no) && x.Uses == 1 => (NE (CMNconst [c] y) yes no)
v.AddArg(v0)
return true
}
- // match: (GreaterEqual (CMPWconst [0] x:(ANDconst [c] y)))
+ // match: (GreaterEqual (CMPconst [0] x:(ANDconst [c] y)))
// cond: x.Uses == 1
// result: (GreaterEqual (TSTconst [c] y))
for {
- if v_0.Op != OpARM64CMPWconst || auxIntToInt32(v_0.AuxInt) != 0 {
+ if v_0.Op != OpARM64CMPconst || auxIntToInt64(v_0.AuxInt) != 0 {
break
}
x := v_0.Args[0]
v.AddArg(v0)
return true
}
- // match: (GreaterThan (CMPWconst [0] x:(ANDconst [c] y)))
+ // match: (GreaterThan (CMPconst [0] x:(ANDconst [c] y)))
// cond: x.Uses == 1
// result: (GreaterThan (TSTconst [c] y))
for {
- if v_0.Op != OpARM64CMPWconst || auxIntToInt32(v_0.AuxInt) != 0 {
+ if v_0.Op != OpARM64CMPconst || auxIntToInt64(v_0.AuxInt) != 0 {
break
}
x := v_0.Args[0]
v.AddArg(v0)
return true
}
- // match: (LessEqual (CMPWconst [0] x:(ANDconst [c] y)))
+ // match: (LessEqual (CMPconst [0] x:(ANDconst [c] y)))
// cond: x.Uses == 1
// result: (LessEqual (TSTconst [c] y))
for {
- if v_0.Op != OpARM64CMPWconst || auxIntToInt32(v_0.AuxInt) != 0 {
+ if v_0.Op != OpARM64CMPconst || auxIntToInt64(v_0.AuxInt) != 0 {
break
}
x := v_0.Args[0]
v.AddArg(v0)
return true
}
- // match: (LessThan (CMPWconst [0] x:(ANDconst [c] y)))
+ // match: (LessThan (CMPconst [0] x:(ANDconst [c] y)))
// cond: x.Uses == 1
// result: (LessThan (TSTconst [c] y))
for {
- if v_0.Op != OpARM64CMPWconst || auxIntToInt32(v_0.AuxInt) != 0 {
+ if v_0.Op != OpARM64CMPconst || auxIntToInt64(v_0.AuxInt) != 0 {
break
}
x := v_0.Args[0]