[llvm-commits] CVS: llvm/lib/Target/TargetSelectionDAG.td
Chris Lattner
lattner at cs.uiuc.edu
Sat Mar 25 15:00:21 PST 2006
Changes in directory llvm/lib/Target:
TargetSelectionDAG.td updated: 1.58 -> 1.59
---
Log message:
add a vnot helper node for matching 'not' on vectors
---
Diffs of the changes: (+6 -2)
TargetSelectionDAG.td | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.58 llvm/lib/Target/TargetSelectionDAG.td:1.59
--- llvm/lib/Target/TargetSelectionDAG.td:1.58 Fri Mar 24 20:29:35 2006
+++ llvm/lib/Target/TargetSelectionDAG.td Sat Mar 25 17:00:08 2006
@@ -379,13 +379,17 @@
// Leaf fragments.
-def immAllOnes : PatLeaf<(imm), [{ return N->isAllOnesValue(); }]>;
def vtInt : PatLeaf<(vt), [{ return MVT::isInteger(N->getVT()); }]>;
def vtFP : PatLeaf<(vt), [{ return MVT::isFloatingPoint(N->getVT()); }]>;
-// Other helper fragments.
+def immAllOnes : PatLeaf<(imm), [{ return N->isAllOnesValue(); }]>;
+def immAllOnesV: PatLeaf<(build_vector), [{
+ return ISD::isBuildVectorAllOnesInteger(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 ineg : PatFrag<(ops node:$in), (sub 0, node:$in)>;
// extending load & truncstore fragments.
More information about the llvm-commits
mailing list