1@ RUN: llvm-mc -filetype=obj -triple=thumbv7 %s -o %t 2@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=THUMB 3@ RUN: llvm-objdump -d --triple=thumbv7 %t | FileCheck %s --check-prefix=THUMB_ADDEND 4@ RUN: llvm-mc -filetype=obj --triple=thumbebv7-unknown-unknown %s -o %t 5@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=THUMB 6@ RUN: llvm-objdump -d --triple=thumbebv7-unknown-unknown %t | FileCheck %s --check-prefix=THUMB_ADDEND 7 8@ All the ldr variants produce a relocation 9@ THUMB: R_ARM_THM_PC12 10@ THUMB: R_ARM_THM_PC12 11@ THUMB: R_ARM_THM_PC12 12@ THUMB: R_ARM_THM_PC12 13@ THUMB: R_ARM_THM_PC12 14@ THUMB: R_ARM_THM_PC12 15 16@ THUMB_ADDEND: r0, [pc, #-0x4] 17@ THUMB_ADDEND: r0, [pc, #-0x4] 18@ THUMB_ADDEND: r0, [pc, #-0x4] 19@ THUMB_ADDEND: r0, [pc, #0x4] 20@ THUMB_ADDEND: r0, [pc, #-0xc] 21@ THUMB_ADDEND: r0, [pc, #0x4] 22 23 .thumb 24 .section .text.bar, "ax" 25 .balign 4 26 .global bar 27 .type bar, %function 28bar: 29 ldrh r0, foo1 30 ldrsb r0, foo1 31 ldrsh r0, foo1 32 ldrh r0, foo1+8 33 ldrsb r0, foo2-8 34 ldrsh r0, foo1+8 35 bx lr 36 37 .section .data.foo, "a", %progbits 38 .balign 4 39 .global foo1 40 .global foo2 41foo1: 42 .word 0x11223344, 0x55667788 43foo2: 44 .word 0x9900aabb, 0xccddeeff 45