Don't let x86 asm printer use the no operand movsd alias. It should use the normal...
authorCraig Topper <craig.topper@gmail.com>
Tue, 23 Jul 2013 01:50:47 +0000 (01:50 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 23 Jul 2013 01:50:47 +0000 (01:50 +0000)
llvm-svn: 186924

llvm/lib/Target/X86/X86InstrInfo.td
llvm/test/MC/Disassembler/X86/simple-tests.txt
llvm/test/MC/X86/x86-32.s
llvm/test/MC/X86/x86-64.s

index 9e5b6ff..38196c6 100644 (file)
@@ -2128,7 +2128,7 @@ def : InstAlias<"movq $src, $dst",
 
 // movsd with no operands (as opposed to the SSE scalar move of a double) is an
 // alias for movsl. (as in rep; movsd)
-def : InstAlias<"movsd", (MOVSD)>;
+def : InstAlias<"movsd", (MOVSD), 0>;
 
 // movsx aliases
 def : InstAlias<"movsx $src, $dst", (MOVSX16rr8 GR16:$dst, GR8:$src), 0>;
index d51f0a1..940b1f7 100644 (file)
 
 # rdar://13493622 lldb doesn't print the x86 rep/repne prefix when disassembling
 # CHECK: repne
-# CHECK-NEXT: movsd
+# CHECK-NEXT: movsl
 0xf2 0xa5
 # CHECK: repne
 # CHECK-NEXT: movsq
index 57a0037..99136bd 100644 (file)
@@ -894,9 +894,9 @@ pshufw $90, %mm4, %mm0
        movsw   %ds:(%esi), %es:(%edi)
        movsw   (%esi), %es:(%edi)
 
-// CHECK: movsd # encoding: [0xa5]
-// CHECK: movsd
-// CHECK: movsd
+// CHECK: movsl # encoding: [0xa5]
+// CHECK: movsl
+// CHECK: movsl
        movsl
        movsl   %ds:(%esi), %es:(%edi)
        movsl   (%esi), %es:(%edi)
index c4b716a..baa076f 100644 (file)
 // rdar://8470918
 smovb // CHECK: movsb
 smovw // CHECK: movsw
-smovl // CHECK: movsd
+smovl // CHECK: movsl
 smovq // CHECK: movsq
 
 // rdar://8456361
 // CHECK: rep
-// CHECK: movsd
+// CHECK: movsl
         rep movsd
 
 // CHECK: rep
@@ -627,7 +627,7 @@ movsq
 // CHECK:   encoding: [0x48,0xa5]
 
 movsl
-// CHECK: movsd
+// CHECK: movsl
 // CHECK:   encoding: [0xa5]
 
 stosq
@@ -845,7 +845,7 @@ lock/incl 1(%rsp)
 rep movsl
 // CHECK: rep
 // CHECK: encoding: [0xf3]
-// CHECK: movsd
+// CHECK: movsl
 // CHECK: encoding: [0xa5]
 
 
@@ -1083,14 +1083,14 @@ xsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1]
        movsw   %ds:(%rsi), %es:(%rdi)
        movsw   (%rsi), %es:(%rdi)
 
-// CHECK: movsd # encoding: [0xa5]
-// CHECK: movsd
-// CHECK: movsd
+// CHECK: movsl # encoding: [0xa5]
+// CHECK: movsl
+// CHECK: movsl
        movsl
        movsl   %ds:(%rsi), %es:(%rdi)
        movsl   (%rsi), %es:(%rdi)
 // rdar://10883092
-// CHECK: movsd
+// CHECK: movsl
        movsl   (%rsi), (%rdi)
 
 // CHECK: movsq # encoding: [0x48,0xa5]