1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/MC/VE/sym-tls.s
Kazushi (Jam) Marukawa 26169930ef [VE] Support relocation information in MC layer
Summary:
Change VEAsmParser to support identification with relocation information
in assmebler.  Change VEAsmBackend to support relocation information in
MC layer.  Change VEDisassembler and VEMCCodeEmitter to support binary
generation of branch target operands.  Add REFLONG fixup and variant kind
to support new R_VE_REFLONG ELF symbol.  And, add regression test in both
MC and CodeGen to check binary genaration with relocation information.

Differential Revision: https://reviews.llvm.org/D81553
2020-06-15 11:24:53 +02:00

25 lines
900 B
ArmAsm

# RUN: llvm-mc -triple=ve %s -o - | FileCheck %s
# RUN: llvm-mc -triple=ve -filetype=obj %s -o - | llvm-objdump -r - | FileCheck %s --check-prefix=CHECK-OBJ
lea %s0, x@tls_gd_lo(-24)
and %s0, %s0, (32)0
sic %s10
lea.sl %s0, x@tls_gd_hi(%s10, %s0)
lea %s12, __tls_get_addr@plt_lo(8)
and %s12, %s12, (32)0
lea.sl %s12, __tls_get_addr@plt_hi(%s10, %s12)
bsic %s10, (, %s12)
# CHECK: lea %s0, x@tls_gd_lo(-24)
# CHECK-NEXT: and %s0, %s0, (32)0
# CHECK-NEXT: sic %s10
# CHECK-NEXT: lea.sl %s0, x@tls_gd_hi(%s10, %s0)
# CHECK-NEXT: lea %s12, __tls_get_addr@plt_lo(8)
# CHECK-NEXT: and %s12, %s12, (32)0
# CHECK-NEXT: lea.sl %s12, __tls_get_addr@plt_hi(%s10, %s12)
# CHECK-NEXT: bsic %s10, (, %s12)
# CHECK-OBJ: 0 R_VE_TLS_GD_LO32 x
# CHECK-OBJ-NEXT: 18 R_VE_TLS_GD_HI32 x
# CHECK-OBJ-NEXT: 20 R_VE_PLT_LO32 __tls_get_addr
# CHECK-OBJ-NEXT: 30 R_VE_PLT_HI32 __tls_get_addr