[llvm-commits] [llvm] r45040 - /llvm/trunk/lib/Target/X86/X86InstrX86-64.td

Evan Cheng evan.cheng at apple.com
Fri Dec 14 11:54:08 PST 2007


Author: evancheng
Date: Fri Dec 14 13:54:07 2007
New Revision: 45040

URL: http://llvm.org/viewvc/llvm-project?rev=45040&view=rev
Log:
Fix (mem) <-> low 64-bits of xmm bugs pointed out by David Greene. Mac OS X Leopard assembler recognizes movq.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrX86-64.td

Modified: llvm/trunk/lib/Target/X86/X86InstrX86-64.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrX86-64.td?rev=45040&r1=45039&r2=45040&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrX86-64.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrX86-64.td Fri Dec 14 13:54:07 2007
@@ -1256,19 +1256,19 @@
                         "mov{d|q}\t{$src, $dst|$dst, $src}",
                         [(set VR128:$dst,
                           (v2i64 (scalar_to_vector GR64:$src)))]>;
-def MOV64toPQIrm : RPDI<0x6E, MRMSrcMem, (outs VR128:$dst), (ins i64mem:$src),
-                        "mov{d|q}\t{$src, $dst|$dst, $src}",
-                        [(set VR128:$dst,
-                          (v2i64 (scalar_to_vector (loadi64 addr:$src))))]>;
+def MOV64toPQIrm : I<0x7E, MRMSrcMem, (outs VR128:$dst), (ins i64mem:$src),
+                     "movq\t{$src, $dst|$dst, $src}",
+                     [(set VR128:$dst,
+                          (v2i64 (scalar_to_vector (loadi64 addr:$src))))]>, XS;
 
 def MOVPQIto64rr  : RPDI<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
                          "mov{d|q}\t{$src, $dst|$dst, $src}",
                          [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
                                            (iPTR 0)))]>;
-def MOVPQIto64mr  : RPDI<0x7E, MRMDestMem, (outs), (ins i64mem:$dst, VR128:$src),
-                         "mov{d|q}\t{$src, $dst|$dst, $src}",
-                         [(store (i64 (vector_extract (v2i64 VR128:$src),
-                                       (iPTR 0))), addr:$dst)]>;
+def MOVPQIto64mr  : PDI<0xD6, MRMDestMem, (outs), (ins i64mem:$dst, VR128:$src),
+                        "movq\t{$src, $dst|$dst, $src}",
+                        [(store (i64 (vector_extract (v2i64 VR128:$src),
+                                      (iPTR 0))), addr:$dst)]>;
 
 def MOV64toSDrr : RPDI<0x6E, MRMSrcReg, (outs FR64:$dst), (ins GR64:$src),
                        "mov{d|q}\t{$src, $dst|$dst, $src}",





More information about the llvm-commits mailing list