[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / inline-asm-stack-realign3.ll
blob29034a63ed9b8a1c8ee7de9d0957c3e0af1add97
1 ; RUN: llc -mtriple=i686-- -no-integrated-as < %s | FileCheck %s
3 declare void @bar(i32* %junk)
5 define i32 @foo(i1 %cond) {
6 entry:
7   %r = alloca i32, align 128
8   store i32 -1, i32* %r, align 128
9   br i1 %cond, label %doit, label %skip
11 doit:
12   call void asm sideeffect "xor %ecx, %ecx\0A\09mov %ecx, $0", "=*m,~{ecx},~{flags}"(i32* %r)
13   %junk = alloca i32
14   call void @bar(i32* %junk)
15   br label %skip
17 skip:
18   %0 = load i32, i32* %r, align 128
19   ret i32 %0
22 ; CHECK-LABEL: foo:
23 ; CHECK: pushl %ebp
24 ; CHECK: andl $-128, %esp
25 ; CHECK: xor %ecx, %ecx
26 ; CHECK-NEXT: mov %ecx, (%esi)
27 ; CHECK: movl (%esi), %eax
28 ; CHECK: popl %ebp
29 ; CHECK: ret