--- /dev/null
+# sparc64 set insn handling (includes set, setuw, setsw, setx)
+# FIXME: setuw,setsw not tested for yet.
+
+foo:
+ set foo,%g2
+ set -1,%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
--- /dev/null
+#as: -Asparclet
+#objdump: -dr
+#name: sparclet coprocessor registers
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <start>:
+ 0: 81 b0 40 c0 cwrcxt %g1, %ccsr
+ 4: 83 b0 40 c0 cwrcxt %g1, %ccfr
+ 8: 85 b0 40 c0 cwrcxt %g1, %cccrcr
+ c: 87 b0 40 c0 cwrcxt %g1, %ccpr
+ 10: 89 b0 40 c0 cwrcxt %g1, %ccsr2
+ 14: 8b b0 40 c0 cwrcxt %g1, %cccrr
+ 18: 8d b0 40 c0 cwrcxt %g1, %ccrstr
+ 1c: 83 b0 01 00 crdcxt %ccsr, %g1
+ 20: 83 b0 41 00 crdcxt %ccfr, %g1
+ 24: 83 b0 81 00 crdcxt %cccrcr, %g1
+ 28: 83 b0 c1 00 crdcxt %ccpr, %g1
+ 2c: 83 b1 01 00 crdcxt %ccsr2, %g1
+ 30: 83 b1 41 00 crdcxt %cccrr, %g1
+ 34: 83 b1 81 00 crdcxt %ccrstr, %g1