summaryrefslogtreecommitdiff
path: root/include/llvm/Target/TargetSelectionDAG.td
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2009-04-24 12:40:33 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2009-04-24 12:40:33 +0000
commit15684b29552393553524171bff1913e750f390f8 (patch)
tree2d43d8f19d7fc59d2c61b282b789a704c96b16b0 /include/llvm/Target/TargetSelectionDAG.td
parentf6b9f260ede8c65b0de53dc9dd3ba42c1a286c13 (diff)
downloadllvm-15684b29552393553524171bff1913e750f390f8.tar.gz
llvm-15684b29552393553524171bff1913e750f390f8.tar.bz2
llvm-15684b29552393553524171bff1913e750f390f8.tar.xz
Revert 69952. Causes testsuite failures on linux x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69967 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetSelectionDAG.td')
-rw-r--r--include/llvm/Target/TargetSelectionDAG.td13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetSelectionDAG.td b/include/llvm/Target/TargetSelectionDAG.td
index 2cd29676db..7f39bb2f83 100644
--- a/include/llvm/Target/TargetSelectionDAG.td
+++ b/include/llvm/Target/TargetSelectionDAG.td
@@ -51,6 +51,15 @@ class SDTCisOpSmallerThanOp<int SmallOp, int BigOp> : SDTypeConstraint<SmallOp>{
int BigOperandNum = BigOp;
}
+/// SDTCisIntVectorOfSameSize - This indicates that ThisOp and OtherOp are
+/// vector types, and that ThisOp is the result of
+/// MVT::getIntVectorWithNumElements with the number of elements
+/// that ThisOp has.
+class SDTCisIntVectorOfSameSize<int ThisOp, int OtherOp>
+ : SDTypeConstraint<ThisOp> {
+ int OtherOpNum = OtherOp;
+}
+
/// SDTCisEltOfVec - This indicates that ThisOp is a scalar type of the same
/// type as the element type of OtherOp, which is a vector type.
class SDTCisEltOfVec<int ThisOp, int OtherOp>
@@ -166,8 +175,8 @@ def SDTIStore : SDTypeProfile<1, 3, [ // indexed store
SDTCisSameAs<0, 2>, SDTCisPtrTy<0>, SDTCisPtrTy<3>
]>;
-def SDTVecShuffle : SDTypeProfile<1, 2, [
- SDTCisSameAs<0, 1>, SDTCisSameAs<1, 2>
+def SDTVecShuffle : SDTypeProfile<1, 3, [
+ SDTCisSameAs<0, 1>, SDTCisSameAs<1, 2>, SDTCisIntVectorOfSameSize<3, 0>
]>;
def SDTVecExtract : SDTypeProfile<1, 2, [ // vector extract
SDTCisEltOfVec<0, 1>, SDTCisPtrTy<2>