| OLD | NEW |
| 1 ; Tests basics and corner cases of arm32 sandboxing, using -Om1 in the hope that | 1 ; Tests basics and corner cases of arm32 sandboxing, using -Om1 in the hope that |
| 2 ; the output will remain stable. When packing bundles, we try to limit to a few | 2 ; the output will remain stable. When packing bundles, we try to limit to a few |
| 3 ; instructions with well known sizes and minimal use of registers and stack | 3 ; instructions with well known sizes and minimal use of registers and stack |
| 4 ; slots in the lowering sequence. | 4 ; slots in the lowering sequence. |
| 5 | 5 |
| 6 ; REQUIRES: allow_dump, target_arm32 | 6 ; REQUIRES: allow_dump, target_ARM32 |
| 7 ; RUN: %p2i -i %s --sandbox --filetype=asm --target=arm32 --assemble \ | 7 ; RUN: %p2i -i %s --sandbox --filetype=asm --target=arm32 --assemble \ |
| 8 ; RUN: --disassemble --args -Om1 -allow-externally-defined-symbols \ | 8 ; RUN: --disassemble --args -Om1 -allow-externally-defined-symbols \ |
| 9 ; RUN: -ffunction-sections | FileCheck %s | 9 ; RUN: -ffunction-sections | FileCheck %s |
| 10 | 10 |
| 11 declare void @call_target() | 11 declare void @call_target() |
| 12 declare void @call_target1(i32 %arg) | 12 declare void @call_target1(i32 %arg) |
| 13 @global_short = internal global [2 x i8] zeroinitializer | 13 @global_short = internal global [2 x i8] zeroinitializer |
| 14 | 14 |
| 15 ; A direct call sequence uses the right mask and register-call sequence. | 15 ; A direct call sequence uses the right mask and register-call sequence. |
| 16 define internal void @test_direct_call() { | 16 define internal void @test_direct_call() { |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 ; CHECK-LABEL: bundle_lock_align_to_end_padding_2 | 145 ; CHECK-LABEL: bundle_lock_align_to_end_padding_2 |
| 146 ; CHECK: {{[0-9]+}}0: | 146 ; CHECK: {{[0-9]+}}0: |
| 147 ; CHECK-NEXT: nop | 147 ; CHECK-NEXT: nop |
| 148 ; CHECK-NEXT: nop | 148 ; CHECK-NEXT: nop |
| 149 ; CHECK-NEXT: bl {{.*}} call_target | 149 ; CHECK-NEXT: bl {{.*}} call_target |
| 150 ; CHECK: {{[0-9]+}}c: {{.*}} movw r2, #4 | 150 ; CHECK: {{[0-9]+}}c: {{.*}} movw r2, #4 |
| 151 ; CHECK-NEXT: nop | 151 ; CHECK-NEXT: nop |
| 152 ; CHECK-NEXT: nop | 152 ; CHECK-NEXT: nop |
| 153 ; CHECK-NEXT: bic [[REG:r[0-9]+]], [[REG]], {{.*}} 0xc000000f | 153 ; CHECK-NEXT: bic [[REG:r[0-9]+]], [[REG]], {{.*}} 0xc000000f |
| 154 ; CHECK-NEXT: {{.*}} blx [[REG]] | 154 ; CHECK-NEXT: {{.*}} blx [[REG]] |
| OLD | NEW |