# RUN: llvm-mc -triple riscv32 -mattr=-relax -filetype obj %s \
# RUN:    | llvm-objdump --no-print-imm-hex -M no-aliases -d -r - \
# RUN:    | FileCheck --check-prefix NORELAX %s
# RUN: llvm-mc -triple riscv32 -mattr=+relax -filetype obj %s \
# RUN:    | llvm-objdump --no-print-imm-hex -M no-aliases -d -r - \
# RUN:    | FileCheck --check-prefix RELAX %s
# RUN: llvm-mc -triple riscv64 -mattr=-relax -filetype obj %s \
# RUN:    | llvm-objdump --no-print-imm-hex -M no-aliases -d -r - \
# RUN:    | FileCheck --check-prefix NORELAX %s
# RUN: llvm-mc -triple riscv64 -mattr=+relax -filetype obj %s \
# RUN:    | llvm-objdump --no-print-imm-hex -M no-aliases -d -r - \
# RUN:    | FileCheck --check-prefix RELAX %s

# Fixups for %pcrel_hi / %pcrel_lo can be evaluated within a section,
# regardless of the fragment containing the target address, provided symbol
# binding allows it.

function:
.Lpcrel_label1:
	auipc	a0, %pcrel_hi(local_function)
	addi	a1, a0, %pcrel_lo(.Lpcrel_label1)
# NORELAX: auipc	a0, 0
# NORELAX-NOT: R_RISCV
# NORELAX: addi	a1, a0, 16
# NORELAX-NOT: R_RISCV

# RELAX: auipc	a0, 0
# RELAX: R_RISCV_PCREL_HI20	local_function
# RELAX: R_RISCV_RELAX	*ABS*
# RELAX: addi	a1, a0, 0
# RELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label1
# RELAX: R_RISCV_RELAX	*ABS*

	.p2align	2   # Cause a new fragment be emitted here
.Lpcrel_label2:
	auipc	a0, %pcrel_hi(local_function)
	addi	a1, a0, %pcrel_lo(.Lpcrel_label2)
# NORELAX: auipc	a0, 0
# NORELAX-NOT: R_RISCV
# NORELAX: addi	a1, a0, 8
# NORELAX-NOT: R_RISCV

# RELAX: auipc	a0, 0
# RELAX: R_RISCV_PCREL_HI20	local_function
# RELAX: R_RISCV_RELAX	*ABS*
# RELAX: addi	a1, a0, 0
# RELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label2
# RELAX: R_RISCV_RELAX	*ABS*

	.type	local_function,@function
local_function:
	ret

# Check we correctly evaluate when fixups are in different fragments

.Lpcrel_label3:
	auipc	a0, %pcrel_hi(local_function)
	.p2align	2   # Cause a new fragment be emitted here
	addi	a1, a0, %pcrel_lo(.Lpcrel_label3)
# NORELAX: auipc	a0, 0
# NORELAX-NOT: R_RISCV
# NORELAX: addi	a1, a0, -4
# NORELAX-NOT: R_RISCV

# RELAX: auipc	a0, 0
# RELAX: R_RISCV_PCREL_HI20	local_function
# RELAX: R_RISCV_RELAX	*ABS*
# RELAX: addi	a1, a0, 0
# RELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label3
# RELAX: R_RISCV_RELAX	*ABS*

# Check handling of symbol binding.

.Lpcrel_label4:
	auipc	a0, %pcrel_hi(global_function)
	addi	a1, a0, %pcrel_lo(.Lpcrel_label4)
# NORELAX: auipc	a0, 0
# NORELAX: R_RISCV_PCREL_HI20	global_function
# NORELAX: addi	a1, a0, 0
# NORELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label4

# RELAX: auipc	a0, 0
# RELAX: R_RISCV_PCREL_HI20	global_function
# RELAX: R_RISCV_RELAX	*ABS*
# RELAX: addi	a1, a0, 0
# RELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label4
# RELAX: R_RISCV_RELAX	*ABS*

.Lpcrel_label5:
	auipc	a0, %pcrel_hi(weak_function)
	addi	a1, a0, %pcrel_lo(.Lpcrel_label5)
# NORELAX: auipc	a0, 0
# NORELAX: R_RISCV_PCREL_HI20	weak_function
# NORELAX: addi	a1, a0, 0
# NORELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label5

# RELAX: auipc	a0, 0
# RELAX: R_RISCV_PCREL_HI20	weak_function
# RELAX: R_RISCV_RELAX	*ABS*
# RELAX: addi	a1, a0, 0
# RELAX: R_RISCV_PCREL_LO12_I	.Lpcrel_label5
# RELAX: R_RISCV_RELAX	*ABS*

	.global	global_function
	.type	global_function,@function
global_function:
	ret

	.weak	weak_function
	.type	weak_function,@function
weak_function:
	ret
