1 # frv testcase for cmqmachu $GRi,$GRj,$GRk,$CCi,$cond
2 # mach: frv fr500 fr400
4 .include "testutils.inc"
10 set_spr_immed 0x1b1b,cccr
14 set_accg_immed 0,accg0
16 set_accg_immed 0,accg1
18 set_accg_immed 0,accg2
20 set_accg_immed 0,accg3
22 set_fr_iimmed 3,2,fr8 ; multiply small numbers
23 set_fr_iimmed 2,3,fr10
24 set_fr_iimmed 1,2,fr9 ; multiply by 1
25 set_fr_iimmed 2,1,fr11
26 cmqmachu fr8,fr10,acc0,cc0,1
27 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
28 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
29 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
30 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
31 test_accg_immed 0,accg0
33 test_accg_immed 0,accg1
35 test_accg_immed 0,accg2
37 test_accg_immed 0,accg3
40 set_fr_iimmed 0,2,fr8 ; multiply by 0
41 set_fr_iimmed 2,0,fr10
42 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
43 set_fr_iimmed 2,0x3fff,fr11
44 cmqmachu fr8,fr10,acc0,cc0,1
45 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
46 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
47 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
48 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
49 test_accg_immed 0,accg0
51 test_accg_immed 0,accg1
53 test_accg_immed 0,accg2
54 test_acc_limmed 0x0000,0x8000,acc2
55 test_accg_immed 0,accg3
56 test_acc_limmed 0x0000,0x8000,acc3
58 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
59 set_fr_iimmed 2,0x4000,fr10
60 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
61 set_fr_iimmed 2,0x8000,fr11
62 cmqmachu fr8,fr10,acc0,cc0,1
63 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
64 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
65 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
66 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
67 test_accg_immed 0,accg0
68 test_acc_limmed 0x0000,0x8006,acc0
69 test_accg_immed 0,accg1
70 test_acc_limmed 0x0000,0x8006,acc1
71 test_accg_immed 0,accg2
72 test_acc_immed 0x00018000,acc2
73 test_accg_immed 0,accg3
74 test_acc_immed 0x00018000,acc3
76 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
77 set_fr_iimmed 0x7fff,0x7fff,fr10
78 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
79 set_fr_iimmed 0x8000,0x8000,fr11
80 cmqmachu fr8,fr10,acc0,cc4,1
81 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
82 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
83 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
84 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
85 test_accg_immed 0,accg0
86 test_acc_immed 0x3fff8007,acc0
87 test_accg_immed 0,accg1
88 test_acc_immed 0x3fff8007,acc1
89 test_accg_immed 0,accg2
90 test_acc_limmed 0x4001,0x8000,acc2
91 test_accg_immed 0,accg3
92 test_acc_limmed 0x4001,0x8000,acc3
94 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
95 set_fr_iimmed 0xffff,0xffff,fr10
96 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
97 set_fr_iimmed 0xffff,0xffff,fr11
98 cmqmachu fr8,fr10,acc0,cc4,1
99 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
100 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
101 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
102 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
103 test_accg_immed 1,accg0
104 test_acc_limmed 0x3ffd,0x8008,acc0
105 test_accg_immed 1,accg1
106 test_acc_limmed 0x3ffd,0x8008,acc1
107 test_accg_immed 1,accg2
108 test_acc_limmed 0x3fff,0x8001,acc2
109 test_accg_immed 1,accg3
110 test_acc_limmed 0x3fff,0x8001,acc3
112 set_accg_immed 0xff,accg0 ; saturation
113 set_acc_immed 0xffffffff,acc0
114 set_accg_immed 0xff,accg1
115 set_acc_immed 0xffffffff,acc1
116 set_accg_immed 0xff,accg2 ; saturation
117 set_acc_immed 0xffffffff,acc2
118 set_accg_immed 0xff,accg3
119 set_acc_immed 0xffffffff,acc3
120 set_fr_iimmed 1,1,fr8
121 set_fr_iimmed 1,1,fr10
122 set_fr_iimmed 1,1,fr9
123 set_fr_iimmed 1,1,fr11
124 cmqmachu fr8,fr10,acc0,cc4,1
125 test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
126 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
127 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
128 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
129 test_accg_immed 0xff,accg0
130 test_acc_limmed 0xffff,0xffff,acc0
131 test_accg_immed 0xff,accg1
132 test_acc_limmed 0xffff,0xffff,acc1
133 test_accg_immed 0xff,accg2
134 test_acc_limmed 0xffff,0xffff,acc2
135 test_accg_immed 0xff,accg3
136 test_acc_limmed 0xffff,0xffff,acc3
138 set_fr_iimmed 0xffff,0x0000,fr8
139 set_fr_iimmed 0xffff,0xffff,fr10
140 set_fr_iimmed 0x0000,0xffff,fr9
141 set_fr_iimmed 0xffff,0xffff,fr11
142 cmqmachu fr8,fr10,acc0,cc4,1
143 test_spr_bits 0x3c,2,0x9,msr0 ; msr0.sie is set
144 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
145 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
146 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
147 test_accg_immed 0xff,accg0
148 test_acc_limmed 0xffff,0xffff,acc0
149 test_accg_immed 0xff,accg1
150 test_acc_limmed 0xffff,0xffff,acc1
151 test_accg_immed 0xff,accg2
152 test_acc_limmed 0xffff,0xffff,acc2
153 test_accg_immed 0xff,accg3
154 test_acc_limmed 0xffff,0xffff,acc3
158 set_accg_immed 0,accg0
160 set_accg_immed 0,accg1
162 set_accg_immed 0,accg2
164 set_accg_immed 0,accg3
166 set_fr_iimmed 3,2,fr8 ; multiply small numbers
167 set_fr_iimmed 2,3,fr10
168 set_fr_iimmed 1,2,fr9 ; multiply by 1
169 set_fr_iimmed 2,1,fr11
170 cmqmachu fr8,fr10,acc0,cc1,0
171 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
172 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
173 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
174 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
175 test_accg_immed 0,accg0
176 test_acc_immed 6,acc0
177 test_accg_immed 0,accg1
178 test_acc_immed 6,acc1
179 test_accg_immed 0,accg2
180 test_acc_immed 2,acc2
181 test_accg_immed 0,accg3
182 test_acc_immed 2,acc3
184 set_fr_iimmed 0,2,fr8 ; multiply by 0
185 set_fr_iimmed 2,0,fr10
186 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
187 set_fr_iimmed 2,0x3fff,fr11
188 cmqmachu fr8,fr10,acc0,cc1,0
189 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
190 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
191 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
192 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
193 test_accg_immed 0,accg0
194 test_acc_immed 6,acc0
195 test_accg_immed 0,accg1
196 test_acc_immed 6,acc1
197 test_accg_immed 0,accg2
198 test_acc_limmed 0x0000,0x8000,acc2
199 test_accg_immed 0,accg3
200 test_acc_limmed 0x0000,0x8000,acc3
202 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
203 set_fr_iimmed 2,0x4000,fr10
204 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
205 set_fr_iimmed 2,0x8000,fr11
206 cmqmachu fr8,fr10,acc0,cc1,0
207 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
208 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
209 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
210 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
211 test_accg_immed 0,accg0
212 test_acc_limmed 0x0000,0x8006,acc0
213 test_accg_immed 0,accg1
214 test_acc_limmed 0x0000,0x8006,acc1
215 test_accg_immed 0,accg2
216 test_acc_immed 0x00018000,acc2
217 test_accg_immed 0,accg3
218 test_acc_immed 0x00018000,acc3
220 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
221 set_fr_iimmed 0x7fff,0x7fff,fr10
222 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
223 set_fr_iimmed 0x8000,0x8000,fr11
224 cmqmachu fr8,fr10,acc0,cc5,0
225 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
226 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
227 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
228 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
229 test_accg_immed 0,accg0
230 test_acc_immed 0x3fff8007,acc0
231 test_accg_immed 0,accg1
232 test_acc_immed 0x3fff8007,acc1
233 test_accg_immed 0,accg2
234 test_acc_limmed 0x4001,0x8000,acc2
235 test_accg_immed 0,accg3
236 test_acc_limmed 0x4001,0x8000,acc3
238 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
239 set_fr_iimmed 0xffff,0xffff,fr10
240 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
241 set_fr_iimmed 0xffff,0xffff,fr11
242 cmqmachu fr8,fr10,acc0,cc5,0
243 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
244 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
245 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
246 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
247 test_accg_immed 1,accg0
248 test_acc_limmed 0x3ffd,0x8008,acc0
249 test_accg_immed 1,accg1
250 test_acc_limmed 0x3ffd,0x8008,acc1
251 test_accg_immed 1,accg2
252 test_acc_limmed 0x3fff,0x8001,acc2
253 test_accg_immed 1,accg3
254 test_acc_limmed 0x3fff,0x8001,acc3
256 set_accg_immed 0xff,accg0 ; saturation
257 set_acc_immed 0xffffffff,acc0
258 set_accg_immed 0xff,accg1
259 set_acc_immed 0xffffffff,acc1
260 set_accg_immed 0xff,accg2 ; saturation
261 set_acc_immed 0xffffffff,acc2
262 set_accg_immed 0xff,accg3
263 set_acc_immed 0xffffffff,acc3
264 set_fr_iimmed 1,1,fr8
265 set_fr_iimmed 1,1,fr10
266 set_fr_iimmed 1,1,fr9
267 set_fr_iimmed 1,1,fr11
268 cmqmachu fr8,fr10,acc0,cc5,0
269 test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
270 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
271 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
272 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
273 test_accg_immed 0xff,accg0
274 test_acc_limmed 0xffff,0xffff,acc0
275 test_accg_immed 0xff,accg1
276 test_acc_limmed 0xffff,0xffff,acc1
277 test_accg_immed 0xff,accg2
278 test_acc_limmed 0xffff,0xffff,acc2
279 test_accg_immed 0xff,accg3
280 test_acc_limmed 0xffff,0xffff,acc3
282 set_fr_iimmed 0xffff,0x0000,fr8
283 set_fr_iimmed 0xffff,0xffff,fr10
284 set_fr_iimmed 0x0000,0xffff,fr9
285 set_fr_iimmed 0xffff,0xffff,fr11
286 cmqmachu fr8,fr10,acc0,cc5,0
287 test_spr_bits 0x3c,2,0x9,msr0 ; msr0.sie is set
288 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
289 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
290 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
291 test_accg_immed 0xff,accg0
292 test_acc_limmed 0xffff,0xffff,acc0
293 test_accg_immed 0xff,accg1
294 test_acc_limmed 0xffff,0xffff,acc1
295 test_accg_immed 0xff,accg2
296 test_acc_limmed 0xffff,0xffff,acc2
297 test_accg_immed 0xff,accg3
298 test_acc_limmed 0xffff,0xffff,acc3
302 set_accg_immed 0x00000011,accg0
303 set_acc_immed 0x11111111,acc0
304 set_accg_immed 0x00000022,accg1
305 set_acc_immed 0x22222222,acc1
306 set_accg_immed 0x00000033,accg2
307 set_acc_immed 0x33333333,acc2
308 set_accg_immed 0x00000044,accg3
309 set_acc_immed 0x44444444,acc3
310 set_fr_iimmed 3,2,fr8 ; multiply small numbers
311 set_fr_iimmed 2,3,fr10
312 set_fr_iimmed 1,2,fr9 ; multiply by 1
313 set_fr_iimmed 2,1,fr11
314 cmqmachu fr8,fr10,acc0,cc0,0
315 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
316 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
317 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
318 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
319 test_accg_immed 0x00000011,accg0
320 test_acc_immed 0x11111111,acc0
321 test_accg_immed 0x00000022,accg1
322 test_acc_immed 0x22222222,acc1
323 test_accg_immed 0x00000033,accg2
324 test_acc_immed 0x33333333,acc2
325 test_accg_immed 0x00000044,accg3
326 test_acc_immed 0x44444444,acc3
328 set_fr_iimmed 0,2,fr8 ; multiply by 0
329 set_fr_iimmed 2,0,fr10
330 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
331 set_fr_iimmed 2,0x3fff,fr11
332 cmqmachu fr8,fr10,acc0,cc0,0
333 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
334 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
335 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
336 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
337 test_accg_immed 0x00000011,accg0
338 test_acc_immed 0x11111111,acc0
339 test_accg_immed 0x00000022,accg1
340 test_acc_immed 0x22222222,acc1
341 test_accg_immed 0x00000033,accg2
342 test_acc_immed 0x33333333,acc2
343 test_accg_immed 0x00000044,accg3
344 test_acc_immed 0x44444444,acc3
346 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
347 set_fr_iimmed 2,0x4000,fr10
348 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
349 set_fr_iimmed 2,0x8000,fr11
350 cmqmachu fr8,fr10,acc0,cc0,0
351 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
352 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
353 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
354 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
355 test_accg_immed 0x00000011,accg0
356 test_acc_immed 0x11111111,acc0
357 test_accg_immed 0x00000022,accg1
358 test_acc_immed 0x22222222,acc1
359 test_accg_immed 0x00000033,accg2
360 test_acc_immed 0x33333333,acc2
361 test_accg_immed 0x00000044,accg3
362 test_acc_immed 0x44444444,acc3
364 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
365 set_fr_iimmed 0x7fff,0x7fff,fr10
366 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
367 set_fr_iimmed 0x8000,0x8000,fr11
368 cmqmachu fr8,fr10,acc0,cc4,0
369 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
370 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
371 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
372 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
373 test_accg_immed 0x00000011,accg0
374 test_acc_immed 0x11111111,acc0
375 test_accg_immed 0x00000022,accg1
376 test_acc_immed 0x22222222,acc1
377 test_accg_immed 0x00000033,accg2
378 test_acc_immed 0x33333333,acc2
379 test_accg_immed 0x00000044,accg3
380 test_acc_immed 0x44444444,acc3
382 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
383 set_fr_iimmed 0xffff,0xffff,fr10
384 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
385 set_fr_iimmed 0xffff,0xffff,fr11
386 cmqmachu fr8,fr10,acc0,cc4,0
387 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
388 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
389 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
390 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
391 test_accg_immed 0x00000011,accg0
392 test_acc_immed 0x11111111,acc0
393 test_accg_immed 0x00000022,accg1
394 test_acc_immed 0x22222222,acc1
395 test_accg_immed 0x00000033,accg2
396 test_acc_immed 0x33333333,acc2
397 test_accg_immed 0x00000044,accg3
398 test_acc_immed 0x44444444,acc3
400 set_accg_immed 0xff,accg0 ; saturation
401 set_acc_immed 0xffffffff,acc0
402 set_accg_immed 0xff,accg1
403 set_acc_immed 0xffffffff,acc1
404 set_accg_immed 0xff,accg2 ; saturation
405 set_acc_immed 0xffffffff,acc2
406 set_accg_immed 0xff,accg3
407 set_acc_immed 0xffffffff,acc3
408 set_fr_iimmed 1,1,fr8
409 set_fr_iimmed 1,1,fr10
410 set_fr_iimmed 1,1,fr9
411 set_fr_iimmed 1,1,fr11
412 cmqmachu fr8,fr10,acc0,cc4,0
413 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
414 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
415 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
416 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
417 test_accg_immed 0xff,accg0 ; saturation
418 test_acc_immed 0xffffffff,acc0
419 test_accg_immed 0xff,accg1
420 test_acc_immed 0xffffffff,acc1
421 test_accg_immed 0xff,accg2 ; saturation
422 test_acc_immed 0xffffffff,acc2
423 test_accg_immed 0xff,accg3
424 test_acc_immed 0xffffffff,acc3
426 set_fr_iimmed 0xffff,0x0000,fr8
427 set_fr_iimmed 0xffff,0xffff,fr10
428 set_fr_iimmed 0x0000,0xffff,fr9
429 set_fr_iimmed 0xffff,0xffff,fr11
430 cmqmachu fr8,fr10,acc0,cc4,0
431 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
432 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
433 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
434 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
435 test_accg_immed 0xff,accg0 ; saturation
436 test_acc_immed 0xffffffff,acc0
437 test_accg_immed 0xff,accg1
438 test_acc_immed 0xffffffff,acc1
439 test_accg_immed 0xff,accg2 ; saturation
440 test_acc_immed 0xffffffff,acc2
441 test_accg_immed 0xff,accg3
442 test_acc_immed 0xffffffff,acc3
446 set_accg_immed 0x00000011,accg0
447 set_acc_immed 0x11111111,acc0
448 set_accg_immed 0x00000022,accg1
449 set_acc_immed 0x22222222,acc1
450 set_accg_immed 0x00000033,accg2
451 set_acc_immed 0x33333333,acc2
452 set_accg_immed 0x00000044,accg3
453 set_acc_immed 0x44444444,acc3
454 set_fr_iimmed 3,2,fr8 ; multiply small numbers
455 set_fr_iimmed 2,3,fr10
456 set_fr_iimmed 1,2,fr9 ; multiply by 1
457 set_fr_iimmed 2,1,fr11
458 cmqmachu fr8,fr10,acc0,cc1,1
459 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
460 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
461 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
462 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
463 test_accg_immed 0x00000011,accg0
464 test_acc_immed 0x11111111,acc0
465 test_accg_immed 0x00000022,accg1
466 test_acc_immed 0x22222222,acc1
467 test_accg_immed 0x00000033,accg2
468 test_acc_immed 0x33333333,acc2
469 test_accg_immed 0x00000044,accg3
470 test_acc_immed 0x44444444,acc3
472 set_fr_iimmed 0,2,fr8 ; multiply by 0
473 set_fr_iimmed 2,0,fr10
474 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
475 set_fr_iimmed 2,0x3fff,fr11
476 cmqmachu fr8,fr10,acc0,cc1,1
477 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
478 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
479 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
480 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
481 test_accg_immed 0x00000011,accg0
482 test_acc_immed 0x11111111,acc0
483 test_accg_immed 0x00000022,accg1
484 test_acc_immed 0x22222222,acc1
485 test_accg_immed 0x00000033,accg2
486 test_acc_immed 0x33333333,acc2
487 test_accg_immed 0x00000044,accg3
488 test_acc_immed 0x44444444,acc3
490 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
491 set_fr_iimmed 2,0x4000,fr10
492 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
493 set_fr_iimmed 2,0x8000,fr11
494 cmqmachu fr8,fr10,acc0,cc1,1
495 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
496 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
497 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
498 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
499 test_accg_immed 0x00000011,accg0
500 test_acc_immed 0x11111111,acc0
501 test_accg_immed 0x00000022,accg1
502 test_acc_immed 0x22222222,acc1
503 test_accg_immed 0x00000033,accg2
504 test_acc_immed 0x33333333,acc2
505 test_accg_immed 0x00000044,accg3
506 test_acc_immed 0x44444444,acc3
508 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
509 set_fr_iimmed 0x7fff,0x7fff,fr10
510 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
511 set_fr_iimmed 0x8000,0x8000,fr11
512 cmqmachu fr8,fr10,acc0,cc5,1
513 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
514 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
515 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
516 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
517 test_accg_immed 0x00000011,accg0
518 test_acc_immed 0x11111111,acc0
519 test_accg_immed 0x00000022,accg1
520 test_acc_immed 0x22222222,acc1
521 test_accg_immed 0x00000033,accg2
522 test_acc_immed 0x33333333,acc2
523 test_accg_immed 0x00000044,accg3
524 test_acc_immed 0x44444444,acc3
526 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
527 set_fr_iimmed 0xffff,0xffff,fr10
528 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
529 set_fr_iimmed 0xffff,0xffff,fr11
530 cmqmachu fr8,fr10,acc0,cc5,1
531 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
532 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
533 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
534 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
535 test_accg_immed 0x00000011,accg0
536 test_acc_immed 0x11111111,acc0
537 test_accg_immed 0x00000022,accg1
538 test_acc_immed 0x22222222,acc1
539 test_accg_immed 0x00000033,accg2
540 test_acc_immed 0x33333333,acc2
541 test_accg_immed 0x00000044,accg3
542 test_acc_immed 0x44444444,acc3
544 set_accg_immed 0xff,accg0 ; saturation
545 set_acc_immed 0xffffffff,acc0
546 set_accg_immed 0xff,accg1
547 set_acc_immed 0xffffffff,acc1
548 set_accg_immed 0xff,accg2 ; saturation
549 set_acc_immed 0xffffffff,acc2
550 set_accg_immed 0xff,accg3
551 set_acc_immed 0xffffffff,acc3
552 set_fr_iimmed 1,1,fr8
553 set_fr_iimmed 1,1,fr10
554 set_fr_iimmed 1,1,fr9
555 set_fr_iimmed 1,1,fr11
556 cmqmachu fr8,fr10,acc0,cc5,1
557 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
558 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
559 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
560 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
561 test_accg_immed 0xff,accg0 ; saturation
562 test_acc_immed 0xffffffff,acc0
563 test_accg_immed 0xff,accg1
564 test_acc_immed 0xffffffff,acc1
565 test_accg_immed 0xff,accg2 ; saturation
566 test_acc_immed 0xffffffff,acc2
567 test_accg_immed 0xff,accg3
568 test_acc_immed 0xffffffff,acc3
570 set_fr_iimmed 0xffff,0x0000,fr8
571 set_fr_iimmed 0xffff,0xffff,fr10
572 set_fr_iimmed 0x0000,0xffff,fr9
573 set_fr_iimmed 0xffff,0xffff,fr11
574 cmqmachu fr8,fr10,acc0,cc5,1
575 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
576 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
577 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
578 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
579 test_accg_immed 0xff,accg0 ; saturation
580 test_acc_immed 0xffffffff,acc0
581 test_accg_immed 0xff,accg1
582 test_acc_immed 0xffffffff,acc1
583 test_accg_immed 0xff,accg2 ; saturation
584 test_acc_immed 0xffffffff,acc2
585 test_accg_immed 0xff,accg3
586 test_acc_immed 0xffffffff,acc3
590 set_accg_immed 0x00000011,accg0
591 set_acc_immed 0x11111111,acc0
592 set_accg_immed 0x00000022,accg1
593 set_acc_immed 0x22222222,acc1
594 set_accg_immed 0x00000033,accg2
595 set_acc_immed 0x33333333,acc2
596 set_accg_immed 0x00000044,accg3
597 set_acc_immed 0x44444444,acc3
598 set_fr_iimmed 3,2,fr8 ; multiply small numbers
599 set_fr_iimmed 2,3,fr10
600 set_fr_iimmed 1,2,fr9 ; multiply by 1
601 set_fr_iimmed 2,1,fr11
602 cmqmachu fr8,fr10,acc0,cc2,1
603 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
604 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
605 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
606 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
607 test_accg_immed 0x00000011,accg0
608 test_acc_immed 0x11111111,acc0
609 test_accg_immed 0x00000022,accg1
610 test_acc_immed 0x22222222,acc1
611 test_accg_immed 0x00000033,accg2
612 test_acc_immed 0x33333333,acc2
613 test_accg_immed 0x00000044,accg3
614 test_acc_immed 0x44444444,acc3
616 set_fr_iimmed 0,2,fr8 ; multiply by 0
617 set_fr_iimmed 2,0,fr10
618 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
619 set_fr_iimmed 2,0x3fff,fr11
620 cmqmachu fr8,fr10,acc0,cc2,0
621 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
622 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
623 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
624 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
625 test_accg_immed 0x00000011,accg0
626 test_acc_immed 0x11111111,acc0
627 test_accg_immed 0x00000022,accg1
628 test_acc_immed 0x22222222,acc1
629 test_accg_immed 0x00000033,accg2
630 test_acc_immed 0x33333333,acc2
631 test_accg_immed 0x00000044,accg3
632 test_acc_immed 0x44444444,acc3
634 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
635 set_fr_iimmed 2,0x4000,fr10
636 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
637 set_fr_iimmed 2,0x8000,fr11
638 cmqmachu fr8,fr10,acc0,cc2,1
639 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
640 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
641 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
642 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
643 test_accg_immed 0x00000011,accg0
644 test_acc_immed 0x11111111,acc0
645 test_accg_immed 0x00000022,accg1
646 test_acc_immed 0x22222222,acc1
647 test_accg_immed 0x00000033,accg2
648 test_acc_immed 0x33333333,acc2
649 test_accg_immed 0x00000044,accg3
650 test_acc_immed 0x44444444,acc3
652 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
653 set_fr_iimmed 0x7fff,0x7fff,fr10
654 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
655 set_fr_iimmed 0x8000,0x8000,fr11
656 cmqmachu fr8,fr10,acc0,cc6,0
657 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
658 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
659 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
660 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
661 test_accg_immed 0x00000011,accg0
662 test_acc_immed 0x11111111,acc0
663 test_accg_immed 0x00000022,accg1
664 test_acc_immed 0x22222222,acc1
665 test_accg_immed 0x00000033,accg2
666 test_acc_immed 0x33333333,acc2
667 test_accg_immed 0x00000044,accg3
668 test_acc_immed 0x44444444,acc3
670 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
671 set_fr_iimmed 0xffff,0xffff,fr10
672 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
673 set_fr_iimmed 0xffff,0xffff,fr11
674 cmqmachu fr8,fr10,acc0,cc6,1
675 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
676 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
677 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
678 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
679 test_accg_immed 0x00000011,accg0
680 test_acc_immed 0x11111111,acc0
681 test_accg_immed 0x00000022,accg1
682 test_acc_immed 0x22222222,acc1
683 test_accg_immed 0x00000033,accg2
684 test_acc_immed 0x33333333,acc2
685 test_accg_immed 0x00000044,accg3
686 test_acc_immed 0x44444444,acc3
688 set_accg_immed 0xff,accg0 ; saturation
689 set_acc_immed 0xffffffff,acc0
690 set_accg_immed 0xff,accg1
691 set_acc_immed 0xffffffff,acc1
692 set_accg_immed 0xff,accg2 ; saturation
693 set_acc_immed 0xffffffff,acc2
694 set_accg_immed 0xff,accg3
695 set_acc_immed 0xffffffff,acc3
696 set_fr_iimmed 1,1,fr8
697 set_fr_iimmed 1,1,fr10
698 set_fr_iimmed 1,1,fr9
699 set_fr_iimmed 1,1,fr11
700 cmqmachu fr8,fr10,acc0,cc6,0
701 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
702 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
703 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
704 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
705 test_accg_immed 0xff,accg0 ; saturation
706 test_acc_immed 0xffffffff,acc0
707 test_accg_immed 0xff,accg1
708 test_acc_immed 0xffffffff,acc1
709 test_accg_immed 0xff,accg2 ; saturation
710 test_acc_immed 0xffffffff,acc2
711 test_accg_immed 0xff,accg3
712 test_acc_immed 0xffffffff,acc3
714 set_fr_iimmed 0xffff,0x0000,fr8
715 set_fr_iimmed 0xffff,0xffff,fr10
716 set_fr_iimmed 0x0000,0xffff,fr9
717 set_fr_iimmed 0xffff,0xffff,fr11
718 cmqmachu fr8,fr10,acc0,cc6,1
719 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
720 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
721 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
722 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
723 test_accg_immed 0xff,accg0 ; saturation
724 test_acc_immed 0xffffffff,acc0
725 test_accg_immed 0xff,accg1
726 test_acc_immed 0xffffffff,acc1
727 test_accg_immed 0xff,accg2 ; saturation
728 test_acc_immed 0xffffffff,acc2
729 test_accg_immed 0xff,accg3
730 test_acc_immed 0xffffffff,acc3
734 set_accg_immed 0x00000011,accg0
735 set_acc_immed 0x11111111,acc0
736 set_accg_immed 0x00000022,accg1
737 set_acc_immed 0x22222222,acc1
738 set_accg_immed 0x00000033,accg2
739 set_acc_immed 0x33333333,acc2
740 set_accg_immed 0x00000044,accg3
741 set_acc_immed 0x44444444,acc3
742 set_fr_iimmed 3,2,fr8 ; multiply small numbers
743 set_fr_iimmed 2,3,fr10
744 set_fr_iimmed 1,2,fr9 ; multiply by 1
745 set_fr_iimmed 2,1,fr11
746 cmqmachu fr8,fr10,acc0,cc3,1
747 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
748 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
749 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
750 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
751 test_accg_immed 0x00000011,accg0
752 test_acc_immed 0x11111111,acc0
753 test_accg_immed 0x00000022,accg1
754 test_acc_immed 0x22222222,acc1
755 test_accg_immed 0x00000033,accg2
756 test_acc_immed 0x33333333,acc2
757 test_accg_immed 0x00000044,accg3
758 test_acc_immed 0x44444444,acc3
760 set_fr_iimmed 0,2,fr8 ; multiply by 0
761 set_fr_iimmed 2,0,fr10
762 set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
763 set_fr_iimmed 2,0x3fff,fr11
764 cmqmachu fr8,fr10,acc0,cc3,0
765 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
766 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
767 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
768 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
769 test_accg_immed 0x00000011,accg0
770 test_acc_immed 0x11111111,acc0
771 test_accg_immed 0x00000022,accg1
772 test_acc_immed 0x22222222,acc1
773 test_accg_immed 0x00000033,accg2
774 test_acc_immed 0x33333333,acc2
775 test_accg_immed 0x00000044,accg3
776 test_acc_immed 0x44444444,acc3
778 set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
779 set_fr_iimmed 2,0x4000,fr10
780 set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
781 set_fr_iimmed 2,0x8000,fr11
782 cmqmachu fr8,fr10,acc0,cc3,1
783 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
784 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
785 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
786 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
787 test_accg_immed 0x00000011,accg0
788 test_acc_immed 0x11111111,acc0
789 test_accg_immed 0x00000022,accg1
790 test_acc_immed 0x22222222,acc1
791 test_accg_immed 0x00000033,accg2
792 test_acc_immed 0x33333333,acc2
793 test_accg_immed 0x00000044,accg3
794 test_acc_immed 0x44444444,acc3
796 set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
797 set_fr_iimmed 0x7fff,0x7fff,fr10
798 set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
799 set_fr_iimmed 0x8000,0x8000,fr11
800 cmqmachu fr8,fr10,acc0,cc7,0
801 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
802 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
803 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
804 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
805 test_accg_immed 0x00000011,accg0
806 test_acc_immed 0x11111111,acc0
807 test_accg_immed 0x00000022,accg1
808 test_acc_immed 0x22222222,acc1
809 test_accg_immed 0x00000033,accg2
810 test_acc_immed 0x33333333,acc2
811 test_accg_immed 0x00000044,accg3
812 test_acc_immed 0x44444444,acc3
814 set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
815 set_fr_iimmed 0xffff,0xffff,fr10
816 set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
817 set_fr_iimmed 0xffff,0xffff,fr11
818 cmqmachu fr8,fr10,acc0,cc7,1
819 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
820 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
821 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
822 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
823 test_accg_immed 0x00000011,accg0
824 test_acc_immed 0x11111111,acc0
825 test_accg_immed 0x00000022,accg1
826 test_acc_immed 0x22222222,acc1
827 test_accg_immed 0x00000033,accg2
828 test_acc_immed 0x33333333,acc2
829 test_accg_immed 0x00000044,accg3
830 test_acc_immed 0x44444444,acc3
832 set_accg_immed 0xff,accg0 ; saturation
833 set_acc_immed 0xffffffff,acc0
834 set_accg_immed 0xff,accg1
835 set_acc_immed 0xffffffff,acc1
836 set_accg_immed 0xff,accg2 ; saturation
837 set_acc_immed 0xffffffff,acc2
838 set_accg_immed 0xff,accg3
839 set_acc_immed 0xffffffff,acc3
840 set_fr_iimmed 1,1,fr8
841 set_fr_iimmed 1,1,fr10
842 set_fr_iimmed 1,1,fr9
843 set_fr_iimmed 1,1,fr11
844 cmqmachu fr8,fr10,acc0,cc7,0
845 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
846 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
847 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
848 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
849 test_accg_immed 0xff,accg0 ; saturation
850 test_acc_immed 0xffffffff,acc0
851 test_accg_immed 0xff,accg1
852 test_acc_immed 0xffffffff,acc1
853 test_accg_immed 0xff,accg2 ; saturation
854 test_acc_immed 0xffffffff,acc2
855 test_accg_immed 0xff,accg3
856 test_acc_immed 0xffffffff,acc3
858 set_fr_iimmed 0xffff,0x0000,fr8
859 set_fr_iimmed 0xffff,0xffff,fr10
860 set_fr_iimmed 0x0000,0xffff,fr9
861 set_fr_iimmed 0xffff,0xffff,fr11
862 cmqmachu fr8,fr10,acc0,cc7,1
863 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
864 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
865 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
866 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
867 test_accg_immed 0xff,accg0 ; saturation
868 test_acc_immed 0xffffffff,acc0
869 test_accg_immed 0xff,accg1
870 test_acc_immed 0xffffffff,acc1
871 test_accg_immed 0xff,accg2 ; saturation
872 test_acc_immed 0xffffffff,acc2
873 test_accg_immed 0xff,accg3
874 test_acc_immed 0xffffffff,acc3