[VE] Remove obsolete ANDrm patterns
authorKazushi (Jam) Marukawa <marukawa@nec.com>
Sun, 18 Sep 2022 06:26:57 +0000 (15:26 +0900)
committerKazushi (Jam) Marukawa <marukawa@nec.com>
Wed, 21 Sep 2022 10:23:34 +0000 (19:23 +0900)
Remove obsolete ANDrm patterns for MIMM operands.  We add these
translations to optimize commonly used cast operations before
we support MIMM operands directly by each isntruction.  Such
translations are obsolete now.

Reviewed By: efocht

Differential Revision: https://reviews.llvm.org/D134341

llvm/lib/Target/VE/VEInstrInfo.td

index 2722395..528bebd 100644 (file)
@@ -2264,17 +2264,6 @@ def : Pat<(i64 (bitconvert f64:$src)), (COPY_TO_REGCLASS $src, I64)>;
 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
 //===----------------------------------------------------------------------===//