summaryrefslogtreecommitdiffstats
path: root/test/MC/Mips/elf-gprel-32-64.s
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-03-28 18:50:26 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-03-28 18:50:26 +0000
commitbe560a3fb7f5d1901583d84e22b10aadb502b4af (patch)
tree93e813e7d922614ca9aec71e88ea38262800846f /test/MC/Mips/elf-gprel-32-64.s
parent904658f8d43c82cc897b26045e1da4aaa6b735c5 (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.s83
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