56 lines · plain
1# RUN: rm -rf %t && mkdir -p %t2# RUN: llvm-mc -triple=mips64el-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_N64R6.o %s3# RUN: llc -mtriple=mips64el-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll4# 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.o5 6# RUN: llvm-mc -triple=mips64-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_N64R6.o %s7# RUN: llc -mtriple=mips64-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll8# 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.o9 10 .text11 .abicalls12 .nan 200813 .text14 .set nomicromips15 .set nomips1616 .set noreorder17 .set nomacro18 .set noat19 20 .align 321 .globl bar22 .type bar,@function23 24bar:25# Test R_MIPS_PC18_S3 relocation.26# rtdyld-check: decode_operand(R_MIPS_PC18_S3, 1)[20:0] = (foo - R_MIPS_PC18_S3)[20:0]27R_MIPS_PC18_S3:28 ldpc $6,foo29 30# Test R_MIPS_PC19_S2 relocation.31# rtdyld-check: decode_operand(R_MIPS_PC19_S2, 1)[20:0] = (foo - R_MIPS_PC19_S2)[20:0]32R_MIPS_PC19_S2:33 lwpc $6,foo34 35# Test R_MIPS_PC21_S2 relocation.36# rtdyld-check: decode_operand(R_MIPS_PC21_S2, 1)[22:0] = (foo - next_pc(R_MIPS_PC21_S2) + 0x04)[22:0]37R_MIPS_PC21_S2:38 bnezc $5,foo39 40# Test R_MIPS_PC26_S2 relocation.41# rtdyld-check: decode_operand(R_MIPS_PC26_S2, 0)[27:0] = (foo - next_pc(R_MIPS_PC26_S2) + 0x04)[27:0]42R_MIPS_PC26_S2:43 balc foo44 45# Test R_MIPS_PCHI16 relocation.46# rtdyld-check: decode_operand(R_MIPS_PCHI16, 1)[15:0] = (foo - R_MIPS_PCHI16 + 0x8000)[31:16]47R_MIPS_PCHI16:48 aluipc $5, %pcrel_hi(foo)49 50# Test R_MIPS_PCLO16 relocation.51# rtdyld-check: decode_operand(R_MIPS_PCLO16, 2)[15:0] = (foo - R_MIPS_PCLO16)[15:0]52R_MIPS_PCLO16:53 addiu $5, $5, %pcrel_lo(foo)54 55 .size bar, .-bar56