[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