[llvm-commits] [llvm] r51416 - /llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td
Tanya Lattner
tonic at nondot.org
Wed May 21 22:20:32 PDT 2008
Author: tbrethou
Date: Thu May 22 00:20:31 2008
New Revision: 51416
URL: http://llvm.org/viewvc/llvm-project?rev=51416&view=rev
Log:
Merge from mainline.
Modified:
llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td
Modified: llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td?rev=51416&r1=51415&r2=51416&view=diff
==============================================================================
--- llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/branches/release_23/lib/Target/X86/X86InstrSSE.td Thu May 22 00:20:31 2008
@@ -1015,7 +1015,7 @@
[(set VR128:$dst, (v4f32 (X86vzmovl (v4f32 (scalar_to_vector
(loadf32 addr:$src))))))]>;
-def : Pat<(v4f32 (X86vzmovl (memopv4f32 addr:$src))),
+def : Pat<(v4f32 (X86vzmovl (loadv4f32 addr:$src))),
(MOVZSS2PSrm addr:$src)>;
//===----------------------------------------------------------------------===//
@@ -2273,7 +2273,9 @@
(v2f64 (X86vzmovl (v2f64 (scalar_to_vector
(loadf64 addr:$src))))))]>;
-def : Pat<(v2f64 (X86vzmovl (memopv2f64 addr:$src))),
+def : Pat<(v2f64 (X86vzmovl (loadv2f64 addr:$src))),
+ (MOVZSD2PDrm addr:$src)>;
+def : Pat<(v2f64 (X86vzmovl (bc_v2f64 (loadv4f32 addr:$src)))),
(MOVZSD2PDrm addr:$src)>;
def : Pat<(v2f64 (X86vzload addr:$src)), (MOVZSD2PDrm addr:$src)>;
}
@@ -2315,13 +2317,17 @@
[(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))]>,
XS, Requires<[HasSSE2]>;
-let AddedComplexity = 20 in
+let AddedComplexity = 20 in {
def MOVZPQILo2PQIrm : I<0x7E, MRMSrcMem, (outs VR128:$dst), (ins i128mem:$src),
"movq\t{$src, $dst|$dst, $src}",
[(set VR128:$dst, (v2i64 (X86vzmovl
- (memopv2i64 addr:$src))))]>,
+ (loadv2i64 addr:$src))))]>,
XS, Requires<[HasSSE2]>;
+def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4i32 addr:$src)))),
+ (MOVZPQILo2PQIrm addr:$src)>;
+}
+
//===----------------------------------------------------------------------===//
// SSE3 Instructions
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list