summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/inline-asm-modifier-q.ll
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2014-03-28 23:28:07 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2014-03-28 23:28:07 +0000
commitb3cb36026abd673d8ee13105647b678c3ba88b0e (patch)
treee00e6cffd9068246482aa3a4dee0f76319bc6445 /test/CodeGen/X86/inline-asm-modifier-q.ll
parent1fc0d63775bb93ed295506c4c563b02256fbd6bd (diff)
downloadllvm-b3cb36026abd673d8ee13105647b678c3ba88b0e.tar.gz
llvm-b3cb36026abd673d8ee13105647b678c3ba88b0e.tar.bz2
llvm-b3cb36026abd673d8ee13105647b678c3ba88b0e.tar.xz
[x86] Fix printing of register operands with q modifier.
Emit 32-bit register names instead of 64-bit register names if the target does not have 64-bit general purpose registers. <rdar://problem/14653996> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205067 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/inline-asm-modifier-q.ll')
-rw-r--r--test/CodeGen/X86/inline-asm-modifier-q.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/X86/inline-asm-modifier-q.ll b/test/CodeGen/X86/inline-asm-modifier-q.ll
new file mode 100644
index 0000000000..8063d48a2c
--- /dev/null
+++ b/test/CodeGen/X86/inline-asm-modifier-q.ll
@@ -0,0 +1,12 @@
+; RUN: llc < %s -march=x86 -no-integrated-as | FileCheck %s
+
+; If the target does not have 64-bit integer registers, emit 32-bit register
+; names.
+
+; CHECK: movq (%e{{[abcd]}}x, %ebx, 4)
+
+define void @q_modifier(i32* %p) {
+entry:
+ tail call void asm sideeffect "movq (${0:q}, %ebx, 4), %mm0", "r,~{dirflag},~{fpsr},~{flags}"(i32* %p)
+ ret void
+}