1#include "macros.inc"
2
3test_suite lsc
4
5
6
7test lsi
8 movi a2, 1
9 wsr a2, cpenable
10
11 movi a2, 1f
12 lsi f0, a2, 0
13 lsi f1, a2, 4
14 lsiu f2, a2, 8
15 movi a3, 1f + 8
16 assert eq, a2, a3
17 rfr a2, f0
18 movi a3, 0x3f800000
19 assert eq, a2, a3
20 rfr a2, f1
21 movi a3, 0x40000000
22 assert eq, a2, a3
23 rfr a2, f2
24 movi a3, 0x40400000
25 assert eq, a2, a3
26.data
27 .align 4
281:
29.float 1, 2, 3
30.text
31test_end
32
33test ssi
34 movi a2, 1f
35 movi a3, 0x40800000
36 wfr f3, a3
37 ssi f3, a2, 0
38 movi a3, 0x40a00000
39 wfr f4, a3
40 ssi f4, a2, 4
41 movi a3, 0x40c00000
42 wfr f5, a3
43 ssiu f5, a2, 8
44 movi a3, 1f + 8
45 assert eq, a2, a3
46 l32i a4, a2, -8
47 movi a3, 0x40800000
48 assert eq, a4, a3
49 l32i a4, a2, -4
50 movi a3, 0x40a00000
51 assert eq, a4, a3
52 l32i a4, a2, 0
53 movi a3, 0x40c00000
54 assert eq, a4, a3
55.data
56 .align 4
571:
58.float 0, 0, 0
59.text
60test_end
61
62test lsx
63 movi a2, 1f
64 movi a3, 0
65 lsx f6, a2, a3
66 movi a3, 4
67 lsx f7, a2, a3
68 movi a3, 8
69 lsxu f8, a2, a3
70 movi a3, 1f + 8
71 assert eq, a2, a3
72 rfr a2, f6
73 movi a3, 0x40e00000
74 assert eq, a2, a3
75 rfr a2, f7
76 movi a3, 0x41000000
77 assert eq, a2, a3
78 rfr a2, f8
79 movi a3, 0x41100000
80 assert eq, a2, a3
81.data
82 .align 4
831:
84.float 7, 8, 9
85.text
86test_end
87
88test ssx
89 movi a2, 1f
90 movi a3, 0
91 movi a4, 0x41200000
92 wfr f9, a4
93 ssx f9, a2, a3
94 movi a3, 4
95 movi a4, 0x41300000
96 wfr f10, a4
97 ssx f10, a2, a3
98 movi a3, 8
99 movi a4, 0x41400000
100 wfr f11, a4
101 ssxu f11, a2, a3
102 movi a3, 1f + 8
103 assert eq, a2, a3
104 l32i a4, a2, -8
105 movi a3, 0x41200000
106 assert eq, a4, a3
107 l32i a4, a2, -4
108 movi a3, 0x41300000
109 assert eq, a4, a3
110 l32i a4, a2, 0
111 movi a3, 0x41400000
112 assert eq, a4, a3
113.data
114 .align 4
1151:
116.float 0, 0, 0
117.text
118test_end
119
120#endif
121
122test_suite_end
123