pmovsxbq etc. requires sse4.1.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 25 Sep 2008 00:49:51 +0000 (00:49 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 25 Sep 2008 00:49:51 +0000 (00:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56600 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrSSE.td

index e89e8a3b56dd69dc8dfbe1200b51e8b0b7f33038..d67beac3e95d6729b5aa27eaf60720224cc52d02 100644 (file)
@@ -3442,14 +3442,14 @@ defm PMOVZXWQ   : SS41I_binop_rm_int4<0x34, "pmovzxwq", int_x86_sse41_pmovzxwq>;
 
 // Common patterns involving scalar load
 def : Pat<(int_x86_sse41_pmovsxbd (vzmovl_v4i32 addr:$src)),
-          (PMOVSXBDrm addr:$src)>;
+          (PMOVSXBDrm addr:$src)>, Requires<[HasSSE41]>;
 def : Pat<(int_x86_sse41_pmovsxwq (vzmovl_v4i32 addr:$src)),
-          (PMOVSXWQrm addr:$src)>;
+          (PMOVSXWQrm addr:$src)>, Requires<[HasSSE41]>;
 
 def : Pat<(int_x86_sse41_pmovzxbd (vzmovl_v4i32 addr:$src)),
-          (PMOVZXBDrm addr:$src)>;
+          (PMOVZXBDrm addr:$src)>, Requires<[HasSSE41]>;
 def : Pat<(int_x86_sse41_pmovzxwq (vzmovl_v4i32 addr:$src)),
-          (PMOVZXWQrm addr:$src)>;
+          (PMOVZXWQrm addr:$src)>, Requires<[HasSSE41]>;
 
 
 multiclass SS41I_binop_rm_int2<bits<8> opc, string OpcodeStr, Intrinsic IntId> {
@@ -3472,12 +3472,12 @@ defm PMOVZXBQ   : SS41I_binop_rm_int2<0x32, "pmovsxbq", int_x86_sse41_pmovzxbq>;
 def : Pat<(int_x86_sse41_pmovsxbq
             (bitconvert (v4i32 (X86vzmovl
                              (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
-          (PMOVSXBQrm addr:$src)>;
+          (PMOVSXBQrm addr:$src)>, Requires<[HasSSE41]>;
 
 def : Pat<(int_x86_sse41_pmovzxbq
             (bitconvert (v4i32 (X86vzmovl
                              (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
-          (PMOVZXBQrm addr:$src)>;
+          (PMOVZXBQrm addr:$src)>, Requires<[HasSSE41]>;
 
 
 /// SS41I_binop_ext8 - SSE 4.1 extract 8 bits to 32 bit reg or 8 bit mem