From: Craig Topper Date: Mon, 16 Apr 2012 00:12:20 +0000 (+0000) Subject: Fix SDTypeProfile for vpermps. The mask operand should be v8i32. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ca9ee66e3641c9c56b43dfcddf9c5a1cce91e5ae;p=oota-llvm.git Fix SDTypeProfile for vpermps. The mask operand should be v8i32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154781 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrFragmentsSIMD.td b/lib/Target/X86/X86InstrFragmentsSIMD.td index c61ca4659e2..0215480b8f6 100644 --- a/lib/Target/X86/X86InstrFragmentsSIMD.td +++ b/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>;