[llvm-commits] [llvm] r50294 - /llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td

Bill Wendling isanbard at gmail.com
Fri Apr 25 13:22:40 PDT 2008


Author: void
Date: Fri Apr 25 15:22:40 2008
New Revision: 50294

URL: http://llvm.org/viewvc/llvm-project?rev=50294&view=rev
Log:
Merging r50291 to Tak.

Modified:
    llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td

Modified: llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td?rev=50294&r1=50293&r2=50294&view=diff

==============================================================================
--- llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td (original)
+++ llvm/branches/Apple/Tak/lib/Target/X86/X86InstrMMX.td Fri Apr 25 15:22:40 2008
@@ -184,8 +184,9 @@
 def MMX_MOVDQ2Qrr : MMXID<0xD6, MRMDestMem, (outs VR64:$dst), (ins VR128:$src),
                           "movdq2q\t{$src, $dst|$dst, $src}",
                           [(set VR64:$dst,
-                            (v1i64 (vector_extract (v2i64 VR128:$src),
-                                  (iPTR 0))))]>;
+                            (v1i64 (bitconvert
+                            (i64 (vector_extract (v2i64 VR128:$src),
+                                  (iPTR 0))))))]>;
 
 def MMX_MOVQ2DQrr : MMXIS<0xD6, MRMDestMem, (outs VR128:$dst), (ins VR64:$src),
                           "movq2dq\t{$src, $dst|$dst, $src}",
@@ -641,3 +642,15 @@
 // Move MMX to lower 64-bit of XMM
 def : Pat<(v2i64 (scalar_to_vector (i64 (bitconvert VR64:$src)))),
           (v2i64 (MMX_MOVQ2DQrr VR64:$src))>;
+
+// Move lower 64-bit of XMM to MMX.
+def : Pat<(v2i32 (bitconvert (i64 (vector_extract (v2i64 VR128:$src),
+                                                  (iPTR 0))))),
+          (v2i32 (MMX_MOVDQ2Qrr VR128:$src))>;
+def : Pat<(v4i16 (bitconvert (i64 (vector_extract (v2i64 VR128:$src),
+                                                  (iPTR 0))))),
+          (v4i16 (MMX_MOVDQ2Qrr VR128:$src))>;
+def : Pat<(v8i8 (bitconvert (i64 (vector_extract (v2i64 VR128:$src),
+                                                  (iPTR 0))))),
+          (v8i8 (MMX_MOVDQ2Qrr VR128:$src))>;
+





More information about the llvm-commits mailing list