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