[Demangle] Add a few more options to the microsoft demangler
[llvm-complete.git] / test / CodeGen / PowerPC / test_func_desc.ll
blob3cd16b94fb238442b2366b1e684b0009ff5cb758
1 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | \
2 ; RUN: FileCheck --check-prefixes=CHECK,32BIT %s
4 ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | \
5 ; RUN: FileCheck --check-prefixes=CHECK,64BIT %s
8 define i32 @foo() {
9 entry:
10   ret i32 3
13 define i32 @main() {
14 entry:
15   %0 = call i32 @foo()
16   %1 = call i32 bitcast (i32 (...)* @extern_foo to i32 ()*)()
17   %2 = call i32 @static_foo()
18   %3 = add nsw i32 %0, %1
19   %4 = add nsw i32 %3, %2
20   ret i32 %4
23 declare i32 @extern_foo(...)
25 define internal i32 @static_foo() {
26 entry:
27   ret i32 3
30 ; CHECK: .globl foo
31 ; CHECK: .globl .foo
32 ; CHECK: .csect foo[DS]
33 ; CHECK-NEXT: foo:
34 ; 32BIT: .long .foo
35 ; 32BIT-NEXT: .long TOC[TC0]
36 ; 32BIT-NEXT: .long 0
37 ; 64BIT: .llong .foo
38 ; 64BIT-NEXT: .llong TOC[TC0]
39 ; 64BIT-NEXT: .llong 0
40 ; CHECK-NEXT: .csect .text[PR]
41 ; CHECK-LABEL: .foo:
43 ; CHECK: .globl main
44 ; CHECK: .globl .main
45 ; CHECK: .csect main[DS]
46 ; CHECK-NEXT: main:
47 ; 32BIT: .long .main
48 ; 32BIT-NEXT: .long TOC[TC0]
49 ; 32BIT-NEXT: .long 0
50 ; 64BIT: .llong .main
51 ; 64BIT-NEXT: .llong TOC[TC0]
52 ; 64BIT-NEXT: .llong 0
53 ; CHECK-NEXT: .csect .text[PR]
54 ; CHECK-LABEL: .main:
55 ; CHECK: bl .foo
56 ; CHECK: bl .extern_foo
57 ; CHECK: bl .static_foo
59 ; CHECK: .lglobl .static_foo
60 ; CHECK: .csect static_foo[DS]
61 ; CHECK-NEXT: static_foo:
62 ; 32BIT: .long .static_foo
63 ; 32BIT-NEXT: .long TOC[TC0]
64 ; 32BIT-NEXT: .long 0
65 ; 64BIT: .llong .static_foo
66 ; 64BIT-NEXT: .llong TOC[TC0]
67 ; 64BIT-NEXT: .llong 0
68 ; CHECK-NEXT: .csect .text[PR]
69 ; CHECK-LABEL: .static_foo:
71 ; CHECK-NOT: .csect extern_foo
73 ; CHECK: .toc
74 ; CHECK-NOT: .tc