summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/sparc/set64.s
diff options
context:
space:
mode:
Diffstat (limited to 'gas/testsuite/gas/sparc/set64.s')
-rw-r--r--gas/testsuite/gas/sparc/set64.s43
1 files changed, 43 insertions, 0 deletions
diff --git a/gas/testsuite/gas/sparc/set64.s b/gas/testsuite/gas/sparc/set64.s
new file mode 100644
index 00000000000..92dc9317485
--- /dev/null
+++ b/gas/testsuite/gas/sparc/set64.s
@@ -0,0 +1,43 @@
+# sparc64 set insn handling (includes set, setuw, setsw, setx)
+# FIXME: setuw,setsw not tested for yet.
+
+foo:
+ set foo,%g2
+ set 0x76543210,%g3
+ set 0,%g4
+ set 65535,%g5
+
+ setx foo,%g1,%g2
+
+ setx -1,%g1,%g3
+ setx 0,%g1,%g3
+ setx 1,%g1,%g3
+ setx 4095,%g1,%g3
+ setx 4096,%g1,%g3
+ setx -4096,%g1,%g3
+ setx -4097,%g1,%g3
+ setx 65535,%g1,%g3
+ setx -65536,%g1,%g3
+
+ setx 2147483647,%g1,%g4
+ setx 2147483648,%g1,%g4
+ setx -2147483648,%g1,%g4
+ setx -2147483649,%g1,%g4
+ setx 4294967295,%g1,%g4
+ setx 4294967296,%g1,%g4
+
+! GAS doesn't handle large base10 numbers yet.
+! setx 9223372036854775807,%g1,%g5
+! setx 9223372036854775808,%g1,%g5
+! setx -9223372036854775808,%g1,%g5
+! setx -9223372036854775809,%g1,%g5
+
+ setx 0x7fffffffffffffff,%g1,%g5
+ setx 0x8000000000000000,%g1,%g5 ! test only hh22 needed
+ setx 0xffffffff00000000,%g1,%g5 ! test only hm10 needed
+ setx 0xffffffff80000000,%g1,%g5 ! test sign-ext of lower 32
+ setx 0xffff0000ffff0000,%g1,%g5 ! test hh22,hi22
+ setx 0xffff000000000001,%g1,%g5 ! test hh22,lo10
+ setx 0x00000001ffff0001,%g1,%g5 ! test hm10,hi22,lo10
+ setx 0x00000001ffff0000,%g1,%g5 ! test hm10,hi22
+ setx 0x0000000100000001,%g1,%g5 ! test hm10,lo10