From: Chris Lattner Date: Sun, 28 Mar 2010 07:48:17 +0000 (+0000) Subject: stop using vnot_conv X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=918472a77aed4cad4918cd5487123a670f4c85c6;p=oota-llvm.git stop using vnot_conv git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99750 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/CellSPU/SPUInstrInfo.td b/lib/Target/CellSPU/SPUInstrInfo.td index 5068f77a85b..ba181cc8e6f 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 " to "xor , -1" (or in this case, a // constant -1 vector.) @@ -1301,7 +1306,7 @@ multiclass AndComplement def r8: ANDCRegInst; // Sometimes, the xor pattern has a bitcast constant: - def v16i8_conv: ANDCVecInst; + def v16i8_conv: ANDCVecInst; } defm ANDC : AndComplement; @@ -1934,7 +1939,7 @@ multiclass SelectBits def v16i8: SELBVecInst; def v8i16: SELBVecInst; def v4i32: SELBVecInst; - def v2i64: SELBVecInst; + def v2i64: SELBVecInst; def r128: SELBRegInst; def r64: SELBRegInst;