aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/Mips/elf-N64.s
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-04-23 16:57:46 -0700
committerStephen Hines <srhines@google.com>2014-04-24 15:53:16 -0700
commit36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch)
treee6cfb69fbbd937f450eeb83bfb83b9da3b01275a /test/MC/Mips/elf-N64.s
parent69a8640022b04415ae9fac62f8ab090601d8f889 (diff)
downloadexternal_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'test/MC/Mips/elf-N64.s')
-rw-r--r--test/MC/Mips/elf-N64.s64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/MC/Mips/elf-N64.s b/test/MC/Mips/elf-N64.s
new file mode 100644
index 0000000..3c01803
--- /dev/null
+++ b/test/MC/Mips/elf-N64.s
@@ -0,0 +1,64 @@
+// RUN: llvm-mc -filetype=obj -triple=mips64el-pc-linux -mcpu=mips64 %s -o - | llvm-readobj -r | FileCheck %s
+
+// Check for N64 relocation production.
+// Check that the appropriate relocations were created.
+
+// CHECK: Relocations [
+// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
+// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
+// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_PAGE/R_MIPS_NONE/R_MIPS_NONE
+// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE
+// CHECK: ]
+
+
+ .text
+ .abicalls
+ .section .mdebug.abi64,"",@progbits
+ .file "/home/espindola/llvm/llvm/test/MC/Mips/elf-N64.ll"
+ .text
+ .globl main
+ .align 3
+ .type main,@function
+ .set nomips16
+ .ent main
+main: # @main
+ .frame $sp,16,$ra
+ .mask 0x00000000,0
+ .fmask 0x90000000,-4
+ .set noreorder
+ .set nomacro
+ .set noat
+# BB#0: # %entry
+ daddiu $sp, $sp, -16
+ sd $ra, 8($sp) # 8-byte Folded Spill
+ sd $gp, 0($sp) # 8-byte Folded Spill
+ lui $1, %hi(%neg(%gp_rel(main)))
+ daddu $1, $1, $25
+ daddiu $gp, $1, %lo(%neg(%gp_rel(main)))
+ ld $1, %got_page($str)($gp)
+ daddiu $4, $1, %got_ofst($str)
+ ld $25, %call16(puts)($gp)
+ jalr $25
+ nop
+ addiu $2, $zero, 0
+ ld $gp, 0($sp) # 8-byte Folded Reload
+ ld $ra, 8($sp) # 8-byte Folded Reload
+ daddiu $sp, $sp, 16
+ jr $ra
+ nop
+ .set at
+ .set macro
+ .set reorder
+ .end main
+$tmp0:
+ .size main, ($tmp0)-main
+
+ .type $str,@object # @str
+ .section .rodata.str1.4,"aMS",@progbits,1
+ .align 2
+$str:
+ .asciz "hello world"
+ .size $str, 12
+
+
+ .text