forked from OSchip/llvm-project
62 lines
1.4 KiB
ArmAsm
62 lines
1.4 KiB
ArmAsm
# REQUIRES: hexagon
|
|
# RUN: llvm-mc -filetype=obj -triple=hexagon-unknown-elf %s -o %t.o
|
|
# RUN: llvm-readobj -r %t.o | FileCheck --check-prefix=RELOC %s
|
|
# RUN: ld.lld %t.o -o %t
|
|
# RUN: llvm-objdump -d --print-imm-hex %t | FileCheck %s
|
|
|
|
.globl _start
|
|
.type _start, @function
|
|
_start:
|
|
r0 = ugp
|
|
|
|
# RELOC: 0x4 R_HEX_TPREL_32_6_X a 0x0
|
|
# RELOC-NEXT: 0x8 R_HEX_TPREL_16_X a 0x0
|
|
# CHECK: { immext(#0xffffffc0)
|
|
# CHECK-NEXT: r1 = add(r0,##-0x10) }
|
|
r1 = add(r0,##a@TPREL)
|
|
|
|
# RELOC-NEXT: 0xC R_HEX_TPREL_32_6_X a 0x0
|
|
# RELOC-NEXT: 0x10 R_HEX_TPREL_11_X a 0x0
|
|
# CHECK: { immext(#0xffffffc0)
|
|
# CHECK-NEXT: r2 = memw(r0+##-0x10) }
|
|
r2 = memw(r0+##a@TPREL)
|
|
|
|
# RELOC-NEXT: 0x14 R_HEX_TPREL_HI16 a 0x0
|
|
# R_HEX_TPREL_HI16
|
|
# CHECK: { r3.h = #0xffff }
|
|
r3.h = #a@TPREL
|
|
|
|
# RELOC-NEXT: 0x18 R_HEX_TPREL_LO16 a 0x0
|
|
# R_HEX_TPREL_LO16
|
|
# CHECK: { r3.l = #0xfff0 }
|
|
r3.l = #a@TPREL
|
|
|
|
# RELOC-NEXT: 0x1C R_HEX_TPREL_16 a 0x0
|
|
# CHECK: { r4 = #-0x10 }
|
|
r4 = #a@TPREL
|
|
|
|
.section .tdata,"awT",@progbits
|
|
.globl a
|
|
.p2align 2
|
|
a:
|
|
.word 1
|
|
.size a, 4
|
|
|
|
.globl b
|
|
.p2align 2
|
|
b:
|
|
.word 2
|
|
.size b, 4
|
|
|
|
.globl c
|
|
.p2align 2
|
|
c:
|
|
.word 3
|
|
.size c, 4
|
|
|
|
.globl d
|
|
.p2align 2
|
|
d:
|
|
.word 4
|
|
.size d, 4
|