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