| # RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \ |
| # RUN: | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s |
| |
| # On ARM each instruction is 4 bytes long so padding for individual |
| # instructions should not be inserted. However, for bundle-locked groups |
| # it can be. |
| |
| .syntax unified |
| .text |
| .bundle_align_mode 4 |
| |
| bx lr |
| and r1, r1, r2 |
| and r1, r1, r2 |
| .bundle_lock |
| bx r9 |
| bx r8 |
| .bundle_unlock |
| # CHECK: c: nop |
| # CHECK-NEXT: 10: bx |
| # CHECK-NEXT: 14: bx |
| |
| # pow2 here |
| .align 4 |
| bx lr |
| .bundle_lock |
| bx r9 |
| bx r9 |
| bx r9 |
| bx r8 |
| .bundle_unlock |
| # CHECK: 20: bx |
| # CHECK-NEXT: 24: nop |
| # CHECK-NEXT: 28: nop |
| # CHECK-NEXT: 2c: nop |
| # CHECK-NEXT: 30: bx |
| |
| .align 4 |
| foo: |
| b foo |
| .long 3892240112 |
| .long 3892240112 |
| .long 3892240112 |
| .long 3892240112 |
| .long 3892240112 |
| .long 3892240112 |
| # CHECK: 40: b |
| |