Home | History | Annotate | Download | only in AlignedBundling
      1 # RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \
      2 # RUN:   | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s
      3 
      4 	.syntax unified
      5 	.text
      6   .bundle_align_mode 4
      7 
      8   bx lr
      9   and r1, r1, r2
     10   and r1, r1, r2
     11   .bundle_lock align_to_end
     12   bx r9
     13   .bundle_unlock
     14 # No padding required here because bx just happens to be in the
     15 # right offset.
     16 # CHECK:      8:  and
     17 # CHECK-NEXT: c:  bx
     18 
     19   bx lr
     20   and r1, r1, r2
     21   .bundle_lock align_to_end
     22   bx r9
     23   .bundle_unlock
     24 # A 4-byte padding is needed here
     25 # CHECK:      18: nop
     26 # CHECK-NEXT: 1c: bx
     27 
     28   bx lr
     29   and r1, r1, r2
     30   .bundle_lock align_to_end
     31   bx r9
     32   bx r9
     33   bx r9
     34   .bundle_unlock
     35 # A 12-byte padding is needed here to push the group to the end of the next
     36 # bundle
     37 # CHECK:      28: nop
     38 # CHECK-NEXT: 2c: nop
     39 # CHECK-NEXT: 30: nop
     40 # CHECK-NEXT: 34: bx
     41 
     42