[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrSSE.td

Evan Cheng evan.cheng at apple.com
Sun Apr 16 11:11:54 PDT 2006



Changes in directory llvm/lib/Target/X86:

X86InstrSSE.td updated: 1.96 -> 1.97
---
Log message:

movduprm, movshduprm bugs

---
Diffs of the changes:  (+5 -4)

 X86InstrSSE.td |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/X86/X86InstrSSE.td
diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.96 llvm/lib/Target/X86/X86InstrSSE.td:1.97
--- llvm/lib/Target/X86/X86InstrSSE.td:1.96	Sun Apr 16 02:02:22 2006
+++ llvm/lib/Target/X86/X86InstrSSE.td	Sun Apr 16 13:11:28 2006
@@ -852,7 +852,7 @@
                       [(set VR128:$dst, (v4f32 (vector_shuffle
                                                 VR128:$src, (undef),
                                                 MOVSHDUP_shuffle_mask)))]>;
-def MOVSHDUPrm : S3SI<0x16, MRMSrcReg, (ops VR128:$dst, f128mem:$src),
+def MOVSHDUPrm : S3SI<0x16, MRMSrcMem, (ops VR128:$dst, f128mem:$src),
                       "movshdup {$src, $dst|$dst, $src}",
                       [(set VR128:$dst, (v4f32 (vector_shuffle
                                                 (loadv4f32 addr:$src), (undef),
@@ -863,7 +863,7 @@
                       [(set VR128:$dst, (v4f32 (vector_shuffle
                                                 VR128:$src, (undef),
                                                 MOVSLDUP_shuffle_mask)))]>;
-def MOVSLDUPrm : S3SI<0x12, MRMSrcReg, (ops VR128:$dst, f128mem:$src),
+def MOVSLDUPrm : S3SI<0x12, MRMSrcMem, (ops VR128:$dst, f128mem:$src),
                       "movsldup {$src, $dst|$dst, $src}",
                       [(set VR128:$dst, (v4f32 (vector_shuffle
                                                 (loadv4f32 addr:$src), (undef),
@@ -874,10 +874,11 @@
                   [(set VR128:$dst, (v2f64 (vector_shuffle
                                             VR128:$src, (undef),
                                             SSE_splat_v2_mask)))]>;
-def MOVDDUPrm : S3DI<0x12, MRMSrcReg, (ops VR128:$dst, f64mem:$src),
+def MOVDDUPrm : S3DI<0x12, MRMSrcMem, (ops VR128:$dst, f64mem:$src),
                   "movddup {$src, $dst|$dst, $src}",
                   [(set VR128:$dst, (v2f64 (vector_shuffle
-                                            (loadv2f64 addr:$src), (undef),
+                                         (scalar_to_vector (loadf64 addr:$src)),
+                                             (undef),
                                             SSE_splat_v2_mask)))]>;
 
 // SSE2 instructions without OpSize prefix






More information about the llvm-commits mailing list