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
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
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
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
25 define i32 @_Z3addiiiiiiii(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g, i32 %h) {
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
39 declare void @_Z15throw_exceptioni(i32)
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
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
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
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