5a54889d6a375ecfc091c010b7b0acdcba0b9673
[oota-llvm.git] / test / CodeGen / ARM / ehabi-mc-compact-pr1.ll
1 ; RUN: llc -mtriple armv7-unknown-linux-gnueabi \
2 ; RUN:     -arm-enable-ehabi -arm-enable-ehabi-descriptors \
3 ; RUN:     -disable-fp-elim -filetype=obj -o - %s \
4 ; RUN:   | llvm-objdump -s - \
5 ; RUN:   | FileCheck %s --check-prefix=CHECK
6
7 ; RUN: llc -mtriple armv7-unknown-linux-gnueabi \
8 ; RUN:     -arm-enable-ehabi -arm-enable-ehabi-descriptors \
9 ; RUN:     -filetype=obj -o - %s \
10 ; RUN:   | llvm-objdump -s - \
11 ; RUN:   | FileCheck %s --check-prefix=CHECK-FP-ELIM
12
13 ; RUN: llc -mtriple armv7-unknown-linux-gnueabi \
14 ; RUN:     -arm-enable-ehabi -arm-enable-ehabi-descriptors \
15 ; RUN:     -disable-fp-elim -filetype=obj -o - %s \
16 ; RUN:   | llvm-objdump -r - \
17 ; RUN:   | FileCheck %s --check-prefix=CHECK-RELOC
18
19 ; RUN: llc -mtriple armv7-unknown-linux-gnueabi \
20 ; RUN:     -arm-enable-ehabi -arm-enable-ehabi-descriptors \
21 ; RUN:     -filetype=obj -o - %s \
22 ; RUN:   | llvm-objdump -r - \
23 ; RUN:   | FileCheck %s --check-prefix=CHECK-FP-ELIM-RELOC
24
25 define i32 @_Z3addiiiiiiii(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g, i32 %h) {
26 entry:
27   %add = add nsw i32 %b, %a
28   %add1 = add nsw i32 %add, %c
29   %add2 = add nsw i32 %add1, %d
30   tail call void @_Z15throw_exceptioni(i32 %add2)
31   %add3 = add nsw i32 %f, %e
32   %add4 = add nsw i32 %add3, %g
33   %add5 = add nsw i32 %add4, %h
34   tail call void @_Z15throw_exceptioni(i32 %add5)
35   %add6 = add nsw i32 %add5, %add2
36   ret i32 %add6
37 }
38
39 declare void @_Z15throw_exceptioni(i32)
40
41 ; CHECK-NOT: section .ARM.extab
42 ; CHECK: section .text
43 ; CHECK: section .ARM.extab
44 ; CHECK-NEXT: 0000 419b0181 b0b08384
45 ; CHECK: section .ARM.exidx
46 ; CHECK-NEXT: 0000 00000000 00000000
47 ; CHECK-NOT: section .ARM.extab
48
49 ; CHECK-FP-ELIM-NOT: section .ARM.extab
50 ; CHECK-FP-ELIM: section .text
51 ; CHECK-FP-ELIM-NOT: section .ARM.extab
52 ; CHECK-FP-ELIM: section .ARM.exidx
53 ; CHECK-FP-ELIM-NEXT: 0000 00000000 b0838480
54 ; CHECK-FP-ELIM-NOT: section .ARM.extab
55
56 ; CHECK-RELOC: RELOCATION RECORDS FOR [.rel.ARM.exidx]
57 ; CHECK-RELOC-NEXT: 0 R_ARM_PREL31 .text
58 ; CHECK-RELOC-NEXT: 0 R_ARM_NONE __aeabi_unwind_cpp_pr1
59
60 ; CHECK-FP-ELIM-RELOC: RELOCATION RECORDS FOR [.rel.ARM.exidx]
61 ; CHECK-FP-ELIM-RELOC-NEXT: 0 R_ARM_PREL31 .text
62 ; CHECK-FP-ELIM-RELOC-NEXT: 0 R_ARM_NONE __aeabi_unwind_cpp_pr0