DI: Require subprogram definitions to be distinct
[oota-llvm.git] / test / Assembler / alignstack.ll
1 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
2 ; RUN: verify-uselistorder %s
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
4 target triple = "i386-apple-darwin10.0"
5
6 define void @test1() nounwind {
7 ; CHECK: test1
8 ; CHECK: sideeffect
9 ; CHECK-NOT: alignstack
10         tail call void asm sideeffect "mov", "~{dirflag},~{fpsr},~{flags}"() nounwind
11         ret void
12 ; CHECK: ret
13 }
14 define void @test2() nounwind {
15 ; CHECK: test2
16 ; CHECK: sideeffect
17 ; CHECK: alignstack
18         tail call void asm sideeffect alignstack "mov", "~{dirflag},~{fpsr},~{flags}"() nounwind
19         ret void
20 ; CHECK: ret
21 }
22 define void @test3() nounwind {
23 ; CHECK: test3
24 ; CHECK-NOT: sideeffect
25 ; CHECK: alignstack
26         tail call void asm alignstack "mov", "~{dirflag},~{fpsr},~{flags}"() nounwind
27         ret void
28 ; CHECK: ret
29 }
30 define void @test4() nounwind {
31 ; CHECK: test4
32 ; CHECK-NOT: sideeffect
33 ; CHECK-NOT: alignstack
34         tail call void asm  "mov", "~{dirflag},~{fpsr},~{flags}"() nounwind
35         ret void
36 ; CHECK: ret
37 }