1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/CodeGen/VE/symbol_relocation.ll
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

31 lines
908 B
LLVM

; RUN: llc -filetype=obj -mtriple=ve -o - %s | llvm-objdump - -d -r \
; RUN: | FileCheck %s
; RUN: llc -filetype=obj -mtriple=ve -relocation-model=pic -o - %s \
; RUN: | llvm-objdump - -d -r | FileCheck %s -check-prefix=PIC
; CHECK: lea %s0, 0
; CHECK-NEXT: R_VE_LO32 foo
; CHECK-NEXT: and %s0, %s0, (32)0
; CHECK-NEXT: lea.sl %s12, (, %s0)
; CHECK-NEXT: R_VE_HI32 foo
; PIC: lea %s15, (-24)
; PIC-NEXT: R_VE_PC_LO32 _GLOBAL_OFFSET_TABLE_
; PIC-NEXT: and %s15, %s15, (32)0
; PIC-NEXT: sic %s16
; PIC-NEXT: lea.sl %s15, (%s16, %s15)
; PIC-NEXT: R_VE_PC_HI32 _GLOBAL_OFFSET_TABLE_
; PIC-NEXT: lea %s12, (-24)
; PIC-NEXT: R_VE_PLT_LO32 foo
; PIC-NEXT: and %s12, %s12, (32)0
; PIC-NEXT: sic %s16
; PIC-NEXT: lea.sl %s12, (%s16, %s12)
; PIC-NEXT: R_VE_PLT_HI32 foo
define i32 @main() {
entry:
%call = call i32 @foo()
ret i32 %call
}
declare i32 @foo()