1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \ 2*9880d681SAndroid Build Coastguard Worker# RUN: | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker# On ARM each instruction is 4 bytes long so padding for individual 5*9880d681SAndroid Build Coastguard Worker# instructions should not be inserted. However, for bundle-locked groups 6*9880d681SAndroid Build Coastguard Worker# it can be. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker .syntax unified 9*9880d681SAndroid Build Coastguard Worker .text 10*9880d681SAndroid Build Coastguard Worker .bundle_align_mode 4 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker bx lr 13*9880d681SAndroid Build Coastguard Worker and r1, r1, r2 14*9880d681SAndroid Build Coastguard Worker and r1, r1, r2 15*9880d681SAndroid Build Coastguard Worker .bundle_lock 16*9880d681SAndroid Build Coastguard Worker bx r9 17*9880d681SAndroid Build Coastguard Worker bx r8 18*9880d681SAndroid Build Coastguard Worker .bundle_unlock 19*9880d681SAndroid Build Coastguard Worker# CHECK: c: nop 20*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 10: bx 21*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 14: bx 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker # pow2 here 24*9880d681SAndroid Build Coastguard Worker .align 4 25*9880d681SAndroid Build Coastguard Worker bx lr 26*9880d681SAndroid Build Coastguard Worker .bundle_lock 27*9880d681SAndroid Build Coastguard Worker bx r9 28*9880d681SAndroid Build Coastguard Worker bx r9 29*9880d681SAndroid Build Coastguard Worker bx r9 30*9880d681SAndroid Build Coastguard Worker bx r8 31*9880d681SAndroid Build Coastguard Worker .bundle_unlock 32*9880d681SAndroid Build Coastguard Worker# CHECK: 20: bx 33*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 24: nop 34*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 28: nop 35*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 2c: nop 36*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 30: bx 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker .align 4 39*9880d681SAndroid Build Coastguard Workerfoo: 40*9880d681SAndroid Build Coastguard Worker b foo 41*9880d681SAndroid Build Coastguard Worker .long 3892240112 42*9880d681SAndroid Build Coastguard Worker .long 3892240112 43*9880d681SAndroid Build Coastguard Worker .long 3892240112 44*9880d681SAndroid Build Coastguard Worker .long 3892240112 45*9880d681SAndroid Build Coastguard Worker .long 3892240112 46*9880d681SAndroid Build Coastguard Worker .long 3892240112 47*9880d681SAndroid Build Coastguard Worker# CHECK: 40: b 48*9880d681SAndroid Build Coastguard Worker 49