• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc -triple=mips64el-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %T/test_ELF_N64R6.o %s
2# RUN: llc -mtriple=mips64el-unknown-linux -mcpu=mips64r6 -filetype=obj -o %T/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
3# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %/T/test_ELF_N64R6.o %T/test_ELF_ExternalFunction_N64R6.o
4
5# RUN: llvm-mc -triple=mips64-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %T/test_ELF_N64R6.o %s
6# RUN: llc -mtriple=mips64-unknown-linux -mcpu=mips64r6 -filetype=obj -o %T/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
7# RUN: llvm-rtdyld -triple=mips64-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %/T/test_ELF_N64R6.o %T/test_ELF_ExternalFunction_N64R6.o
8
9	.text
10	.abicalls
11	.nan	2008
12	.text
13	.set	nomicromips
14	.set	nomips16
15	.set	noreorder
16	.set	nomacro
17	.set	noat
18
19	.align	3
20	.globl	bar
21	.type	bar,@function
22
23bar:
24# Test R_MIPS_PC18_S3 relocation.
25# rtdyld-check:  decode_operand(R_MIPS_PC18_S3, 1)[20:0] = (foo - R_MIPS_PC18_S3)[20:0]
26R_MIPS_PC18_S3:
27	ldpc $6,foo
28
29# Test R_MIPS_PC19_S2 relocation.
30# rtdyld-check:  decode_operand(R_MIPS_PC19_S2, 1)[20:0] = (foo - R_MIPS_PC19_S2)[20:0]
31R_MIPS_PC19_S2:
32	lwpc $6,foo
33
34# Test R_MIPS_PC21_S2 relocation.
35# rtdyld-check:  decode_operand(R_MIPS_PC21_S2, 1)[22:0] = (foo - next_pc(R_MIPS_PC21_S2) + 0x04)[22:0]
36R_MIPS_PC21_S2:
37	bnezc	$5,foo
38
39# Test R_MIPS_PC26_S2 relocation.
40# rtdyld-check:  decode_operand(R_MIPS_PC26_S2, 0)[27:0] = (foo - next_pc(R_MIPS_PC26_S2) + 0x04)[27:0]
41R_MIPS_PC26_S2:
42	balc	foo
43
44# Test R_MIPS_PCHI16 relocation.
45# rtdyld-check:  decode_operand(R_MIPS_PCHI16, 1)[15:0] = (foo - R_MIPS_PCHI16 + 0x8000)[31:16]
46R_MIPS_PCHI16:
47	aluipc $5, %pcrel_hi(foo)
48
49# Test R_MIPS_PCLO16 relocation.
50# rtdyld-check:  decode_operand(R_MIPS_PCLO16, 2)[15:0] = (foo - R_MIPS_PCLO16)[15:0]
51R_MIPS_PCLO16:
52	addiu  $5, $5, %pcrel_lo(foo)
53
54	.size	bar, .-bar
55