1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/MC/VE/sym-gotoff.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
944 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 %s15, _GLOBAL_OFFSET_TABLE_@pc_lo(-24)
and %s15, %s15, (32)0
sic %s16
lea.sl %s15, _GLOBAL_OFFSET_TABLE_@pc_hi(%s16, %s15)
lea %s0, src@gotoff_lo
and %s0, %s0, (32)0
lea.sl %s0, src@gotoff_hi(, %s0)
ld1b.zx %s0, (%s0, %s15)
# CHECK: lea %s15, _GLOBAL_OFFSET_TABLE_@pc_lo(-24)
# CHECK-NEXT: and %s15, %s15, (32)0
# CHECK-NEXT: sic %s16
# CHECK-NEXT: lea.sl %s15, _GLOBAL_OFFSET_TABLE_@pc_hi(%s16, %s15)
# CHECK-NEXT: lea %s0, src@gotoff_lo
# CHECK-NEXT: and %s0, %s0, (32)0
# CHECK-NEXT: lea.sl %s0, src@gotoff_hi(, %s0)
# CHECK-NEXT: ld1b.zx %s0, (%s0, %s15)
# CHECK-OBJ: 0 R_VE_PC_LO32 _GLOBAL_OFFSET_TABLE_
# CHECK-OBJ-NEXT: 18 R_VE_PC_HI32 _GLOBAL_OFFSET_TABLE_
# CHECK-OBJ-NEXT: 20 R_VE_GOTOFF_LO32 src
# CHECK-OBJ-NEXT: 30 R_VE_GOTOFF_HI32 src