159d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \
259d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# RUN:   | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s
359d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky
459d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky	.syntax unified
559d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky	.text
659d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_align_mode 4
759d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky
859d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx lr
959d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  and r1, r1, r2
1059d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  and r1, r1, r2
1159d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_lock align_to_end
1259d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx r9
1359d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_unlock
1459d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# No padding required here because bx just happens to be in the
1559d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# right offset.
1659d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK:      8:  and
1759d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK-NEXT: c:  bx
1859d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky
1959d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx lr
2059d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  and r1, r1, r2
2159d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_lock align_to_end
2259d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx r9
2359d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_unlock
2459d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# A 4-byte padding is needed here
2559d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK:      18: nop
2659d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK-NEXT: 1c: bx
2759d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky
2859d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx lr
2959d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  and r1, r1, r2
3059d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_lock align_to_end
3159d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx r9
3259d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx r9
3359d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  bx r9
3459d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky  .bundle_unlock
3559d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# A 12-byte padding is needed here to push the group to the end of the next
3659d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# bundle
3759d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK:      28: nop
3859d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK-NEXT: 2c: nop
3959d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK-NEXT: 30: nop
4059d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky# CHECK-NEXT: 34: bx
4159d152197d741ab930dfc99ced3cac1b8bc8bef9Eli Bendersky
42