59 lines
1.7 KiB
ArmAsm
59 lines
1.7 KiB
ArmAsm
# RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s 2>&1 | \
|
|
# RUN: FileCheck %s -check-prefix=MC
|
|
# RUN: llvm-mc -triple=powerpc64le-unknown-unknown -filetype=obj %s | \
|
|
# RUN: llvm-readobj -r - | FileCheck %s -check-prefix=READOBJ
|
|
|
|
# RUN: llvm-mc -triple=powerpc64-unknown-unknown -filetype=obj %s 2>&1 | \
|
|
# RUN: FileCheck %s -check-prefix=MC
|
|
# RUN: llvm-mc -triple=powerpc64-unknown-unknown -filetype=obj %s | \
|
|
# RUN: llvm-readobj -r - | FileCheck %s -check-prefix=READOBJ
|
|
|
|
# This test checks that on Power PC we can correctly convert @pcrel and
|
|
# @got@pcrel into R_PPC64_PCREL34 and R_PPC64_GOT_PCREL34.
|
|
|
|
# MC-NOT: error: invalid variant
|
|
|
|
# READOBJ: 0x0 R_PPC64_PCREL34 locvalue 0x0
|
|
# READOBJ-NEXT: 0x20 R_PPC64_GOT_PCREL34 evalue 0x0
|
|
|
|
.text
|
|
.abiversion 2
|
|
.globl local # -- Begin function local
|
|
.p2align 4
|
|
.type local,@function
|
|
local: # @local
|
|
.Llocal$local:
|
|
.Lfunc_begin0:
|
|
# %bb.0: # %entry
|
|
plwa 3, locvalue@PCREL(0), 1
|
|
blr
|
|
.long 0
|
|
.quad 0
|
|
.Lfunc_end0:
|
|
.size local, .Lfunc_end0-.Lfunc_begin0
|
|
# -- End function
|
|
.globl external # -- Begin function external
|
|
.p2align 4
|
|
.type external,@function
|
|
external: # @external
|
|
.Lexternal$local:
|
|
.Lfunc_begin1:
|
|
# %bb.0: # %entry
|
|
pld 3, evalue@got@pcrel(0), 1
|
|
lwa 3, 0(3)
|
|
blr
|
|
.long 0
|
|
.quad 0
|
|
.Lfunc_end1:
|
|
.size external, .Lfunc_end1-.Lfunc_begin1
|
|
# -- End function
|
|
.type locvalue,@object # @locvalue
|
|
.section .bss,"aw",@nobits
|
|
.globl locvalue
|
|
.p2align 2
|
|
locvalue:
|
|
.Llocvalue$local:
|
|
.long 0 # 0x0
|
|
.size locvalue, 4
|
|
|