[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