[TwoAddressInstructionPass] When looking for a 3 addr conversion after commuting...
[oota-llvm.git] / test / CodeGen / X86 / inline-asm-stack-realign2.ll
index 2f042e84c5a6b9586c7ebb131dbe8746520e6340..3dfae113cf63a348b0bcc2587c0552fbd835b563 100644 (file)
@@ -1,7 +1,8 @@
 ; RUN: not llc -mtriple=i686-pc-win32 < %s 2>&1 | FileCheck %s
 
-; We don't currently support realigning the stack and adjusting the stack
-; pointer in inline asm.  This can even happen in GNU asm.
+; FIXME: This is miscompiled due to our unconditional use of ESI as the base
+; pointer.
+; XFAIL: *
 
 ; CHECK: Stack realignment in presence of dynamic stack adjustments is not supported with inline assembly
 
@@ -10,6 +11,6 @@ entry:
   %r = alloca i32, align 16
   store i32 -1, i32* %r, align 16
   call void asm sideeffect "push %esi\0A\09xor %esi, %esi\0A\09mov %esi, $0\0A\09pop %esi", "=*m,~{flags},~{esi},~{esp},~{dirflag},~{fpsr},~{flags}"(i32* %r)
-  %0 = load i32* %r, align 16
+  %0 = load i32, i32* %r, align 16
   ret i32 %0
 }