diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-28 18:50:26 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-28 18:50:26 +0000 |
commit | be560a3fb7f5d1901583d84e22b10aadb502b4af (patch) | |
tree | 93e813e7d922614ca9aec71e88ea38262800846f /test/MC/Mips/elf-gprel-32-64.s | |
parent | 904658f8d43c82cc897b26045e1da4aaa6b735c5 (diff) |
Parse .gpdword and convert another llc -filetype=obj test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205028 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips/elf-gprel-32-64.s')
-rw-r--r-- | test/MC/Mips/elf-gprel-32-64.s | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/MC/Mips/elf-gprel-32-64.s b/test/MC/Mips/elf-gprel-32-64.s new file mode 100644 index 000000000000..ae75197a4fc7 --- /dev/null +++ b/test/MC/Mips/elf-gprel-32-64.s @@ -0,0 +1,83 @@ +// RUN: llvm-mc -filetype=obj -triple=mips64el-pc-linux -mcpu=mips64 %s -o - \ +// RUN: | llvm-readobj -r \ +// RUN: | FileCheck %s + +// Check that the appropriate relocations were created. + +// R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +// CHECK: Relocations [ +// CHECK: Section ({{[a-z0-9]+}}) .rela.rodata { +// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE +// CHECK-NEXT: } +// CHECK-NEXT: ] + + .text + .abicalls + .section .mdebug.abi64,"",@progbits + .file "/home/espindola/llvm/llvm/test/MC/Mips/elf-gprel-32-64.ll" + .text + .globl test + .align 3 + .type test,@function + .set nomips16 + .ent test +test: # @test + .frame $sp,0,$ra + .mask 0x00000000,0 + .fmask 0x00000000,0 + .set noreorder + .set nomacro + .set noat +# BB#0: # %entry + lui $1, %hi(%neg(%gp_rel(test))) + daddu $2, $1, $25 + sltiu $1, $4, 4 + dsll $3, $4, 32 + bnez $1, $BB0_2 + nop +$BB0_1: # %sw.default + b $BB0_3 + addiu $2, $zero, -1 +$BB0_2: # %entry + daddiu $1, $2, %lo(%neg(%gp_rel(test))) + dsrl $3, $3, 32 + daddiu $4, $zero, 8 + dmult $3, $4 + mflo $3 + ld $4, %got_page($JTI0_0)($1) + daddu $3, $3, $4 + ld $3, %got_ofst($JTI0_0)($3) + daddu $1, $3, $1 + jr $1 + addiu $2, $zero, 1 +$BB0_3: # %return + jr $ra + nop +$BB0_4: # %sw.bb2 + jr $ra + addiu $2, $zero, 3 +$BB0_5: # %sw.bb5 + jr $ra + addiu $2, $zero, 2 +$BB0_6: # %sw.bb8 + jr $ra + addiu $2, $zero, 7 + .set at + .set macro + .set reorder + .end test +$tmp0: + .size test, ($tmp0)-test + .section .rodata,"a",@progbits + .align 3 +$JTI0_0: + .gpdword ($BB0_3) + .gpdword ($BB0_4) + .gpdword ($BB0_5) + .gpdword ($BB0_6) + + + .text |