diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-04-16 06:43:40 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-04-16 06:43:40 +0000 |
commit | 92040745984933f51b7c36b8b93f0e5a1931feee (patch) | |
tree | df7834cfb9d4520a9bc5f02aa3163ce3ffea358c /lib/Target/X86/X86InstrFragmentsSIMD.td | |
parent | 7e9f7fbc11835baa50c5ebb688a9fd515d6fafed (diff) | |
download | llvm-92040745984933f51b7c36b8b93f0e5a1931feee.tar.gz llvm-92040745984933f51b7c36b8b93f0e5a1931feee.tar.bz2 llvm-92040745984933f51b7c36b8b93f0e5a1931feee.tar.xz |
Change type profile for vpermv back to using operand type for the mask argument to match intrinsic behavior. Add a bitcast to the lowering code to convert mask from v8i32 to v8f32 for vpermps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154798 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrFragmentsSIMD.td')
-rw-r--r-- | lib/Target/X86/X86InstrFragmentsSIMD.td | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/Target/X86/X86InstrFragmentsSIMD.td b/lib/Target/X86/X86InstrFragmentsSIMD.td index bf36a91f0f..35801e4322 100644 --- a/lib/Target/X86/X86InstrFragmentsSIMD.td +++ b/lib/Target/X86/X86InstrFragmentsSIMD.td @@ -124,8 +124,6 @@ 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>, @@ -157,7 +155,7 @@ def X86Unpckl : SDNode<"X86ISD::UNPCKL", SDTShuff2Op>; def X86Unpckh : SDNode<"X86ISD::UNPCKH", SDTShuff2Op>; def X86VPermilp : SDNode<"X86ISD::VPERMILP", SDTShuff2OpI>; -def X86VPermv : SDNode<"X86ISD::VPERMV", SDTVPermv>; +def X86VPermv : SDNode<"X86ISD::VPERMV", SDTShuff2Op>; def X86VPermi : SDNode<"X86ISD::VPERMI", SDTShuff2OpI>; def X86VPerm2x128 : SDNode<"X86ISD::VPERM2X128", SDTShuff3OpI>; |