OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [testsuite/] [sim/] [frv/] [cmmachs.cgs] - Blame information for rev 834

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
# frv testcase for cmmachs $GRi,$GRj,$ACCk,$CCi,$cond
2
# mach: frv fr500 fr400
3
 
4
        .include "testutils.inc"
5
 
6
        start
7
 
8
        .global cmmachs
9
cmmachs:
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.