[llvm-commits] CVS: llvm/lib/Target/TargetSelectionDAG.td
Chris Lattner
lattner at cs.uiuc.edu
Thu Oct 13 23:40:31 PDT 2005
Changes in directory llvm/lib/Target:
TargetSelectionDAG.td updated: 1.2 -> 1.3
---
Log message:
add the integer truncate/extension operations
---
Diffs of the changes: (+14 -3)
TargetSelectionDAG.td | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.2 llvm/lib/Target/TargetSelectionDAG.td:1.3
--- llvm/lib/Target/TargetSelectionDAG.td:1.2 Thu Oct 13 23:55:10 2005
+++ llvm/lib/Target/TargetSelectionDAG.td Fri Oct 14 01:40:20 2005
@@ -78,6 +78,12 @@
def SDTIntUnaryOp : SDTypeProfile<1, 1, [ // ctlz
SDTCisSameAs<0, 1>, SDTCisInt<0>
]>;
+def SDTIntExtendOp : SDTypeProfile<1, 1, [ // sext, zext, anyext
+ SDTCisInt<0>, SDTCisInt<1>, SDTCisOpSmallerThanOp<1, 0>
+]>;
+def SDTIntTruncOp : SDTypeProfile<1, 1, [ // trunc
+ SDTCisInt<0>, SDTCisInt<1>, SDTCisOpSmallerThanOp<0, 1>
+]>;
def SDTFPUnaryOp : SDTypeProfile<1, 1, [ // fneg, fsqrt, etc
SDTCisSameAs<0, 1>, SDTCisFP<0>
]>;
@@ -137,6 +143,14 @@
[SDNPCommutative, SDNPAssociative]>;
def xor : SDNode<"ISD::XOR" , SDTIntBinOp,
[SDNPCommutative, SDNPAssociative]>;
+
+def sext_inreg : SDNode<"ISD::SIGN_EXTEND_INREG", SDTExtInreg>;
+def ctlz : SDNode<"ISD::CTLZ" , SDTIntUnaryOp>;
+def sext : SDNode<"ISD::SIGN_EXTEND", SDTIntExtendOp>;
+def zext : SDNode<"ISD::ZERO_EXTEND", SDTIntExtendOp>;
+def anyext : SDNode<"ISD::ANY_EXTEND" , SDTIntExtendOp>;
+def trunc : SDNode<"ISD::TRUNCATE" , SDTIntTruncOp>;
+
def fadd : SDNode<"ISD::FADD" , SDTFPBinOp, [SDNPCommutative]>;
def fsub : SDNode<"ISD::FSUB" , SDTFPBinOp>;
def fmul : SDNode<"ISD::FMUL" , SDTFPBinOp, [SDNPCommutative]>;
@@ -149,9 +163,6 @@
def fround : SDNode<"ISD::FP_ROUND" , SDTFPRoundOp>;
def fextend : SDNode<"ISD::FP_EXTEND" , SDTFPExtendOp>;
-def sext_inreg : SDNode<"ISD::SIGN_EXTEND_INREG", SDTExtInreg>;
-def ctlz : SDNode<"ISD::CTLZ" , SDTIntUnaryOp>;
-
//===----------------------------------------------------------------------===//
// Selection DAG Node Transformation Functions.
//
More information about the llvm-commits
mailing list