Merging r261039:
[oota-llvm.git] / test / CodeGen / X86 / 2010-07-02-asm-alignstack.ll
1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -no-integrated-as | FileCheck %s
2
3 define void @foo() nounwind ssp {
4 entry:
5 ; CHECK: foo
6 ; CHECK: pushq
7 ; CHECK: int $3
8   call void asm sideeffect alignstack "# top of block", "~{dirflag},~{fpsr},~{flags},~{edi},~{esi},~{edx},~{ecx},~{eax}"() nounwind
9   call void asm sideeffect alignstack ".file \22small.c\22", "~{dirflag},~{fpsr},~{flags}"() nounwind
10   call void asm sideeffect alignstack ".line 3", "~{dirflag},~{fpsr},~{flags}"() nounwind
11   call void asm sideeffect alignstack "int $$3", "~{dirflag},~{fpsr},~{flags},~{memory}"() nounwind
12   br label %return
13
14 return:                                           ; preds = %entry
15   ret void
16 }
17
18 define void @bar() nounwind ssp {
19 entry:
20 ; CHECK: bar
21 ; CHECK-NOT: pushq
22 ; CHECK: int $3
23   call void asm sideeffect "# top of block", "~{dirflag},~{fpsr},~{flags},~{edi},~{esi},~{edx},~{ecx},~{eax}"() nounwind
24   call void asm sideeffect ".file \22small.c\22", "~{dirflag},~{fpsr},~{flags}"() nounwind
25   call void asm sideeffect ".line 3", "~{dirflag},~{fpsr},~{flags}"() nounwind
26   call void asm sideeffect "int $$3", "~{dirflag},~{fpsr},~{flags},~{memory}"() nounwind
27   br label %return
28
29 return:                                           ; preds = %entry
30   ret void
31 }