xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/mips/r6-fpu.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1# mips r6 fpu test for FMADD/FMSUB etc.
2# mach:  mips64r6
3# as:    -mabi=eabi
4# ld:    -N -Ttext=0x80010000
5# output: *\\npass\\n
6
7  .include "testutils.inc"
8  .include "utils-r6.inc"
9
10  setup
11
12  .set noreorder
13
14  .ent DIAG
15DIAG:
16
17  writemsg "[1] Test qNaN format is 754-2008"
18  li $4, 0x0
19  li $5, 0x0
20  li $6, 0x7fc00000
21  mtc1 $4, $f2
22  mtc1 $5, $f4
23  div.s $f6, $f2, $f4
24  mfc1 $8, $f6
25  fp_assert $6, $8
26
27  writemsg "[2] Test maddf.s"
28  r6ck_3s maddf.s, 0x0, 0x0, 0x0, 0x0
29  r6ck_3s maddf.s, 0x3f800000, 0x3f800000, 0x3f800000, 0x40000000
30  r6ck_3s maddf.s, 0xc0b1f5c3, 0x40490fd0, 0x402df854, 0x403e9f5d
31
32  writemsg "[3] Test maddf.d"
33  r6ck_3d maddf.d, 0x0, 0x0, 0x0, 0x0
34  r6ck_3d maddf.d, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x4000000000000000
35  r6ck_3d maddf.d, 0xc0163eb851eb851f, 0x400921f9f01b866e, 0x4005bf0a8b24919b,  0x4007d3ebc14f6cee
36
37  writemsg "[4] Test msubf.s"
38  r6ck_3s msubf.s, 0x0, 0x0, 0x0, 0x0
39  r6ck_3s msubf.s, 0x3f800000, 0x3f800000, 0x3f800000, 0x0
40  r6ck_3s msubf.s, 0xc0b1f5c3, 0x40490fd0, 0x402df854, 0xc1619d9a
41
42  writemsg "[5] Test msubf.d"
43  r6ck_3d msubf.d, 0x0, 0x0, 0x0, 0x0
44  r6ck_3d msubf.d, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
45  r6ck_3d msubf.d, 0xc0163eb851eb851f, 0x400921f9f01b866e, 0x4005bf0a8b24919b,  0xc02c33b3423f605b
46
47  writemsg "[6] Test CMP.af.s"
48  r6ck_3s cmp.af.s, 0x0, 0x3f800000, 0x3f800000, 0x0
49  r6ck_3s cmp.af.s, 0x0, 0x00000000, 0x3f800000, 0x0
50
51  writemsg "[7] Test CMP.af.d"
52  r6ck_3d cmp.af.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
53  r6ck_3d cmp.af.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0x0
54
55  writemsg "[8] Test CMP.eq.s"
56  r6ck_3s cmp.eq.s, 0x0, 0x3f800000, 0x3f800000, 0xffffffff
57  r6ck_3s cmp.eq.s, 0x0, 0x00000000, 0x3f800000, 0x0
58  r6ck_3s cmp.eq.s, 0x0, 0x80000000, 0x00000000, 0xffffffff
59  r6ck_3s cmp.eq.s, 0x0, 0x7fc00000, 0x7fc00000, 0x0
60  r6ck_3s cmp.eq.s, 0x0, 0x7fc00000, 0xffc00000, 0x0
61  r6ck_3s cmp.eq.s, 0x0, 0x7fa00000, 0x7fa00000, 0x0
62  r6ck_3s cmp.eq.s, 0x0, 0x7fa00000, 0x7fc00000, 0x0
63  r6ck_3s cmp.eq.s, 0x0, 0x7f800000, 0x7f800000, 0xffffffff
64  r6ck_3s cmp.eq.s, 0x0, 0xff800000, 0xff800000, 0xffffffff
65
66  writemsg "[9] Test CMP.eq.d"
67  r6ck_3d cmp.eq.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
68  r6ck_3d cmp.eq.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0x0
69  r6ck_3d cmp.eq.d, 0x0, 0x8000000000000000, 0x0000000000000000, 0xffffffffffffffff
70  r6ck_3d cmp.eq.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0x0
71  r6ck_3d cmp.eq.d, 0x0, 0x7ff8000000000000, 0xffc0000000000000, 0x0
72  r6ck_3d cmp.eq.d, 0x0, 0x7fa0000000000000, 0x7fa0000000000000, 0xffffffffffffffff
73  r6ck_3d cmp.eq.d, 0x0, 0x7fa0000000000000, 0x7ff8000000000000, 0x0
74  r6ck_3d cmp.eq.d, 0x0, 0x7ff0000000000000, 0x7ff0000000000000, 0xffffffffffffffff
75  r6ck_3d cmp.eq.d, 0x0, 0xfff0000000000000, 0xfff0000000000000, 0xffffffffffffffff
76
77  writemsg "[10] Test CMP.ne.s"
78  r6ck_3s cmp.ne.s, 0x0, 0x3f800000, 0x3f800000, 0x0
79  r6ck_3s cmp.ne.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
80  r6ck_3s cmp.ne.s, 0x0, 0x80000000, 0x00000000, 0x0
81  r6ck_3s cmp.ne.s, 0x0, 0x7fc00000, 0x7fc00000, 0x0
82  r6ck_3s cmp.ne.s, 0x0, 0x7fc00000, 0xffc00000, 0x0
83  r6ck_3s cmp.ne.s, 0x0, 0x7fa00000, 0x7fa00000, 0x0
84  r6ck_3s cmp.ne.s, 0x0, 0x7fa00000, 0x7fc00000, 0x0
85  r6ck_3s cmp.ne.s, 0x0, 0x7f800000, 0x7f800000, 0x0
86  r6ck_3s cmp.ne.s, 0x0, 0xff800000, 0xff800000, 0x0
87
88  writemsg "[11] Test CMP.ne.d"
89  r6ck_3d cmp.ne.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
90  r6ck_3d cmp.ne.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
91  r6ck_3d cmp.ne.d, 0x0, 0x8000000000000000, 0x0000000000000000, 0x0
92  r6ck_3d cmp.ne.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0x0
93  r6ck_3d cmp.ne.d, 0x0, 0x7ff8000000000000, 0xffc0000000000000, 0x0
94  r6ck_3d cmp.ne.d, 0x0, 0x7fa0000000000000, 0x7fa0000000000000, 0x0
95  r6ck_3d cmp.ne.d, 0x0, 0x7fa0000000000000, 0x7ff8000000000000, 0x0
96  r6ck_3d cmp.ne.d, 0x0, 0x7ff0000000000000, 0x7ff0000000000000, 0x0
97  r6ck_3d cmp.ne.d, 0x0, 0xfff0000000000000, 0xfff0000000000000, 0x0
98  r6ck_3d cmp.ne.d, 0x0, 0xab19546120965720, 0x92452014f194abc3, 0xffffffffffffffff
99
100  writemsg "[12] Test CMP.lt.s"
101  r6ck_3s cmp.lt.s, 0x0, 0x3f800000, 0x3f800000, 0x0
102  r6ck_3s cmp.lt.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
103  r6ck_3s cmp.lt.s, 0x0, 0xbf800000, 0x3f800000, 0xffffffff
104  r6ck_3s cmp.lt.s, 0x0, 0x3f800000, 0xbf800000, 0x0
105  r6ck_3s cmp.lt.s, 0x0, 0xff800000, 0xbf800000, 0xffffffff
106  r6ck_3s cmp.lt.s, 0x0, 0xbf800000, 0x7f800000, 0xffffffff
107  r6ck_3s cmp.lt.s, 0x0, 0xbf800000, 0xff800000, 0x0
108  r6ck_3s cmp.lt.s, 0x0, 0x7f800000, 0xbf800000, 0x0
109
110  writemsg "[13] Test CMP.lt.d"
111  r6ck_3d cmp.lt.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
112  r6ck_3d cmp.lt.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
113  r6ck_3d cmp.lt.d, 0x0, 0xbff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
114  r6ck_3d cmp.lt.d, 0x0, 0x3ff0000000000000, 0xbff0000000000000, 0x0
115  r6ck_3d cmp.lt.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xffffffffffffffff
116  r6ck_3d cmp.lt.d, 0x0, 0xbff0000000000000, 0x7ff0000000000000, 0xffffffffffffffff
117  r6ck_3d cmp.lt.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0x0
118  r6ck_3d cmp.lt.d, 0x0, 0x7ff0000000000000, 0xbff0000000000000, 0x0
119
120  writemsg "[14] Test CMP.le.s"
121  r6ck_3s cmp.le.s, 0x0, 0x3f800000, 0x3f800000, 0xffffffff
122  r6ck_3s cmp.le.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
123  r6ck_3s cmp.le.s, 0x0, 0xbf800000, 0x3f800000, 0xffffffff
124  r6ck_3s cmp.le.s, 0x0, 0x3f800000, 0xbf800000, 0x0
125  r6ck_3s cmp.le.s, 0x0, 0xff800000, 0xbf800000, 0xffffffff
126  r6ck_3s cmp.le.s, 0x0, 0xbf800000, 0x7f800000, 0xffffffff
127  r6ck_3s cmp.le.s, 0x0, 0xbf800000, 0xff800000, 0x0
128  r6ck_3s cmp.le.s, 0x0, 0x7f800000, 0xbf800000, 0x0
129
130  writemsg "[15] Test CMP.le.d"
131  r6ck_3d cmp.le.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
132  r6ck_3d cmp.le.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
133  r6ck_3d cmp.le.d, 0x0, 0xbff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
134  r6ck_3d cmp.le.d, 0x0, 0x3ff0000000000000, 0xbff0000000000000, 0x0
135  r6ck_3d cmp.le.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xffffffffffffffff
136  r6ck_3d cmp.le.d, 0x0, 0xbff0000000000000, 0x7ff0000000000000, 0xffffffffffffffff
137  r6ck_3d cmp.le.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0x0
138  r6ck_3d cmp.le.d, 0x0, 0x7ff0000000000000, 0xbff0000000000000, 0x0
139
140  writemsg "[16] Test CMP.un.s"
141  r6ck_3s cmp.un.s, 0x0, 0x3f800000, 0x3f800000, 0x0
142  r6ck_3s cmp.un.s, 0x0, 0x3f800000, 0xbf800000, 0x0
143  r6ck_3s cmp.un.s, 0x0, 0x3f800000, 0x7fc00000, 0xffffffff
144  r6ck_3s cmp.un.s, 0x0, 0x7fc01234, 0x7fc00000, 0xffffffff
145  r6ck_3s cmp.un.s, 0x0, 0x7fc00000, 0x7fc00000, 0xffffffff
146  r6ck_3s cmp.un.s, 0x0, 0x3f800000, 0xff800000, 0x0
147  r6ck_3s cmp.un.s, 0x0, 0x3f800000, 0x7f800000, 0x0
148
149  writemsg "[17] Test CMP.un.d"
150  r6ck_3d cmp.un.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
151  r6ck_3d cmp.un.d, 0x0, 0x3ff0000000000000, 0xbff0000000000000, 0x0
152  r6ck_3d cmp.un.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
153  r6ck_3d cmp.un.d, 0x0, 0x7fc0123400000000, 0x7ff8000000000000, 0xffffffffffffffff
154  r6ck_3d cmp.un.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0xffffffffffffffff
155  r6ck_3d cmp.un.d, 0x0, 0x3ff0000000000000, 0xfff0000000000000, 0x0
156  r6ck_3d cmp.un.d, 0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x0
157
158  writemsg "[18] Test CMP.or.s"
159  r6ck_3s cmp.or.s, 0x0, 0x3f800000, 0x3f800000, 0xffffffff
160  r6ck_3s cmp.or.s, 0x0, 0xbf800000, 0x3f800000, 0xffffffff
161  r6ck_3s cmp.or.s, 0x0, 0x3f800000, 0x7fc00000, 0x0
162  r6ck_3s cmp.or.s, 0x0, 0x7fc00000, 0x3f800000, 0x0
163  r6ck_3s cmp.or.s, 0x0, 0xffc00000, 0x3f800000, 0x0
164  r6ck_3s cmp.or.s, 0x0, 0x7fc01234, 0x7fc00000, 0x0
165  r6ck_3s cmp.or.s, 0x0, 0xff800000, 0x00000000, 0xffffffff
166  r6ck_3s cmp.or.s, 0x0, 0x00000000, 0x7f800000, 0xffffffff
167  r6ck_3s cmp.or.s, 0x0, 0x00000000, 0xff800000, 0xffffffff
168  r6ck_3s cmp.or.s, 0x0, 0x7f800000, 0x00000000, 0xffffffff
169  r6ck_3s cmp.or.s, 0x0, 0x7f800000, 0x00000000, 0xffffffff
170
171  writemsg "[19] Test CMP.or.d"
172  r6ck_3d cmp.or.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
173  r6ck_3d cmp.or.d, 0x0, 0xbff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
174  r6ck_3d cmp.or.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0x0
175  r6ck_3d cmp.or.d, 0x0, 0x7ff8000000000000, 0x3ff0000000000000, 0x0
176  r6ck_3d cmp.or.d, 0x0, 0xfff8000000000000, 0x3ff0000000000000, 0x0
177  r6ck_3d cmp.or.d, 0x0, 0x7ff8123492134352, 0x7ff8000000000000, 0x0
178  r6ck_3d cmp.or.d, 0x0, 0xfff0000000000000, 0x0000000000000000, 0xffffffffffffffff
179  r6ck_3d cmp.or.d, 0x0, 0x0000000000000000, 0x7ff0000000000000, 0xffffffffffffffff
180  r6ck_3d cmp.or.d, 0x0, 0x0000000000000000, 0xfff0000000000000, 0xffffffffffffffff
181  r6ck_3d cmp.or.d, 0x0, 0x7ff0000000000000, 0x0000000000000000, 0xffffffffffffffff
182  r6ck_3d cmp.or.d, 0x0, 0x7ff0000000000000, 0x0000000000000000, 0xffffffffffffffff
183
184  writemsg "[20] Test CMP.ueq.s"
185  r6ck_3s cmp.ueq.s, 0x0, 0x3f800000, 0x00000000, 0x0
186  r6ck_3s cmp.ueq.s, 0x0, 0x3f800000, 0x7fc00000, 0xffffffff
187  r6ck_3s cmp.ueq.s, 0x0, 0x7fc00000, 0x7fc00000, 0xffffffff
188  r6ck_3s cmp.ueq.s, 0x0, 0x3f800000, 0x3f800000, 0xffffffff
189  r6ck_3s cmp.ueq.s, 0x0, 0x00000000, 0x3f800000, 0x0
190  r6ck_3s cmp.ueq.s, 0x0, 0x80000000, 0x00000000, 0xffffffff
191  r6ck_3s cmp.ueq.s, 0x0, 0x7f800000, 0x7fc00000, 0xffffffff
192  r6ck_3s cmp.ueq.s, 0x0, 0xff800000, 0xff800000, 0xffffffff
193
194  writemsg "[21] Test CMP.ueq.d"
195  r6ck_3d cmp.ueq.d, 0x0, 0x3ff0000000000000, 0x0000000000000000, 0x0
196  r6ck_3d cmp.ueq.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
197  r6ck_3d cmp.ueq.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0xffffffffffffffff
198  r6ck_3d cmp.ueq.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
199  r6ck_3d cmp.ueq.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0x0
200  r6ck_3d cmp.ueq.d, 0x0, 0x8000000000000000, 0x0000000000000000, 0xffffffffffffffff
201  r6ck_3d cmp.ueq.d, 0x0, 0x7ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
202  r6ck_3d cmp.ueq.d, 0x0, 0xfff0000000000000, 0xfff0000000000000, 0xffffffffffffffff
203
204  writemsg "[22] Test CMP.une.s"
205  r6ck_3s cmp.une.s, 0x0, 0x3f800000, 0x3f800000, 0x0
206  r6ck_3s cmp.une.s, 0x0, 0x3f800000, 0x7fc00000, 0xffffffff
207  r6ck_3s cmp.une.s, 0x0, 0x7fc00000, 0x7fc00000, 0xffffffff
208  r6ck_3s cmp.une.s, 0x0, 0x3f800000, 0x3f800000, 0x0
209  r6ck_3s cmp.une.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
210  r6ck_3s cmp.une.s, 0x0, 0x80000000, 0x00000000, 0x0
211  r6ck_3s cmp.une.s, 0x0, 0x7f800000, 0x7fc00000, 0xffffffff
212  r6ck_3s cmp.une.s, 0x0, 0xff800000, 0xff800000, 0x0
213
214  writemsg "[23] Test CMP.une.d"
215  r6ck_3d cmp.une.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
216  r6ck_3d cmp.une.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
217  r6ck_3d cmp.une.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0xffffffffffffffff
218  r6ck_3d cmp.une.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
219  r6ck_3d cmp.une.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
220  r6ck_3d cmp.une.d, 0x0, 0x8000000000000000, 0x0000000000000000, 0x0
221  r6ck_3d cmp.une.d, 0x0, 0x7ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
222  r6ck_3d cmp.une.d, 0x0, 0xfff0000000000000, 0xfff0000000000000, 0x0
223
224  writemsg "[24] Test CMP.ult.s"
225  r6ck_3s cmp.ult.s, 0x0, 0x3f800000, 0x3f800000, 0x0
226  r6ck_3s cmp.ult.s, 0x0, 0x3f800000, 0x7fc00000, 0xffffffff
227  r6ck_3s cmp.ult.s, 0x0, 0x7fc00000, 0x7fc00000, 0xffffffff
228  r6ck_3s cmp.ult.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
229  r6ck_3s cmp.ult.s, 0x0, 0xbf800000, 0x3f800000, 0xffffffff
230  r6ck_3s cmp.ult.s, 0x0, 0x3f800000, 0xbf800000, 0x0
231
232  writemsg "[25] Test CMP.ult.d"
233  r6ck_3d cmp.ult.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0x0
234  r6ck_3d cmp.ult.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
235  r6ck_3d cmp.ult.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0xffffffffffffffff
236  r6ck_3d cmp.ult.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
237  r6ck_3d cmp.ult.d, 0x0, 0xbff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
238  r6ck_3d cmp.ult.d, 0x0, 0x3ff0000000000000, 0xbff0000000000000, 0x0
239
240  writemsg "[26] Test CMP.ule.s"
241  r6ck_3s cmp.ule.s, 0x0, 0x3f800000, 0x7fc00000, 0xffffffff
242  r6ck_3s cmp.ule.s, 0x0, 0x7fc00000, 0x7fc00000, 0xffffffff
243  r6ck_3s cmp.ule.s, 0x0, 0x3f800000, 0x3f800000, 0xffffffff
244  r6ck_3s cmp.ule.s, 0x0, 0x00000000, 0x3f800000, 0xffffffff
245  r6ck_3s cmp.ule.s, 0x0, 0xbf800000, 0x3f800000, 0xffffffff
246  r6ck_3s cmp.ule.s, 0x0, 0x3f800000, 0xbf800000, 0x0
247  r6ck_3s cmp.ule.s, 0x0, 0x3f800000, 0xff800000, 0x0
248
249  writemsg "[27] Test CMP.ule.d"
250  r6ck_3d cmp.ule.d, 0x0, 0x3ff0000000000000, 0x7ff8000000000000, 0xffffffffffffffff
251  r6ck_3d cmp.ule.d, 0x0, 0x7ff8000000000000, 0x7ff8000000000000, 0xffffffffffffffff
252  r6ck_3d cmp.ule.d, 0x0, 0x3ff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
253  r6ck_3d cmp.ule.d, 0x0, 0x0000000000000000, 0x3ff0000000000000, 0xffffffffffffffff
254  r6ck_3d cmp.ule.d, 0x0, 0xbff0000000000000, 0x3ff0000000000000, 0xffffffffffffffff
255  r6ck_3d cmp.ule.d, 0x0, 0x3ff0000000000000, 0xbff0000000000000, 0x0
256  r6ck_3d cmp.ule.d, 0x0, 0x3ff0000000000000, 0xfff0000000000000, 0x0
257
258  writemsg "[28] Test rint.s"
259  r6ck_2s rint.s, 0x0, 0x3fbf10cb, 0x3f800000
260  r6ck_2s rint.s, 0x0, 0xb9011423, 0x0
261  r6ck_2s rint.s, 0x0, 0x43fa4687, 0x43fa8000
262  r6ck_2s rint.s, 0x0, 0x41380000, 0x41400000
263  r6ck_2s rint.s, 0x0, 0x3ff33333, 0x40000000
264
265  writemsg "[29] Test rint.d"
266  r6ck_2d rint.d, 0x0, 0x3ff1f9a6b50b0f28, 0x3ff0000000000000
267  r6ck_2d rint.d, 0x0, 0xbf543bf727136a40, 0x0
268  r6ck_2d rint.d, 0x0, 0x407f48d0e5604189, 0x407f500000000000
269  r6ck_2d rint.d, 0x0, 0x5b7c2d43b93b0a8c, 0x5b7c2d43b93b0a8c,
270
271  writemsg "[30] Test class.s"
272  r6ck_2s class.s, 0x0, 0x7f800010, 0x1
273  r6ck_2s class.s, 0x0, 0x7fc00000, 0x2
274  r6ck_2s class.s, 0x0, 0xff800000, 0x4
275  r6ck_2s class.s, 0x0, 0xbf800000, 0x8
276  r6ck_2s class.s, 0x0, 0x80000001, 0x10
277  r6ck_2s class.s, 0x0, 0x80000000, 0x20
278  r6ck_2s class.s, 0x0, 0x7f800000, 0x40
279  r6ck_2s class.s, 0x0, 0x3f800000, 0x80
280  r6ck_2s class.s, 0x0, 0x00000001, 0x100
281  r6ck_2s class.s, 0x0, 0x00000000, 0x200
282
283  writemsg "[31] Test class.d"
284  r6ck_2d class.d, 0x0, 0x7ff0000000000010, 0x1
285  r6ck_2d class.d, 0x0, 0x7ff8000000000000, 0x2
286  r6ck_2d class.d, 0x0, 0xfff0000000000000, 0x4
287  r6ck_2d class.d, 0x0, 0xbff0000000000000, 0x8
288  r6ck_2d class.d, 0x0, 0x8000000000000001, 0x10
289  r6ck_2d class.d, 0x0, 0x8000000000000000, 0x20
290  r6ck_2d class.d, 0x0, 0x7ff0000000000000, 0x40
291  r6ck_2d class.d, 0x0, 0x3ff0000000000000, 0x80
292  r6ck_2d class.d, 0x0, 0x0000000000000001, 0x100
293  r6ck_2d class.d, 0x0, 0x0000000000000000, 0x200
294
295  writemsg "[32] Test min.s"
296  r6ck_3s min.s, 0x0, 0x3f800000, 0x0, 0x0
297  r6ck_3s min.s, 0x0, 0x0, 0x3f800000, 0x0
298  r6ck_3s min.s, 0x0, 0x7f800000, 0x3f800000, 0x3f800000
299  r6ck_3s min.s, 0x0, 0x3f800000, 0x7f800000, 0x3f800000
300  r6ck_3s min.s, 0x0, 0xff800000, 0xbf800000, 0xff800000
301  r6ck_3s min.s, 0x0, 0xbf800000, 0xff800000, 0xff800000
302  r6ck_3s min.s, 0x0, 0x7fffffff, 0x3f800000, 0x3f800000
303  r6ck_3s min.s, 0x0, 0x3f800000, 0x7fffffff, 0x3f800000
304
305  writemsg "[33] Test min.d"
306  r6ck_3d min.d, 0x0, 0x3ff0000000000000, 0x0, 0x0
307  r6ck_3d min.d, 0x0, 0x0, 0x3ff0000000000000, 0x0
308  r6ck_3d min.d, 0x0, 0x7ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000
309  r6ck_3d min.d, 0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x3ff0000000000000
310  r6ck_3d min.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xfff0000000000000
311  r6ck_3d min.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0xfff0000000000000
312  r6ck_3d min.d, 0x0, 0x7fffffffffffffff, 0x3ff0000000000000, 0x3ff0000000000000
313  r6ck_3d min.d, 0x0, 0x3ff0000000000000, 0x7fffffffffffffff, 0x3ff0000000000000
314
315  writemsg "[34] Test max.s"
316  r6ck_3s max.s, 0x0, 0x3f800000, 0x0, 0x3f800000
317  r6ck_3s max.s, 0x0, 0x0, 0x3f800000, 0x3f800000
318  r6ck_3s max.s, 0x0, 0x7f800000, 0x3f800000, 0x7f800000
319  r6ck_3s max.s, 0x0, 0x3f800000, 0x7f800000, 0x7f800000
320  r6ck_3s max.s, 0x0, 0xff800000, 0xbf800000, 0xbf800000
321  r6ck_3s max.s, 0x0, 0xbf800000, 0xff800000, 0xbf800000
322  r6ck_3s max.s, 0x0, 0x7fffffff, 0x3f800000, 0x3f800000
323  r6ck_3s max.s, 0x0, 0x3f800000, 0x7fffffff, 0x3f800000
324
325  writemsg "[35] Test max.d"
326  r6ck_3d max.d, 0x0, 0x3ff0000000000000, 0x0, 0x3ff0000000000000
327  r6ck_3d max.d, 0x0, 0x0, 0x3ff0000000000000, 0x3ff0000000000000
328  r6ck_3d max.d, 0x0, 0x7ff0000000000000, 0x3ff0000000000000, 0x7ff0000000000000
329  r6ck_3d max.d, 0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000
330  r6ck_3d max.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xbff0000000000000
331  r6ck_3d max.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0xbff0000000000000
332  r6ck_3d max.d, 0x0, 0x7fffffffffffffff, 0x3ff0000000000000, 0x3ff0000000000000
333  r6ck_3d max.d, 0x0, 0x3ff0000000000000, 0x7fffffffffffffff, 0x3ff0000000000000
334
335  writemsg "[36] Test mina.s"
336  r6ck_3s mina.s, 0x0, 0x3f800000, 0x0, 0x0
337  r6ck_3s mina.s, 0x0, 0x0, 0x3f800000, 0x0
338  r6ck_3s mina.s, 0x0, 0x7f800000, 0x3f800000, 0x3f800000
339  r6ck_3s mina.s, 0x0, 0x3f800000, 0x7f800000, 0x3f800000
340  r6ck_3s mina.s, 0x0, 0xff800000, 0xbf800000, 0xbf800000
341  r6ck_3s mina.s, 0x0, 0xbf800000, 0xff800000, 0xbf800000
342  r6ck_3s mina.s, 0x0, 0x7fffffff, 0x3f800000, 0x3f800000
343  r6ck_3s mina.s, 0x0, 0x3f800000, 0x7fffffff, 0x3f800000
344  r6ck_3s mina.s, 0x0, 0xc0000000, 0x3f800000, 0x3f800000
345  r6ck_3s mina.s, 0x0, 0x3f800000, 0xc0000000, 0x3f800000
346
347  writemsg "[37] Test mina.d"
348  r6ck_3d mina.d, 0x0, 0x3ff0000000000000, 0x0, 0x0
349  r6ck_3d mina.d, 0x0, 0x0, 0x3ff0000000000000, 0x0
350  r6ck_3d mina.d, 0x0, 0x7ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000
351  r6ck_3d mina.d, 0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x3ff0000000000000
352  r6ck_3d mina.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xbff0000000000000
353  r6ck_3d mina.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0xbff0000000000000
354  r6ck_3d mina.d, 0x0, 0x7fffffffffffffff, 0x3ff0000000000000, 0x3ff0000000000000
355  r6ck_3d mina.d, 0x0, 0x3ff0000000000000, 0x7fffffffffffffff, 0x3ff0000000000000
356  r6ck_3d mina.d, 0x0, 0xc000000000000000, 0x3ff0000000000000, 0x3ff0000000000000
357  r6ck_3d mina.d, 0x0, 0x3ff0000000000000, 0xc000000000000000, 0x3ff0000000000000
358
359  writemsg "[38] Test maxa.s"
360  r6ck_3s maxa.s, 0x0, 0x3f800000, 0x0, 0x3f800000
361  r6ck_3s maxa.s, 0x0, 0x0, 0x3f800000, 0x3f800000
362  r6ck_3s maxa.s, 0x0, 0x7f800000, 0x3f800000, 0x7f800000
363  r6ck_3s maxa.s, 0x0, 0x3f800000, 0x7f800000, 0x7f800000
364  r6ck_3s maxa.s, 0x0, 0xff800000, 0xbf800000, 0xff800000
365  r6ck_3s maxa.s, 0x0, 0xbf800000, 0xff800000, 0xff800000
366  r6ck_3s maxa.s, 0x0, 0x7fffffff, 0x3f800000, 0x3f800000
367  r6ck_3s maxa.s, 0x0, 0x3f800000, 0x7fffffff, 0x3f800000
368  r6ck_3s maxa.s, 0x0, 0xc0000000, 0x3f800000, 0xc0000000
369  r6ck_3s maxa.s, 0x0, 0x3f800000, 0xc0000000, 0xc0000000
370
371  writemsg "[39] Test maxa.d"
372  r6ck_3d maxa.d, 0x0, 0x3ff0000000000000, 0x0, 0x3ff0000000000000
373  r6ck_3d maxa.d, 0x0, 0x0, 0x3ff0000000000000, 0x3ff0000000000000
374  r6ck_3d maxa.d, 0x0, 0x7ff0000000000000, 0x3ff0000000000000, 0x7ff0000000000000
375  r6ck_3d maxa.d, 0x0, 0x3ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000
376  r6ck_3d maxa.d, 0x0, 0xfff0000000000000, 0xbff0000000000000, 0xfff0000000000000
377  r6ck_3d maxa.d, 0x0, 0xbff0000000000000, 0xfff0000000000000, 0xfff0000000000000
378  r6ck_3d maxa.d, 0x0, 0x7fffffffffffffff, 0x3ff0000000000000, 0x3ff0000000000000
379  r6ck_3d maxa.d, 0x0, 0x3ff0000000000000, 0x7fffffffffffffff, 0x3ff0000000000000
380  r6ck_3d maxa.d, 0x0, 0xc000000000000000, 0x3ff0000000000000, 0xc000000000000000
381  r6ck_3d maxa.d, 0x0, 0x3ff0000000000000, 0xc000000000000000, 0xc000000000000000
382
383  writemsg "[40] Test sel.s"
384  r6ck_3s sel.s, 0x0, 0xabcdef12, 0x12345678, 0xabcdef12
385  r6ck_3s sel.s, 0x1, 0xdeadbeef, 0xcafe1234, 0xcafe1234
386  r6ck_3s sel.s, 0xfffffffe, 0xbadcafe0, 0x12345678, 0xbadcafe0
387  r6ck_3s sel.s, 0xffffffff, 0xdeadbeef, 0xcadf00ab, 0xcadf00ab
388
389  writemsg "[41] Test sel.d"
390  r6ck_3d sel.d, 0x0, 0xabcdef123456789, 0x12345678abcdefa, 0xabcdef123456789
391  r6ck_3d sel.d, 0x1, 0xdeadbeef1534567, 0xcafe12340145279, 0xcafe12340145279
392  r6ck_3d sel.d, 0xfffffffffffffffe, 0xbadcafe00efacdab, 0x1234567887654321, 0xbadcafe00efacdab
393  r6ck_3d sel.d, 0xffffffffffffffff, 0xdeadbeeffeebdaed, 0xcadf00abba00fdac, 0xcadf00abba00fdac
394
395  writemsg "[42] Test seleqz.s"
396  r6ck_3s seleqz.s, 0x0, 0x1234abcd, 0x0, 0x1234abcd
397  r6ck_3s seleqz.s, 0x0, 0xabcdef01, 0x1, 0x0
398  r6ck_3s seleqz.s, 0x0, 0xffeebbcc, 0xfffffffe, 0xffeebbcc
399  r6ck_3s seleqz.s, 0x0, 0x12345678, 0xffffffff, 0
400
401  writemsg "[43] Test seleqz.d"
402  r6ck_3d seleqz.d, 0x0, 0x1234abcddcba4321, 0x0, 0x1234abcddcba4321
403  r6ck_3d seleqz.d, 0x0, 0xabcdef0110fedcba, 0x1, 0x0
404  r6ck_3d seleqz.d, 0x0, 0xffeebbccccbbeeff, 0xfffffffffffffffe, 0xffeebbccccbbeeff
405  r6ck_3d seleqz.d, 0x0, 0x1234567887654321, 0xffffffffffffffff, 0x0
406
407  writemsg "[44] Test selnez.s"
408  r6ck_3s selnez.s, 0x0, 0x1234abcd, 0x0, 0x0
409  r6ck_3s selnez.s, 0x0, 0xabcdef01, 0x1, 0xabcdef01
410  r6ck_3s selnez.s, 0x0, 0xffeebbcc, 0xfffffffe, 0x0
411  r6ck_3s selnez.s, 0x0, 0x12345678, 0xffffffff, 0x12345678
412
413  writemsg "[45] Test selnez.d"
414  r6ck_3d selnez.d, 0x0, 0x1234abcddcba4321, 0x0, 0x0
415  r6ck_3d selnez.d, 0x0, 0xabcdef0110fedcba, 0x1, 0xabcdef0110fedcba
416  r6ck_3d selnez.d, 0x0, 0xffeebbccccbbeeff, 0xfffffffffffffffe, 0x0
417  r6ck_3d selnez.d, 0x0, 0x1234567887654321, 0xffffffffffffffff, 0x1234567887654321
418
419  writemsg "[46] Test bc1eqz"
420  li $10, 0x01
421  mtc1 $10, $f2
422  mtc1 $0, $f4
423  bc1eqz $f2, L1
424  nop
425  bc1eqz $f4, L2
426  nop
427  fail
428
429L1:
430  fail
431
432L2:
433  writemsg "[47] Test bc1nez"
434  bc1nez $f4, L3
435  nop
436  bc1nez $f2, L4
437  nop
438  fail
439
440L3:
441  fail
442
443L4:
444  pass
445
446  .end DIAG
447