Add type constraints to masked_load/masked_store to ensure the mask vector has the...
authorCraig Topper <craig.topper@gmail.com>
Thu, 26 Nov 2015 06:30:42 +0000 (06:30 +0000)
committerCraig Topper <craig.topper@gmail.com>
Thu, 26 Nov 2015 06:30:42 +0000 (06:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254137 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetSelectionDAG.td

index 1b199e9fcec6570f82f764cd5daa3767e1359463..fd0e04913300ac1624648fbca82acc11d6122284 100644 (file)
@@ -205,11 +205,12 @@ def SDTIStore : SDTypeProfile<1, 3, [       // indexed store
 ]>;
 
 def SDTMaskedStore: SDTypeProfile<0, 3, [       // masked store
 ]>;
 
 def SDTMaskedStore: SDTypeProfile<0, 3, [       // masked store
-  SDTCisPtrTy<0>, SDTCisVec<1>, SDTCisVec<2>
+  SDTCisPtrTy<0>, SDTCisVec<1>, SDTCisVec<2>, SDTCisSameNumEltsAs<1, 2>
 ]>;
 
 def SDTMaskedLoad: SDTypeProfile<1, 3, [       // masked load
 ]>;
 
 def SDTMaskedLoad: SDTypeProfile<1, 3, [       // masked load
-  SDTCisVec<0>, SDTCisPtrTy<1>, SDTCisVec<2>, SDTCisSameAs<0, 3>
+  SDTCisVec<0>, SDTCisPtrTy<1>, SDTCisVec<2>, SDTCisSameAs<0, 3>,
+  SDTCisSameNumEltsAs<0, 2>
 ]>;
 
 def SDTMaskedGather: SDTypeProfile<2, 3, [       // masked gather
 ]>;
 
 def SDTMaskedGather: SDTypeProfile<2, 3, [       // masked gather