summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86InstrFragmentsSIMD.td
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2012-02-02 09:10:43 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2012-02-02 09:10:43 +0000
commitdcabc7bca9b81c384d307cbb7d28b29451e263f2 (patch)
treee26437ef2ab73a1e5bdfb11c0d61568a15a3a7ef /lib/Target/X86/X86InstrFragmentsSIMD.td
parent1ae52f686cb04a08cb64b3fab90e7ac4c9010384 (diff)
downloadllvm-dcabc7bca9b81c384d307cbb7d28b29451e263f2.tar.gz
llvm-dcabc7bca9b81c384d307cbb7d28b29451e263f2.tar.bz2
llvm-dcabc7bca9b81c384d307cbb7d28b29451e263f2.tar.xz
Optimization for SIGN_EXTEND operation on AVX.
Special handling was added for v4i32 -> v4i64 and v8i16 -> v8i32 extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149600 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrFragmentsSIMD.td')
-rw-r--r--lib/Target/X86/X86InstrFragmentsSIMD.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrFragmentsSIMD.td b/lib/Target/X86/X86InstrFragmentsSIMD.td
index 98ed34ad73..f239509a9c 100644
--- a/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ b/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -71,6 +71,9 @@ def X86insrtps : SDNode<"X86ISD::INSERTPS",
SDTCisVT<2, v4f32>, SDTCisPtrTy<3>]>>;
def X86vzmovl : SDNode<"X86ISD::VZEXT_MOVL",
SDTypeProfile<1, 1, [SDTCisSameAs<0,1>]>>;
+def X86vsmovl : SDNode<"X86ISD::VSEXT_MOVL",
+ SDTypeProfile<1, 1, [SDTCisVec<0>, SDTCisInt<1>, SDTCisInt<0>]>>;
+
def X86vzload : SDNode<"X86ISD::VZEXT_LOAD", SDTLoad,
[SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>;
def X86vshldq : SDNode<"X86ISD::VSHLDQ", SDTIntShiftOp>;