[llvm-commits] [llvm] r99750 - /llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
Chris Lattner
sabre at nondot.org
Sun Mar 28 00:48:18 PDT 2010
Author: lattner
Date: Sun Mar 28 02:48:17 2010
New Revision: 99750
URL: http://llvm.org/viewvc/llvm-project?rev=99750&view=rev
Log:
stop using vnot_conv
Modified:
llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
Modified: llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td?rev=99750&r1=99749&r2=99750&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td Sun Mar 28 02:48:17 2010
@@ -1268,7 +1268,12 @@
defm AND : BitwiseAnd;
-// N.B.: vnot_conv is one of those special target selection pattern fragments,
+
+def vnot_cell_conv : PatFrag<(ops node:$in),
+ (xor node:$in, (bitconvert (v4i32 immAllOnesV)))>;
+
+// N.B.: vnot_cell_conv is one of those special target selection pattern
+// fragments,
// in which we expect there to be a bit_convert on the constant. Bear in mind
// that llvm translates "not <reg>" to "xor <reg>, -1" (or in this case, a
// constant -1 vector.)
@@ -1301,7 +1306,7 @@
def r8: ANDCRegInst<R8C>;
// Sometimes, the xor pattern has a bitcast constant:
- def v16i8_conv: ANDCVecInst<v16i8, vnot_conv>;
+ def v16i8_conv: ANDCVecInst<v16i8, vnot_cell_conv>;
}
defm ANDC : AndComplement;
@@ -1934,7 +1939,7 @@
def v16i8: SELBVecInst<v16i8>;
def v8i16: SELBVecInst<v8i16>;
def v4i32: SELBVecInst<v4i32>;
- def v2i64: SELBVecInst<v2i64, vnot_conv>;
+ def v2i64: SELBVecInst<v2i64, vnot_cell_conv>;
def r128: SELBRegInst<GPRC>;
def r64: SELBRegInst<R64C>;
More information about the llvm-commits
mailing list