summaryrefslogtreecommitdiffstats
path: root/gas/testsuite/gas/mips/elf-rel8-mips16.s
diff options
context:
space:
mode:
Diffstat (limited to 'gas/testsuite/gas/mips/elf-rel8-mips16.s')
-rw-r--r--gas/testsuite/gas/mips/elf-rel8-mips16.s39
1 files changed, 39 insertions, 0 deletions
diff --git a/gas/testsuite/gas/mips/elf-rel8-mips16.s b/gas/testsuite/gas/mips/elf-rel8-mips16.s
new file mode 100644
index 0000000000..0c9eefe652
--- /dev/null
+++ b/gas/testsuite/gas/mips/elf-rel8-mips16.s
@@ -0,0 +1,39 @@
+ .equ $fprel, 2
+ .set mips16
+
+ .ent foo
+foo:
+ move $2,$gp
+
+ # Test various forms of relocation syntax.
+
+ li $4,(%hi gvar)
+ sll $4,16
+ addiu $4,(%lo (gvar))
+ lw $4,%lo gvar($5)
+
+ # Check that registers aren't confused with $ identifiers.
+
+ lw $4,($fprel)($17)
+
+ # Check various forms of paired relocations.
+
+ lw $4,%got(lvar)($2)
+ sb $5,%lo(lvar)($4)
+
+ lw $4,%got(lvar)($2)
+ addiu $4,%lo(lvar)
+
+ # Check individual relocations.
+
+ lw $3,%call16(gfunc)($2)
+ addiu $4,%call16(gfunc)
+
+ lw $4,%gprel(gvar)($2)
+ sw $4,%gprel(gvar)($2)
+ addiu $4,%gprel(gvar)
+ .align 6
+ .end foo
+
+ .data
+lvar: .word 1,2
OpenPOWER on IntegriCloud