2003-10-06 Dave Brolley <brolley@redhat.com>
[deliverable/binutils-gdb.git] / sim / testsuite / sim / frv / cmmachs.cgs
CommitLineData
4a306116 1# frv testcase for cmmachs $GRi,$GRj,$ACCk,$CCi,$cond
086419a8 2# mach: frv fr500 fr400
4a306116
DB
3
4 .include "testutils.inc"
5
6 start
7
8 .global cmmachs
9cmmachs:
10 set_spr_immed 0x1b1b,cccr
11
12 ; Positive operands
13 set_spr_immed 0x0,msr0
14 set_spr_immed 0x0,msr1
15 set_accg_immed 0x0,accg0
16 set_acc_immed 0x0,acc0
17 set_accg_immed 0x0,accg1
18 set_acc_immed 0x0,acc1
19 set_fr_iimmed 2,3,fr7 ; multiply small numbers
20 set_fr_iimmed 3,2,fr8
21 cmmachs fr7,fr8,acc0,cc0,1
22 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
23 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
24 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
25 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
26 test_accg_immed 0,accg0
27 test_acc_immed 6,acc0
28 test_accg_immed 0,accg1
29 test_acc_immed 6,acc1
30
31 set_fr_iimmed 0,1,fr7 ; multiply by 0
32 set_fr_iimmed 2,0,fr8
33 cmmachs fr7,fr8,acc0,cc0,1
34 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
35 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
36 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
37 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
38 test_accg_immed 0,accg0
39 test_acc_immed 6,acc0
40 test_accg_immed 0,accg1
41 test_acc_immed 6,acc1
42
43 set_fr_iimmed 2,1,fr7 ; multiply by 1
44 set_fr_iimmed 1,2,fr8
45 cmmachs fr7,fr8,acc0,cc0,1
46 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
47 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
48 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
49 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
50 test_accg_immed 0,accg0
51 test_acc_immed 8,acc0
52 test_accg_immed 0,accg1
53 test_acc_immed 8,acc1
54
55 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
56 set_fr_iimmed 2,0x3fff,fr8
57 cmmachs fr7,fr8,acc0,cc0,1
58 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
59 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
60 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
61 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
62 test_accg_immed 0,accg0
63 test_acc_limmed 0,0x8006,acc0
64 test_accg_immed 0,accg1
65 test_acc_limmed 0,0x8006,acc1
66
67 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
68 set_fr_iimmed 2,0x4000,fr8
69 cmmachs fr7,fr8,acc0,cc0,1
70 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
71 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
72 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
73 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
74 test_accg_immed 0,accg0
75 test_acc_limmed 0x0001,0x0006,acc0
76 test_accg_immed 0,accg1
77 test_acc_limmed 0x0001,0x0006,acc1
78
79 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
80 set_fr_iimmed 0x7fff,0x7fff,fr8
81 cmmachs fr7,fr8,acc0,cc0,1
82 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
83 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
84 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
85 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
86 test_accg_immed 0,accg0
87 test_acc_limmed 0x4000,0x0007,acc0
88 test_accg_immed 0,accg1
89 test_acc_limmed 0x4000,0x0007,acc1
90
91 ; Mixed operands
92 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
93 set_fr_iimmed 0xfffd,2,fr8
94 cmmachs fr7,fr8,acc0,cc0,1
95 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
96 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
97 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
98 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
99 test_accg_immed 0,accg0
100 test_acc_limmed 0x4000,0x0001,acc0
101 test_accg_immed 0,accg1
102 test_acc_limmed 0x4000,0x0001,acc1
103
104 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
105 set_fr_iimmed 1,0xfffe,fr8
106 cmmachs fr7,fr8,acc0,cc0,1
107 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
108 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
109 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
110 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
111 test_accg_immed 0,accg0
112 test_acc_limmed 0x3fff,0xffff,acc0
113 test_accg_immed 0,accg1
114 test_acc_limmed 0x3fff,0xffff,acc1
115
116 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
117 set_fr_iimmed 0,0xfffe,fr8
118 cmmachs fr7,fr8,acc0,cc0,1
119 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
120 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
121 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
122 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
123 test_accg_immed 0,accg0
124 test_acc_limmed 0x3fff,0xffff,acc0
125 test_accg_immed 0,accg1
126 test_acc_limmed 0x3fff,0xffff,acc1
127
128 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
129 set_fr_iimmed 0xfffe,0x2001,fr8
130 cmmachs fr7,fr8,acc0,cc0,1
131 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
132 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
133 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
134 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
135 test_accg_immed 0,accg0
136 test_acc_limmed 0x3fff,0xbffd,acc0
137 test_accg_immed 0,accg1
138 test_acc_limmed 0x3fff,0xbffd,acc1
139
140 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
141 set_fr_iimmed 0xfffe,0x4000,fr8
142 cmmachs fr7,fr8,acc0,cc4,1
143 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
144 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
145 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
146 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
147 test_accg_immed 0,accg0
148 test_acc_limmed 0x3fff,0x3ffd,acc0
149 test_accg_immed 0,accg1
150 test_acc_limmed 0x3fff,0x3ffd,acc1
151
152 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
153 set_fr_iimmed 0x8000,0x7fff,fr8
154 cmmachs fr7,fr8,acc0,cc4,1
155 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
156 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
157 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
158 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
159 test_accg_immed 0xff,accg0
160 test_acc_limmed 0xffff,0xbffd,acc0
161 test_accg_immed 0xff,accg1
162 test_acc_limmed 0xffff,0xbffd,acc1
163
164 ; Negative operands
165 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
166 set_fr_iimmed 0xfffd,0xfffe,fr8
167 cmmachs fr7,fr8,acc0,cc4,1
168 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
169 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
170 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
171 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
172 test_accg_immed 0xff,accg0
173 test_acc_limmed 0xffff,0xc003,acc0
174 test_accg_immed 0xff,accg1
175 test_acc_limmed 0xffff,0xc003,acc1
176
177 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
178 set_fr_iimmed 0xfffe,0xffff,fr8
179 cmmachs fr7,fr8,acc0,cc4,1
180 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
181 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
182 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
183 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
184 test_accg_immed 0xff,accg0
185 test_acc_limmed 0xffff,0xc005,acc0
186 test_accg_immed 0xff,accg1
187 test_acc_limmed 0xffff,0xc005,acc1
188
189 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
190 set_fr_iimmed 0x8001,0x8001,fr8
191 cmmachs fr7,fr8,acc0,cc4,1
192 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
193 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
194 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
195 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
196 test_accg_immed 0,accg0
197 test_acc_immed 0x3ffec006,acc0
198 test_accg_immed 0,accg1
199 test_acc_immed 0x3ffec006,acc1
200
201 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
202 set_fr_iimmed 0x8000,0x8000,fr8
203 cmmachs fr7,fr8,acc0,cc4,1
204 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
205 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
206 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
207 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
208 test_accg_immed 0,accg0
209 test_acc_immed 0x7ffec006,acc0
210 test_accg_immed 0,accg1
211 test_acc_immed 0x7ffec006,acc1
212
213 set_accg_immed 0x7f,accg0 ; saturation
214 set_acc_immed 0xffffffff,acc0
215 set_accg_immed 0x7f,accg1
216 set_acc_immed 0xffffffff,acc1
217 set_fr_iimmed 1,1,fr7
218 set_fr_iimmed 1,1,fr8
219 cmmachs fr7,fr8,acc0,cc4,1
220;;;;;;;;;;;;
221 test_spr_bits 0x3c,2,0xc,msr0 ; msr0.sie is set
222 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
223 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
224 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
225 test_accg_immed 0x7f,accg0
226 test_acc_limmed 0xffff,0xffff,acc0
227 test_accg_immed 0x7f,accg1
228 test_acc_limmed 0xffff,0xffff,acc1
229
230 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
231 set_fr_iimmed 0x7fff,0x7fff,fr8
232 cmmachs fr7,fr8,acc0,cc4,1
233 test_spr_bits 0x3c,2,0xc,msr0 ; msr0.sie is set
234 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
235 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
236 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
237 test_accg_immed 0x7f,accg0
238 test_acc_limmed 0xffff,0xffff,acc0
239 test_accg_immed 0x7f,accg1
240 test_acc_limmed 0xffff,0xffff,acc1
241
242 set_accg_immed -128,accg0 ; saturation
243 set_acc_immed 0,acc0
244 set_accg_immed -128,accg1
245 set_acc_immed 0,acc1
246 set_fr_iimmed 0xffff,0,fr7
247 set_fr_iimmed 1,0xffff,fr8
248 cmmachs fr7,fr8,acc0,cc4,1
249 test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set
250 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
251 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
252 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
253 test_accg_immed 0x80,accg0
254 test_acc_immed 0,acc0
255 test_accg_immed 0x80,accg1
256 test_acc_immed 0,acc1
257
258 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
259 set_fr_iimmed 0x7fff,0x7fff,fr8
260 cmmachs fr7,fr8,acc0,cc4,1
261 test_spr_bits 0x3c,2,0x4,msr0 ; msr0.sie is set
262 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
263 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
264 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
265 test_accg_immed 0x80,accg0
266 test_acc_immed 0,acc0
267 test_accg_immed 0x80,accg1
268 test_acc_immed 0,acc1
269
270 ; Positive operands
271 set_spr_immed 0x0,msr0
272 set_spr_immed 0x0,msr1
273 set_accg_immed 0x0,accg0 ; saturation
274 set_acc_immed 0x0,acc0
275 set_accg_immed 0x0,accg1
276 set_acc_immed 0x0,acc1
277 set_fr_iimmed 2,3,fr7 ; multiply small numbers
278 set_fr_iimmed 3,2,fr8
279 cmmachs fr7,fr8,acc0,cc1,0
280 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
281 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
282 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
283 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
284 test_accg_immed 0,accg0
285 test_acc_immed 6,acc0
286 test_accg_immed 0,accg1
287 test_acc_immed 6,acc1
288
289 set_fr_iimmed 0,1,fr7 ; multiply by 0
290 set_fr_iimmed 2,0,fr8
291 cmmachs fr7,fr8,acc0,cc1,0
292 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
293 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
294 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
295 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
296 test_accg_immed 0,accg0
297 test_acc_immed 6,acc0
298 test_accg_immed 0,accg1
299 test_acc_immed 6,acc1
300
301 set_fr_iimmed 2,1,fr7 ; multiply by 1
302 set_fr_iimmed 1,2,fr8
303 cmmachs fr7,fr8,acc0,cc1,0
304 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
305 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
306 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
307 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
308 test_accg_immed 0,accg0
309 test_acc_immed 8,acc0
310 test_accg_immed 0,accg1
311 test_acc_immed 8,acc1
312
313 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
314 set_fr_iimmed 2,0x3fff,fr8
315 cmmachs fr7,fr8,acc0,cc1,0
316 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
317 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
318 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
319 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
320 test_accg_immed 0,accg0
321 test_acc_limmed 0,0x8006,acc0
322 test_accg_immed 0,accg1
323 test_acc_limmed 0,0x8006,acc1
324
325 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
326 set_fr_iimmed 2,0x4000,fr8
327 cmmachs fr7,fr8,acc0,cc1,0
328 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
329 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
330 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
331 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
332 test_accg_immed 0,accg0
333 test_acc_limmed 0x0001,0x0006,acc0
334 test_accg_immed 0,accg1
335 test_acc_limmed 0x0001,0x0006,acc1
336
337 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
338 set_fr_iimmed 0x7fff,0x7fff,fr8
339 cmmachs fr7,fr8,acc0,cc1,0
340 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
341 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
342 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
343 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
344 test_accg_immed 0,accg0
345 test_acc_limmed 0x4000,0x0007,acc0
346 test_accg_immed 0,accg1
347 test_acc_limmed 0x4000,0x0007,acc1
348
349 ; Mixed operands
350 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
351 set_fr_iimmed 0xfffd,2,fr8
352 cmmachs fr7,fr8,acc0,cc1,0
353 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
354 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
355 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
356 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
357 test_accg_immed 0,accg0
358 test_acc_limmed 0x4000,0x0001,acc0
359 test_accg_immed 0,accg1
360 test_acc_limmed 0x4000,0x0001,acc1
361
362 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
363 set_fr_iimmed 1,0xfffe,fr8
364 cmmachs fr7,fr8,acc0,cc1,0
365 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
366 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
367 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
368 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
369 test_accg_immed 0,accg0
370 test_acc_limmed 0x3fff,0xffff,acc0
371 test_accg_immed 0,accg1
372 test_acc_limmed 0x3fff,0xffff,acc1
373
374 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
375 set_fr_iimmed 0,0xfffe,fr8
376 cmmachs fr7,fr8,acc0,cc1,0
377 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
378 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
379 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
380 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
381 test_accg_immed 0,accg0
382 test_acc_limmed 0x3fff,0xffff,acc0
383 test_accg_immed 0,accg1
384 test_acc_limmed 0x3fff,0xffff,acc1
385
386 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
387 set_fr_iimmed 0xfffe,0x2001,fr8
388 cmmachs fr7,fr8,acc0,cc1,0
389 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
390 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
391 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
392 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
393 test_accg_immed 0,accg0
394 test_acc_limmed 0x3fff,0xbffd,acc0
395 test_accg_immed 0,accg1
396 test_acc_limmed 0x3fff,0xbffd,acc1
397
398 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
399 set_fr_iimmed 0xfffe,0x4000,fr8
400 cmmachs fr7,fr8,acc0,cc5,0
401 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
402 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
403 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
404 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
405 test_accg_immed 0,accg0
406 test_acc_limmed 0x3fff,0x3ffd,acc0
407 test_accg_immed 0,accg1
408 test_acc_limmed 0x3fff,0x3ffd,acc1
409
410 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
411 set_fr_iimmed 0x8000,0x7fff,fr8
412 cmmachs fr7,fr8,acc0,cc5,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
418 test_acc_limmed 0xffff,0xbffd,acc0
419 test_accg_immed 0xff,accg1
420 test_acc_limmed 0xffff,0xbffd,acc1
421
422 ; Negative operands
423 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
424 set_fr_iimmed 0xfffd,0xfffe,fr8
425 cmmachs fr7,fr8,acc0,cc5,0
426 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
427 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
428 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
429 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
430 test_accg_immed 0xff,accg0
431 test_acc_limmed 0xffff,0xc003,acc0
432 test_accg_immed 0xff,accg1
433 test_acc_limmed 0xffff,0xc003,acc1
434
435 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
436 set_fr_iimmed 0xfffe,0xffff,fr8
437 cmmachs fr7,fr8,acc0,cc5,0
438 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
439 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
440 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
441 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
442 test_accg_immed 0xff,accg0
443 test_acc_limmed 0xffff,0xc005,acc0
444 test_accg_immed 0xff,accg1
445 test_acc_limmed 0xffff,0xc005,acc1
446
447 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
448 set_fr_iimmed 0x8001,0x8001,fr8
449 cmmachs fr7,fr8,acc0,cc5,0
450 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
451 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
452 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
453 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
454 test_accg_immed 0,accg0
455 test_acc_immed 0x3ffec006,acc0
456 test_accg_immed 0,accg1
457 test_acc_immed 0x3ffec006,acc1
458
459 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
460 set_fr_iimmed 0x8000,0x8000,fr8
461 cmmachs fr7,fr8,acc0,cc5,0
462 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
463 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
464 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
465 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
466 test_accg_immed 0,accg0
467 test_acc_immed 0x7ffec006,acc0
468 test_accg_immed 0,accg1
469 test_acc_immed 0x7ffec006,acc1
470
471 set_accg_immed 0x7f,accg0 ; saturation
472 set_acc_immed 0xffffffff,acc0
473 set_accg_immed 0x7f,accg1
474 set_acc_immed 0xffffffff,acc1
475 set_fr_iimmed 1,1,fr7
476 set_fr_iimmed 1,1,fr8
477 cmmachs fr7,fr8,acc0,cc5,0
478 test_accg_immed 0x7f,accg0
479 test_acc_limmed 0xffff,0xffff,acc0
480 test_accg_immed 0x7f,accg1
481 test_acc_limmed 0xffff,0xffff,acc1
482
483 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
484 set_fr_iimmed 0x7fff,0x7fff,fr8
485 cmmachs fr7,fr8,acc0,cc5,0
486 test_spr_bits 0x3c,2,0xc,msr0 ; msr0.sie is set
487 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
488 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
489 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
490 test_accg_immed 0x7f,accg0
491 test_acc_limmed 0xffff,0xffff,acc0
492 test_accg_immed 0x7f,accg1
493 test_acc_limmed 0xffff,0xffff,acc1
494
495 set_accg_immed 0x80,accg0 ; saturation
496 set_acc_immed 0,acc0
497 set_accg_immed 0x80,accg1
498 set_acc_immed 0,acc1
499 set_fr_iimmed 0xffff,0,fr7
500 set_fr_iimmed 1,0xffff,fr8
501 cmmachs fr7,fr8,acc0,cc5,0
502 test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set
503 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
504 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
505 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
506 test_accg_immed 0x80,accg0
507 test_acc_immed 0,acc0
508 test_accg_immed 0x80,accg1
509 test_acc_immed 0,acc1
510
511 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
512 set_fr_iimmed 0x7fff,0x7fff,fr8
513 cmmachs fr7,fr8,acc0,cc5,0
514 test_spr_bits 0x3c,2,0x4,msr0 ; msr0.sie is set
515 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
516 test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
517 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
518 test_accg_immed 0x80,accg0
519 test_acc_immed 0,acc0
520 test_accg_immed 0x80,accg1
521 test_acc_immed 0,acc1
522
523 ; Positive operands
524 set_spr_immed 0x0,msr0
525 set_spr_immed 0x0,msr1
526 set_accg_immed 0x0,accg0
527 set_acc_immed 0x0,acc0
528 set_accg_immed 0x0,accg1
529 set_acc_immed 0x0,acc1
530 set_fr_iimmed 2,3,fr7 ; multiply small numbers
531 set_fr_iimmed 3,2,fr8
532 cmmachs fr7,fr8,acc0,cc0,0
533 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
534 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
535 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
536 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
537 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
538 test_accg_immed 0,accg0
539 test_acc_immed 0,acc0
540 test_accg_immed 0,accg1
541 test_acc_immed 0,acc1
542
543 set_fr_iimmed 0,1,fr7 ; multiply by 0
544 set_fr_iimmed 2,0,fr8
545 cmmachs fr7,fr8,acc0,cc0,0
546 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
547 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
548 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
549 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
550 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
551 test_accg_immed 0,accg0
552 test_acc_immed 0,acc0
553 test_accg_immed 0,accg1
554 test_acc_immed 0,acc1
555
556 set_fr_iimmed 2,1,fr7 ; multiply by 1
557 set_fr_iimmed 1,2,fr8
558 cmmachs fr7,fr8,acc0,cc0,0
559 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
560 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
561 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
562 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
563 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
564 test_accg_immed 0,accg0
565 test_acc_immed 0,acc0
566 test_accg_immed 0,accg1
567 test_acc_immed 0,acc1
568
569 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
570 set_fr_iimmed 2,0x3fff,fr8
571 cmmachs fr7,fr8,acc0,cc0,0
572 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
573 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
574 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
575 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
576 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
577 test_accg_immed 0,accg0
578 test_acc_immed 0,acc0
579 test_accg_immed 0,accg1
580 test_acc_immed 0,acc1
581
582 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
583 set_fr_iimmed 2,0x4000,fr8
584 cmmachs fr7,fr8,acc0,cc0,0
585 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
586 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
587 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
588 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
589 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
590 test_accg_immed 0,accg0
591 test_acc_immed 0,acc0
592 test_accg_immed 0,accg1
593 test_acc_immed 0,acc1
594
595 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
596 set_fr_iimmed 0x7fff,0x7fff,fr8
597 cmmachs fr7,fr8,acc0,cc0,0
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 2,1,0,msr1 ; msr1.ovf not set
601 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
602 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
603 test_accg_immed 0,accg0
604 test_acc_immed 0,acc0
605 test_accg_immed 0,accg1
606 test_acc_immed 0,acc1
607
608 ; Mixed operands
609 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
610 set_fr_iimmed 0xfffd,2,fr8
611 cmmachs fr7,fr8,acc0,cc0,0
612 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
613 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
614 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
615 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
616 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
617 test_accg_immed 0,accg0
618 test_acc_immed 0,acc0
619 test_accg_immed 0,accg1
620 test_acc_immed 0,acc1
621
622 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
623 set_fr_iimmed 1,0xfffe,fr8
624 cmmachs fr7,fr8,acc0,cc0,0
625 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
626 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
627 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
628 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
629 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
630 test_accg_immed 0,accg0
631 test_acc_immed 0,acc0
632 test_accg_immed 0,accg1
633 test_acc_immed 0,acc1
634
635 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
636 set_fr_iimmed 0,0xfffe,fr8
637 cmmachs fr7,fr8,acc0,cc0,0
638 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
639 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
640 test_spr_bits 2,1,0,msr1 ; msr1.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 0,accg0
644 test_acc_immed 0,acc0
645 test_accg_immed 0,accg1
646 test_acc_immed 0,acc1
647
648 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
649 set_fr_iimmed 0xfffe,0x2001,fr8
650 cmmachs fr7,fr8,acc0,cc0,0
651 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
652 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
653 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
654 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
655 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
656 test_accg_immed 0,accg0
657 test_acc_immed 0,acc0
658 test_accg_immed 0,accg1
659 test_acc_immed 0,acc1
660
661 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
662 set_fr_iimmed 0xfffe,0x4000,fr8
663 cmmachs fr7,fr8,acc0,cc4,0
664 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
665 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
666 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
667 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
668 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
669 test_accg_immed 0,accg0
670 test_acc_immed 0,acc0
671 test_accg_immed 0,accg1
672 test_acc_immed 0,acc1
673
674 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
675 set_fr_iimmed 0x8000,0x7fff,fr8
676 cmmachs fr7,fr8,acc0,cc4,0
677 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
678 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
679 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
680 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
681 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
682 test_accg_immed 0,accg0
683 test_acc_immed 0,acc0
684 test_accg_immed 0,accg1
685 test_acc_immed 0,acc1
686
687 ; Negative operands
688 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
689 set_fr_iimmed 0xfffd,0xfffe,fr8
690 cmmachs fr7,fr8,acc0,cc4,0
691 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
692 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
693 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
694 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
695 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
696 test_accg_immed 0,accg0
697 test_acc_immed 0,acc0
698 test_accg_immed 0,accg1
699 test_acc_immed 0,acc1
700
701 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
702 set_fr_iimmed 0xfffe,0xffff,fr8
703 cmmachs fr7,fr8,acc0,cc4,0
704 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
705 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
706 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
707 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
708 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
709 test_accg_immed 0,accg0
710 test_acc_immed 0,acc0
711 test_accg_immed 0,accg1
712 test_acc_immed 0,acc1
713
714 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
715 set_fr_iimmed 0x8001,0x8001,fr8
716 cmmachs fr7,fr8,acc0,cc4,0
717 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
718 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
719 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
720 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
721 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
722 test_accg_immed 0,accg0
723 test_acc_immed 0,acc0
724 test_accg_immed 0,accg1
725 test_acc_immed 0,acc1
726
727 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
728 set_fr_iimmed 0x8000,0x8000,fr8
729 cmmachs fr7,fr8,acc0,cc4,0
730 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
731 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
732 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
733 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
734 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
735 test_accg_immed 0,accg0
736 test_acc_immed 0,acc0
737 test_accg_immed 0,accg1
738 test_acc_immed 0,acc1
739
740 set_accg_immed 0x7f,accg0 ; saturation
741 set_acc_immed 0xffffffff,acc0
742 set_accg_immed 0x7f,accg1
743 set_acc_immed 0xffffffff,acc1
744 set_fr_iimmed 1,1,fr7
745 set_fr_iimmed 1,1,fr8
746 cmmachs fr7,fr8,acc0,cc4,0
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 2,1,0,msr1 ; msr1.ovf not set
750 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
751 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
752 test_accg_immed 0x7f,accg0 ; saturation
753 test_acc_immed 0xffffffff,acc0
754 test_accg_immed 0x7f,accg1
755 test_acc_immed 0xffffffff,acc1
756
757 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
758 set_fr_iimmed 0x7fff,0x7fff,fr8
759 cmmachs fr7,fr8,acc0,cc4,0
760 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
761 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
762 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
763 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
764 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
765 test_accg_immed 0x7f,accg0 ; saturation
766 test_acc_immed 0xffffffff,acc0
767 test_accg_immed 0x7f,accg1
768 test_acc_immed 0xffffffff,acc1
769
770 set_accg_immed 0x80,accg0 ; saturation
771 set_acc_immed 0,acc0
772 set_accg_immed 0x80,accg1
773 set_acc_immed 0,acc1
774 set_fr_iimmed 0xffff,0,fr7
775 set_fr_iimmed 1,0xffff,fr8
776 cmmachs fr7,fr8,acc0,cc4,0
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 2,1,0,msr1 ; msr1.ovf not set
780 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
781 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
782 test_accg_immed 0x80,accg0 ; saturation
783 test_acc_immed 0,acc0
784 test_accg_immed 0x80,accg1
785 test_acc_immed 0,acc1
786
787 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
788 set_fr_iimmed 0x7fff,0x7fff,fr8
789 cmmachs fr7,fr8,acc0,cc4,0
790 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
791 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
792 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
793 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
794 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
795 test_accg_immed 0x80,accg0 ; saturation
796 test_acc_immed 0,acc0
797 test_accg_immed 0x80,accg1
798 test_acc_immed 0,acc1
799
800 ; Positive operands
801 set_spr_immed 0x0,msr0
802 set_spr_immed 0x0,msr1
803 set_accg_immed 0x0,accg0
804 set_acc_immed 0x0,acc0
805 set_accg_immed 0x0,accg1
806 set_acc_immed 0x0,acc1
807 set_fr_iimmed 2,3,fr7 ; multiply small numbers
808 set_fr_iimmed 3,2,fr8
809 cmmachs fr7,fr8,acc0,cc1,1
810 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
811 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
812 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
813 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
814 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
815 test_accg_immed 0,accg0
816 test_acc_immed 0,acc0
817 test_accg_immed 0,accg1
818 test_acc_immed 0,acc1
819
820 set_fr_iimmed 0,1,fr7 ; multiply by 0
821 set_fr_iimmed 2,0,fr8
822 cmmachs fr7,fr8,acc0,cc1,1
823 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
824 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
825 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
826 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
827 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
828 test_accg_immed 0,accg0
829 test_acc_immed 0,acc0
830 test_accg_immed 0,accg1
831 test_acc_immed 0,acc1
832
833 set_fr_iimmed 2,1,fr7 ; multiply by 1
834 set_fr_iimmed 1,2,fr8
835 cmmachs fr7,fr8,acc0,cc1,1
836 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
837 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
838 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
839 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
840 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
841 test_accg_immed 0,accg0
842 test_acc_immed 0,acc0
843 test_accg_immed 0,accg1
844 test_acc_immed 0,acc1
845
846 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
847 set_fr_iimmed 2,0x3fff,fr8
848 cmmachs fr7,fr8,acc0,cc1,1
849 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
850 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
851 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
852 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
853 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
854 test_accg_immed 0,accg0
855 test_acc_immed 0,acc0
856 test_accg_immed 0,accg1
857 test_acc_immed 0,acc1
858
859 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
860 set_fr_iimmed 2,0x4000,fr8
861 cmmachs fr7,fr8,acc0,cc1,1
862 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
863 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
864 test_spr_bits 2,1,0,msr1 ; msr1.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 0,accg0
868 test_acc_immed 0,acc0
869 test_accg_immed 0,accg1
870 test_acc_immed 0,acc1
871
872 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
873 set_fr_iimmed 0x7fff,0x7fff,fr8
874 cmmachs fr7,fr8,acc0,cc1,1
875 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
876 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
877 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
878 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
879 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
880 test_accg_immed 0,accg0
881 test_acc_immed 0,acc0
882 test_accg_immed 0,accg1
883 test_acc_immed 0,acc1
884
885 ; Mixed operands
886 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
887 set_fr_iimmed 0xfffd,2,fr8
888 cmmachs fr7,fr8,acc0,cc1,1
889 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
890 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
891 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
892 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
893 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
894 test_accg_immed 0,accg0
895 test_acc_immed 0,acc0
896 test_accg_immed 0,accg1
897 test_acc_immed 0,acc1
898
899 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
900 set_fr_iimmed 1,0xfffe,fr8
901 cmmachs fr7,fr8,acc0,cc1,1
902 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
903 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
904 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
905 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
906 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
907 test_accg_immed 0,accg0
908 test_acc_immed 0,acc0
909 test_accg_immed 0,accg1
910 test_acc_immed 0,acc1
911
912 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
913 set_fr_iimmed 0,0xfffe,fr8
914 cmmachs fr7,fr8,acc0,cc1,1
915 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
916 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
917 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
918 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
919 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
920 test_accg_immed 0,accg0
921 test_acc_immed 0,acc0
922 test_accg_immed 0,accg1
923 test_acc_immed 0,acc1
924
925 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
926 set_fr_iimmed 0xfffe,0x2001,fr8
927 cmmachs fr7,fr8,acc0,cc1,1
928 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
929 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
930 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
931 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
932 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
933 test_accg_immed 0,accg0
934 test_acc_immed 0,acc0
935 test_accg_immed 0,accg1
936 test_acc_immed 0,acc1
937
938 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
939 set_fr_iimmed 0xfffe,0x4000,fr8
940 cmmachs fr7,fr8,acc0,cc5,1
941 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
942 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
943 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
944 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
945 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
946 test_accg_immed 0,accg0
947 test_acc_immed 0,acc0
948 test_accg_immed 0,accg1
949 test_acc_immed 0,acc1
950
951 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
952 set_fr_iimmed 0x8000,0x7fff,fr8
953 cmmachs fr7,fr8,acc0,cc5,1
954 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
955 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
956 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
957 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
958 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
959 test_accg_immed 0,accg0
960 test_acc_immed 0,acc0
961 test_accg_immed 0,accg1
962 test_acc_immed 0,acc1
963
964 ; Negative operands
965 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
966 set_fr_iimmed 0xfffd,0xfffe,fr8
967 cmmachs fr7,fr8,acc0,cc5,1
968 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
969 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
970 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
971 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
972 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
973 test_accg_immed 0,accg0
974 test_acc_immed 0,acc0
975 test_accg_immed 0,accg1
976 test_acc_immed 0,acc1
977
978 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
979 set_fr_iimmed 0xfffe,0xffff,fr8
980 cmmachs fr7,fr8,acc0,cc5,1
981 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
982 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
983 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
984 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
985 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
986 test_accg_immed 0,accg0
987 test_acc_immed 0,acc0
988 test_accg_immed 0,accg1
989 test_acc_immed 0,acc1
990
991 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
992 set_fr_iimmed 0x8001,0x8001,fr8
993 cmmachs fr7,fr8,acc0,cc5,1
994 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
995 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
996 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
997 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
998 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
999 test_accg_immed 0,accg0
1000 test_acc_immed 0,acc0
1001 test_accg_immed 0,accg1
1002 test_acc_immed 0,acc1
1003
1004 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
1005 set_fr_iimmed 0x8000,0x8000,fr8
1006 cmmachs fr7,fr8,acc0,cc5,1
1007 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1008 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1009 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1010 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1011 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1012 test_accg_immed 0,accg0
1013 test_acc_immed 0,acc0
1014 test_accg_immed 0,accg1
1015 test_acc_immed 0,acc1
1016
1017 set_accg_immed 0x7f,accg0 ; saturation
1018 set_acc_immed 0xffffffff,acc0
1019 set_accg_immed 0x7f,accg1
1020 set_acc_immed 0xffffffff,acc1
1021 set_fr_iimmed 1,1,fr7
1022 set_fr_iimmed 1,1,fr8
1023 cmmachs fr7,fr8,acc0,cc5,1
1024 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1025 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1026 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1027 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1028 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1029 test_accg_immed 0x7f,accg0 ; saturation
1030 test_acc_immed 0xffffffff,acc0
1031 test_accg_immed 0x7f,accg1
1032 test_acc_immed 0xffffffff,acc1
1033
1034 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
1035 set_fr_iimmed 0x7fff,0x7fff,fr8
1036 cmmachs fr7,fr8,acc0,cc5,1
1037 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1038 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1039 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1040 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1041 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1042 test_accg_immed 0x7f,accg0 ; saturation
1043 test_acc_immed 0xffffffff,acc0
1044 test_accg_immed 0x7f,accg1
1045 test_acc_immed 0xffffffff,acc1
1046
1047 set_accg_immed 0x80,accg0 ; saturation
1048 set_acc_immed 0,acc0
1049 set_accg_immed 0x80,accg1
1050 set_acc_immed 0,acc1
1051 set_fr_iimmed 0xffff,0,fr7
1052 set_fr_iimmed 1,0xffff,fr8
1053 cmmachs fr7,fr8,acc0,cc5,1
1054 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1055 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1056 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1057 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1058 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1059 test_accg_immed 0x80,accg0 ; saturation
1060 test_acc_immed 0,acc0
1061 test_accg_immed 0x80,accg1
1062 test_acc_immed 0,acc1
1063
1064 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
1065 set_fr_iimmed 0x7fff,0x7fff,fr8
1066 cmmachs fr7,fr8,acc0,cc5,1
1067 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1068 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1069 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1070 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1071 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1072 test_accg_immed 0x80,accg0 ; saturation
1073 test_acc_immed 0,acc0
1074 test_accg_immed 0x80,accg1
1075 test_acc_immed 0,acc1
1076
1077 ; Positive operands
1078 set_spr_immed 0x0,msr0
1079 set_spr_immed 0x0,msr1
1080 set_accg_immed 0x0,accg0
1081 set_acc_immed 0x0,acc0
1082 set_accg_immed 0x0,accg1
1083 set_acc_immed 0x0,acc1
1084 set_fr_iimmed 2,3,fr7 ; multiply small numbers
1085 set_fr_iimmed 3,2,fr8
1086 cmmachs fr7,fr8,acc0,cc2,1
1087 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1088 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1089 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1090 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1091 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1092 test_accg_immed 0,accg0
1093 test_acc_immed 0,acc0
1094 test_accg_immed 0,accg1
1095 test_acc_immed 0,acc1
1096
1097 set_fr_iimmed 0,1,fr7 ; multiply by 0
1098 set_fr_iimmed 2,0,fr8
1099 cmmachs fr7,fr8,acc0,cc2,0
1100 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1101 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1102 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1103 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1104 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1105 test_accg_immed 0,accg0
1106 test_acc_immed 0,acc0
1107 test_accg_immed 0,accg1
1108 test_acc_immed 0,acc1
1109
1110 set_fr_iimmed 2,1,fr7 ; multiply by 1
1111 set_fr_iimmed 1,2,fr8
1112 cmmachs fr7,fr8,acc0,cc2,1
1113 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1114 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1115 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1116 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1117 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1118 test_accg_immed 0,accg0
1119 test_acc_immed 0,acc0
1120 test_accg_immed 0,accg1
1121 test_acc_immed 0,acc1
1122
1123 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
1124 set_fr_iimmed 2,0x3fff,fr8
1125 cmmachs fr7,fr8,acc0,cc2,0
1126 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1127 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1128 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1129 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1130 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1131 test_accg_immed 0,accg0
1132 test_acc_immed 0,acc0
1133 test_accg_immed 0,accg1
1134 test_acc_immed 0,acc1
1135
1136 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
1137 set_fr_iimmed 2,0x4000,fr8
1138 cmmachs fr7,fr8,acc0,cc2,1
1139 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1140 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1141 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1142 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1143 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1144 test_accg_immed 0,accg0
1145 test_acc_immed 0,acc0
1146 test_accg_immed 0,accg1
1147 test_acc_immed 0,acc1
1148
1149 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
1150 set_fr_iimmed 0x7fff,0x7fff,fr8
1151 cmmachs fr7,fr8,acc0,cc2,0
1152 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1153 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1154 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1155 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1156 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1157 test_accg_immed 0,accg0
1158 test_acc_immed 0,acc0
1159 test_accg_immed 0,accg1
1160 test_acc_immed 0,acc1
1161
1162 ; Mixed operands
1163 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
1164 set_fr_iimmed 0xfffd,2,fr8
1165 cmmachs fr7,fr8,acc0,cc2,1
1166 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1167 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1168 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1169 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1170 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1171 test_accg_immed 0,accg0
1172 test_acc_immed 0,acc0
1173 test_accg_immed 0,accg1
1174 test_acc_immed 0,acc1
1175
1176 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
1177 set_fr_iimmed 1,0xfffe,fr8
1178 cmmachs fr7,fr8,acc0,cc2,0
1179 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1180 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1181 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1182 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1183 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1184 test_accg_immed 0,accg0
1185 test_acc_immed 0,acc0
1186 test_accg_immed 0,accg1
1187 test_acc_immed 0,acc1
1188
1189 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
1190 set_fr_iimmed 0,0xfffe,fr8
1191 cmmachs fr7,fr8,acc0,cc2,1
1192 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1193 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1194 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1195 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1196 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1197 test_accg_immed 0,accg0
1198 test_acc_immed 0,acc0
1199 test_accg_immed 0,accg1
1200 test_acc_immed 0,acc1
1201
1202 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
1203 set_fr_iimmed 0xfffe,0x2001,fr8
1204 cmmachs fr7,fr8,acc0,cc2,0
1205 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1206 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1207 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1208 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1209 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1210 test_accg_immed 0,accg0
1211 test_acc_immed 0,acc0
1212 test_accg_immed 0,accg1
1213 test_acc_immed 0,acc1
1214
1215 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
1216 set_fr_iimmed 0xfffe,0x4000,fr8
1217 cmmachs fr7,fr8,acc0,cc6,1
1218 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1219 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1220 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1221 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1222 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1223 test_accg_immed 0,accg0
1224 test_acc_immed 0,acc0
1225 test_accg_immed 0,accg1
1226 test_acc_immed 0,acc1
1227
1228 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
1229 set_fr_iimmed 0x8000,0x7fff,fr8
1230 cmmachs fr7,fr8,acc0,cc6,0
1231 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1232 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1233 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1234 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1235 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1236 test_accg_immed 0,accg0
1237 test_acc_immed 0,acc0
1238 test_accg_immed 0,accg1
1239 test_acc_immed 0,acc1
1240
1241 ; Negative operands
1242 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
1243 set_fr_iimmed 0xfffd,0xfffe,fr8
1244 cmmachs fr7,fr8,acc0,cc6,1
1245 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1246 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1247 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1248 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1249 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1250 test_accg_immed 0,accg0
1251 test_acc_immed 0,acc0
1252 test_accg_immed 0,accg1
1253 test_acc_immed 0,acc1
1254
1255 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
1256 set_fr_iimmed 0xfffe,0xffff,fr8
1257 cmmachs fr7,fr8,acc0,cc6,0
1258 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1259 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1260 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1261 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1262 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1263 test_accg_immed 0,accg0
1264 test_acc_immed 0,acc0
1265 test_accg_immed 0,accg1
1266 test_acc_immed 0,acc1
1267
1268 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
1269 set_fr_iimmed 0x8001,0x8001,fr8
1270 cmmachs fr7,fr8,acc0,cc6,1
1271 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1272 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1273 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1274 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1275 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1276 test_accg_immed 0,accg0
1277 test_acc_immed 0,acc0
1278 test_accg_immed 0,accg1
1279 test_acc_immed 0,acc1
1280
1281 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
1282 set_fr_iimmed 0x8000,0x8000,fr8
1283 cmmachs fr7,fr8,acc0,cc6,0
1284 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1285 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1286 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1287 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1288 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1289 test_accg_immed 0,accg0
1290 test_acc_immed 0,acc0
1291 test_accg_immed 0,accg1
1292 test_acc_immed 0,acc1
1293
1294 set_accg_immed 0x7f,accg0 ; saturation
1295 set_acc_immed 0xffffffff,acc0
1296 set_accg_immed 0x7f,accg1
1297 set_acc_immed 0xffffffff,acc1
1298 set_fr_iimmed 1,1,fr7
1299 set_fr_iimmed 1,1,fr8
1300 cmmachs fr7,fr8,acc0,cc6,1
1301 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1302 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1303 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1304 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1305 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1306 test_accg_immed 0x7f,accg0 ; saturation
1307 test_acc_immed 0xffffffff,acc0
1308 test_accg_immed 0x7f,accg1
1309 test_acc_immed 0xffffffff,acc1
1310
1311 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
1312 set_fr_iimmed 0x7fff,0x7fff,fr8
1313 cmmachs fr7,fr8,acc0,cc6,0
1314 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1315 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1316 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1317 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1318 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1319 test_accg_immed 0x7f,accg0 ; saturation
1320 test_acc_immed 0xffffffff,acc0
1321 test_accg_immed 0x7f,accg1
1322 test_acc_immed 0xffffffff,acc1
1323
1324 set_accg_immed 0x80,accg0 ; saturation
1325 set_acc_immed 0,acc0
1326 set_accg_immed 0x80,accg1
1327 set_acc_immed 0,acc1
1328 set_fr_iimmed 0xffff,0,fr7
1329 set_fr_iimmed 1,0xffff,fr8
1330 cmmachs fr7,fr8,acc0,cc6,1
1331 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1332 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1333 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1334 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1335 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1336 test_accg_immed 0x80,accg0 ; saturation
1337 test_acc_immed 0,acc0
1338 test_accg_immed 0x80,accg1
1339 test_acc_immed 0,acc1
1340
1341 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
1342 set_fr_iimmed 0x7fff,0x7fff,fr8
1343 cmmachs fr7,fr8,acc0,cc6,0
1344 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1345 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1346 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1347 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1348 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1349 test_accg_immed 0x80,accg0 ; saturation
1350 test_acc_immed 0,acc0
1351 test_accg_immed 0x80,accg1
1352 test_acc_immed 0,acc1
1353;
1354 ; Positive operands
1355 set_spr_immed 0x0,msr0
1356 set_spr_immed 0x0,msr1
1357 set_accg_immed 0x0,accg0
1358 set_acc_immed 0x0,acc0
1359 set_accg_immed 0x0,accg1
1360 set_acc_immed 0x0,acc1
1361 set_fr_iimmed 2,3,fr7 ; multiply small numbers
1362 set_fr_iimmed 3,2,fr8
1363 cmmachs fr7,fr8,acc0,cc3,1
1364 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1365 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1366 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1367 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1368 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1369 test_accg_immed 0,accg0
1370 test_acc_immed 0,acc0
1371 test_accg_immed 0,accg1
1372 test_acc_immed 0,acc1
1373
1374 set_fr_iimmed 0,1,fr7 ; multiply by 0
1375 set_fr_iimmed 2,0,fr8
1376 cmmachs fr7,fr8,acc0,cc3,0
1377 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1378 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1379 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1380 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1381 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1382 test_accg_immed 0,accg0
1383 test_acc_immed 0,acc0
1384 test_accg_immed 0,accg1
1385 test_acc_immed 0,acc1
1386
1387 set_fr_iimmed 2,1,fr7 ; multiply by 1
1388 set_fr_iimmed 1,2,fr8
1389 cmmachs fr7,fr8,acc0,cc3,1
1390 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1391 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1392 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1393 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1394 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1395 test_accg_immed 0,accg0
1396 test_acc_immed 0,acc0
1397 test_accg_immed 0,accg1
1398 test_acc_immed 0,acc1
1399
1400 set_fr_iimmed 0x3fff,2,fr7 ; 15 bit result
1401 set_fr_iimmed 2,0x3fff,fr8
1402 cmmachs fr7,fr8,acc0,cc3,0
1403 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1404 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1405 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1406 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1407 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1408 test_accg_immed 0,accg0
1409 test_acc_immed 0,acc0
1410 test_accg_immed 0,accg1
1411 test_acc_immed 0,acc1
1412
1413 set_fr_iimmed 0x4000,2,fr7 ; 16 bit result
1414 set_fr_iimmed 2,0x4000,fr8
1415 cmmachs fr7,fr8,acc0,cc3,1
1416 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1417 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1418 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1419 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1420 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1421 test_accg_immed 0,accg0
1422 test_acc_immed 0,acc0
1423 test_accg_immed 0,accg1
1424 test_acc_immed 0,acc1
1425
1426 set_fr_iimmed 0x7fff,0x7fff,fr7 ; max positive result
1427 set_fr_iimmed 0x7fff,0x7fff,fr8
1428 cmmachs fr7,fr8,acc0,cc3,0
1429 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1430 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1431 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1432 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1433 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1434 test_accg_immed 0,accg0
1435 test_acc_immed 0,acc0
1436 test_accg_immed 0,accg1
1437 test_acc_immed 0,acc1
1438
1439 ; Mixed operands
1440 set_fr_iimmed 2,0xfffd,fr7 ; multiply small numbers
1441 set_fr_iimmed 0xfffd,2,fr8
1442 cmmachs fr7,fr8,acc0,cc3,1
1443 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1444 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1445 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1446 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1447 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1448 test_accg_immed 0,accg0
1449 test_acc_immed 0,acc0
1450 test_accg_immed 0,accg1
1451 test_acc_immed 0,acc1
1452
1453 set_fr_iimmed 0xfffe,1,fr7 ; multiply by 1
1454 set_fr_iimmed 1,0xfffe,fr8
1455 cmmachs fr7,fr8,acc0,cc3,0
1456 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1457 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1458 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1459 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1460 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1461 test_accg_immed 0,accg0
1462 test_acc_immed 0,acc0
1463 test_accg_immed 0,accg1
1464 test_acc_immed 0,acc1
1465
1466 set_fr_iimmed 0xfffe,0,fr7 ; multiply by 0
1467 set_fr_iimmed 0,0xfffe,fr8
1468 cmmachs fr7,fr8,acc0,cc3,1
1469 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1470 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1471 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1472 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1473 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1474 test_accg_immed 0,accg0
1475 test_acc_immed 0,acc0
1476 test_accg_immed 0,accg1
1477 test_acc_immed 0,acc1
1478
1479 set_fr_iimmed 0x2001,0xfffe,fr7 ; 15 bit result
1480 set_fr_iimmed 0xfffe,0x2001,fr8
1481 cmmachs fr7,fr8,acc0,cc3,0
1482 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1483 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1484 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1485 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1486 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1487 test_accg_immed 0,accg0
1488 test_acc_immed 0,acc0
1489 test_accg_immed 0,accg1
1490 test_acc_immed 0,acc1
1491
1492 set_fr_iimmed 0x4000,0xfffe,fr7 ; 16 bit result
1493 set_fr_iimmed 0xfffe,0x4000,fr8
1494 cmmachs fr7,fr8,acc0,cc7,1
1495 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1496 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1497 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1498 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1499 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1500 test_accg_immed 0,accg0
1501 test_acc_immed 0,acc0
1502 test_accg_immed 0,accg1
1503 test_acc_immed 0,acc1
1504
1505 set_fr_iimmed 0x7fff,0x8000,fr7 ; max negative result
1506 set_fr_iimmed 0x8000,0x7fff,fr8
1507 cmmachs fr7,fr8,acc0,cc7,0
1508 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1509 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1510 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1511 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1512 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1513 test_accg_immed 0,accg0
1514 test_acc_immed 0,acc0
1515 test_accg_immed 0,accg1
1516 test_acc_immed 0,acc1
1517
1518 ; Negative operands
1519 set_fr_iimmed 0xfffe,0xfffd,fr7 ; multiply small numbers
1520 set_fr_iimmed 0xfffd,0xfffe,fr8
1521 cmmachs fr7,fr8,acc0,cc7,1
1522 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1523 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1524 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1525 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1526 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1527 test_accg_immed 0,accg0
1528 test_acc_immed 0,acc0
1529 test_accg_immed 0,accg1
1530 test_acc_immed 0,acc1
1531
1532 set_fr_iimmed 0xffff,0xfffe,fr7 ; multiply by -1
1533 set_fr_iimmed 0xfffe,0xffff,fr8
1534 cmmachs fr7,fr8,acc0,cc7,0
1535 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1536 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1537 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1538 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1539 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1540 test_accg_immed 0,accg0
1541 test_acc_immed 0,acc0
1542 test_accg_immed 0,accg1
1543 test_acc_immed 0,acc1
1544
1545 set_fr_iimmed 0x8001,0x8001,fr7 ; almost max positive result
1546 set_fr_iimmed 0x8001,0x8001,fr8
1547 cmmachs fr7,fr8,acc0,cc7,1
1548 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1549 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1550 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1551 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1552 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1553 test_accg_immed 0,accg0
1554 test_acc_immed 0,acc0
1555 test_accg_immed 0,accg1
1556 test_acc_immed 0,acc1
1557
1558 set_fr_iimmed 0x8000,0x8000,fr7 ; max positive result
1559 set_fr_iimmed 0x8000,0x8000,fr8
1560 cmmachs fr7,fr8,acc0,cc7,0
1561 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1562 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1563 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1564 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1565 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1566 test_accg_immed 0,accg0
1567 test_acc_immed 0,acc0
1568 test_accg_immed 0,accg1
1569 test_acc_immed 0,acc1
1570
1571 set_accg_immed 0x7f,accg0 ; saturation
1572 set_acc_immed 0xffffffff,acc0
1573 set_accg_immed 0x7f,accg1
1574 set_acc_immed 0xffffffff,acc1
1575 set_fr_iimmed 1,1,fr7
1576 set_fr_iimmed 1,1,fr8
1577 cmmachs fr7,fr8,acc0,cc7,1
1578 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1579 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1580 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1581 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1582 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1583 test_accg_immed 0x7f,accg0 ; saturation
1584 test_acc_immed 0xffffffff,acc0
1585 test_accg_immed 0x7f,accg1
1586 test_acc_immed 0xffffffff,acc1
1587
1588 set_fr_iimmed 0x7fff,0x7fff,fr7 ; saturation
1589 set_fr_iimmed 0x7fff,0x7fff,fr8
1590 cmmachs fr7,fr8,acc0,cc7,0
1591 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1592 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1593 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1594 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1595 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1596 test_accg_immed 0x7f,accg0 ; saturation
1597 test_acc_immed 0xffffffff,acc0
1598 test_accg_immed 0x7f,accg1
1599 test_acc_immed 0xffffffff,acc1
1600
1601 set_accg_immed 0x80,accg0 ; saturation
1602 set_acc_immed 0,acc0
1603 set_accg_immed 0x80,accg1
1604 set_acc_immed 0,acc1
1605 set_fr_iimmed 0xffff,0,fr7
1606 set_fr_iimmed 1,0xffff,fr8
1607 cmmachs fr7,fr8,acc0,cc7,1
1608 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1609 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1610 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1611 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1612 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1613 test_accg_immed 0x80,accg0 ; saturation
1614 test_acc_immed 0,acc0
1615 test_accg_immed 0x80,accg1
1616 test_acc_immed 0,acc1
1617
1618 set_fr_iimmed 0x0000,0x8000,fr7 ; saturation
1619 set_fr_iimmed 0x7fff,0x7fff,fr8
1620 cmmachs fr7,fr8,acc0,cc7,0
1621 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
1622 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
1623 test_spr_bits 2,1,0,msr1 ; msr1.ovf not set
1624 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
1625 test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
1626 test_accg_immed 0x80,accg0 ; saturation
1627 test_acc_immed 0,acc0
1628 test_accg_immed 0x80,accg1
1629 test_acc_immed 0,acc1
1630
1631 pass
This page took 0.085492 seconds and 4 git commands to generate.