[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrSSE.td
Evan Cheng
evan.cheng at apple.com
Tue May 30 17:51:50 PDT 2006
Changes in directory llvm/lib/Target/X86:
X86InstrSSE.td updated: 1.120 -> 1.121
---
Log message:
Select vector_shuffle v1, undef <2, 3, ?, ?> to MOVHLPS.
---
Diffs of the changes: (+8 -0)
X86InstrSSE.td | 8 ++++++++
1 files changed, 8 insertions(+)
Index: llvm/lib/Target/X86/X86InstrSSE.td
diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.120 llvm/lib/Target/X86/X86InstrSSE.td:1.121
--- llvm/lib/Target/X86/X86InstrSSE.td:1.120 Tue May 30 18:47:30 2006
+++ llvm/lib/Target/X86/X86InstrSSE.td Tue May 30 19:51:37 2006
@@ -2453,6 +2453,14 @@
MOVHLPS_shuffle_mask)),
(v4i32 (MOVHLPSrr VR128:$src1, VR128:$src2))>;
+// vector_shuffle v1, undef <2, 3, ?, ?> using MOVHLPS
+def : Pat<(v4f32 (vector_shuffle VR128:$src1, (undef),
+ UNPCKH_shuffle_mask)),
+ (v4f32 (MOVHLPSrr VR128:$src1, VR128:$src1))>;
+def : Pat<(v4i32 (vector_shuffle VR128:$src1, (undef),
+ UNPCKH_shuffle_mask)),
+ (v4i32 (MOVHLPSrr VR128:$src1, VR128:$src1))>;
+
// vector_shuffle v1, (load v2) <4, 5, 2, 3> using MOVLPS
// vector_shuffle v1, (load v2) <0, 1, 4, 5> using MOVHPS
def : Pat<(v4f32 (vector_shuffle VR128:$src1, (loadv4f32 addr:$src2),
More information about the llvm-commits
mailing list