diff options
| author | Craig Topper <craig.topper@gmail.com> | 2012-04-16 00:12:20 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2012-04-16 00:12:20 +0000 |
| commit | b04fe340306157ffe144af7eed8fc8db2028b2a0 (patch) | |
| tree | a7b2e3505ca13a679f3b931d3f643cf7b2232494 /llvm/lib | |
| parent | 1f8c9eb92544b855bcf336f7a12b7c19be1b0cb1 (diff) | |
| download | bcm5719-llvm-b04fe340306157ffe144af7eed8fc8db2028b2a0.tar.gz bcm5719-llvm-b04fe340306157ffe144af7eed8fc8db2028b2a0.zip | |
Fix SDTypeProfile for vpermps. The mask operand should be v8i32.
llvm-svn: 154781
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrFragmentsSIMD.td | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td index c61ca4659e2..0215480b8f6 100644 --- a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td +++ b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td @@ -124,6 +124,8 @@ def SDTShuff2OpI : SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisSameAs<0,1>, SDTCisInt<2>]>; def SDTShuff3OpI : SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisSameAs<0,1>, SDTCisSameAs<0,2>, SDTCisInt<3>]>; +def SDTVPermv : SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVT<1, v8i32>, + SDTCisSameAs<0,2>]>; def SDTVBroadcast : SDTypeProfile<1, 1, [SDTCisVec<0>]>; def SDTBlend : SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisSameAs<0,1>, @@ -155,8 +157,8 @@ def X86Unpckl : SDNode<"X86ISD::UNPCKL", SDTShuff2Op>; def X86Unpckh : SDNode<"X86ISD::UNPCKH", SDTShuff2Op>; def X86VPermilp : SDNode<"X86ISD::VPERMILP", SDTShuff2OpI>; -def X86VPermd : SDNode<"X86ISD::VPERMD", SDTShuff2Op>; -def X86VPermps : SDNode<"X86ISD::VPERMPS", SDTShuff2Op>; +def X86VPermd : SDNode<"X86ISD::VPERMD", SDTVPermv>; +def X86VPermps : SDNode<"X86ISD::VPERMPS", SDTVPermv>; def X86VPermq : SDNode<"X86ISD::VPERMQ", SDTShuff2OpI>; def X86VPermpd : SDNode<"X86ISD::VPERMPD", SDTShuff2OpI>; |

