ARM BL/BLX instruction fixups should use relocations.
[oota-llvm.git] / test / MC / ARM / arm_fixups.s
1 @ RUN: llvm-mc -triple armv7-unknown-unknown %s --show-encoding > %t
2 @ RUN: FileCheck < %t %s
3
4     bl _printf
5 @ CHECK: bl _printf @ encoding: [A,A,A,0xeb]
6 @ CHECK: @ fixup A - offset: 0, value: _printf, kind: fixup_arm_bl
7
8     mov r9, :lower16:(_foo)
9     movw r9, :lower16:(_foo)
10     movt r9, :upper16:(_foo)
11
12 @ CHECK: movw   r9, :lower16:_foo       @ encoding: [A,0x90'A',0b0000AAAA,0xe3]
13 @ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16
14 @ CHECK: movw   r9, :lower16:_foo       @ encoding: [A,0x90'A',0b0000AAAA,0xe3]
15 @ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16
16 @ CHECK: movt   r9, :upper16:_foo       @ encoding: [A,0x90'A',0b0100AAAA,0xe3]
17 @ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_arm_movt_hi16