• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1@ RUN: llvm-mc -triple thumbv7-apple-ios -filetype=obj %s -o %t
2@ RUN: llvm-objdump --macho -d %t | FileCheck %s
3
4        @ Size: 2 bytes
5        .thumb_func _f1
6        .thumb
7        .globl _f1
8_f1:
9        bx lr
10
11        @ A properly aligned ARM function
12        .globl _aligned
13        .p2align 2
14        .arm
15_aligned:
16        bx lr
17
18        @ Align this Thumb function so we can predict the outcome of
19        @ "Align(PC, 4)" during blx operation.
20        .thumb_func _test
21        .thumb
22        .p2align 2
23        .globl _test
24_test:
25        blx _elsewhere
26        blx _aligned    @ PC=0 (mod 4)
27        blx _aligned    @ PC=0 (mod 4)
28        movs r0, r0
29        blx _aligned    @ PC=2 (mod 4)
30        blx _f1
31
32@ CHECK: blx _elsewhere
33@ CHECK: ff f7 fa ef blx _aligned
34@ CHECK: ff f7 f8 ef blx _aligned
35@ CHECK: ff f7 f6 ef blx _aligned
36@ CHECK: ff f7 f2 ef blx _f1
37