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