diff --git a/llvm/lib/Target/VE/VEInstrInfo.td b/llvm/lib/Target/VE/VEInstrInfo.td --- a/llvm/lib/Target/VE/VEInstrInfo.td +++ b/llvm/lib/Target/VE/VEInstrInfo.td @@ -2264,17 +2264,6 @@ def : Pat<(i32 (bitconvert f32:$op)), (l2i (SRALri (f2l $op), 32))>; def : Pat<(f32 (bitconvert i32:$op)), (l2f (SLLri (i2l $op), 32))>; -// Optimize code A generated by `(unsigned char)c << 5` to B. -// A) sla.w.sx %s0, %s0, 5 -// lea %s1, 224 ; 0xE0 -// and %s0, %s0, %s1 -// B) sla.w.sx %s0, %s0, 5 -// and %s0, %s0, (56)0 - -def : Pat<(i32 (and i32:$val, 0xff)), (l2i (ANDrm (i2l $val), !add(56, 64)))>; -def : Pat<(i32 (and i32:$val, 0xffff)), (l2i (ANDrm (i2l $val), !add(48, 64)))>; -def : Pat<(i64 (and i64:$val, 0xffffffff)), (ANDrm $val, !add(32, 64))>; - //===----------------------------------------------------------------------===// // Vector Instruction Pattern Stuff //===----------------------------------------------------------------------===//