New testcase for PR833
authorChris Lattner <sabre@nondot.org>
Thu, 20 Jul 2006 19:04:36 +0000 (19:04 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 20 Jul 2006 19:04:36 +0000 (19:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29225 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2006-07-20-InlineAsm.ll [new file with mode: 0644]

diff --git a/test/CodeGen/X86/2006-07-20-InlineAsm.ll b/test/CodeGen/X86/2006-07-20-InlineAsm.ll
new file mode 100644 (file)
index 0000000..6bf9cc9
--- /dev/null
@@ -0,0 +1,24 @@
+; RUN: llvm-as < %s | llc -march=x86
+; PR833
+
+%G = weak global int 0         ; <int*> [#uses=3]
+
+implementation   ; Functions:
+
+int %foo(int %X) {
+entry:
+       %X_addr = alloca int            ; <int*> [#uses=3]
+       store int %X, int* %X_addr
+       call void asm sideeffect "xchg{l} {$0,$1|$1,$0}", "==m,==r,m,1,~{dirflag},~{fpsr},~{flags}"( int* %G, int* %X_addr, int* %G, int %X )
+       %tmp1 = load int* %X_addr               ; <int> [#uses=1]
+       ret int %tmp1
+}
+
+int %foo2(int %X) {
+entry:
+       %X_addr = alloca int            ; <int*> [#uses=3]
+       store int %X, int* %X_addr
+       call void asm sideeffect "xchg{l} {$0,$1|$1,$0}", "==m,==r,1,~{dirflag},~{fpsr},~{flags}"( int* %G, int* %X_addr, int %X )
+       %tmp1 = load int* %X_addr               ; <int> [#uses=1]
+       ret int %tmp1
+}