aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-28 07:48:17 +0000
committerChris Lattner <sabre@nondot.org>2010-03-28 07:48:17 +0000
commit918472a77aed4cad4918cd5487123a670f4c85c6 (patch)
tree6a4de9e176a1462fe04b9f2f48dc2a83d08d97c6 /lib
parented52c8f5f44edd8e6c37f12dac3e2596bab447c5 (diff)
downloadexternal_llvm-918472a77aed4cad4918cd5487123a670f4c85c6.zip
external_llvm-918472a77aed4cad4918cd5487123a670f4c85c6.tar.gz
external_llvm-918472a77aed4cad4918cd5487123a670f4c85c6.tar.bz2
stop using vnot_conv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99750 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/CellSPU/SPUInstrInfo.td11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Target/CellSPU/SPUInstrInfo.td b/lib/Target/CellSPU/SPUInstrInfo.td
index 5068f77..ba181cc 100644
--- a/lib/Target/CellSPU/SPUInstrInfo.td
+++ b/lib/Target/CellSPU/SPUInstrInfo.td
@@ -1268,7 +1268,12 @@ multiclass BitwiseAnd
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 @@ multiclass AndComplement
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 @@ multiclass SelectBits
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>;