[llvm-commits] CVS: llvm/lib/Target/TargetSelectionDAG.td
Chris Lattner
lattner at cs.uiuc.edu
Sat Apr 15 16:39:26 PDT 2006
Changes in directory llvm/lib/Target:
TargetSelectionDAG.td updated: 1.63 -> 1.64
---
Log message:
Add a new vnot_conv predicate for matching vnot's where the allones vector is
bitconverted from some other type.
---
Diffs of the changes: (+6 -0)
TargetSelectionDAG.td | 6 ++++++
1 files changed, 6 insertions(+)
Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.63 llvm/lib/Target/TargetSelectionDAG.td:1.64
--- llvm/lib/Target/TargetSelectionDAG.td:1.63 Fri Mar 31 13:21:16 2006
+++ llvm/lib/Target/TargetSelectionDAG.td Sat Apr 15 18:39:14 2006
@@ -394,9 +394,15 @@
return ISD::isBuildVectorAllZeros(N);
}]>;
+def immAllOnesV_bc: PatLeaf<(bitconvert), [{
+ return ISD::isBuildVectorAllOnes(N);
+}]>;
+
+
// Other helper fragments.
def not : PatFrag<(ops node:$in), (xor node:$in, immAllOnes)>;
def vnot : PatFrag<(ops node:$in), (xor node:$in, immAllOnesV)>;
+def vnot_conv : PatFrag<(ops node:$in), (xor node:$in, immAllOnesV_bc)>;
def ineg : PatFrag<(ops node:$in), (sub 0, node:$in)>;
// extending load & truncstore fragments.
More information about the llvm-commits
mailing list