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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [testsuite/] [sim/] [frv/] [fr550/] [cmcpxiu.cgs] - Blame information for rev 816

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

Line No. Rev Author Line
1 227 jeremybenn
# frv testcase for cmcpxiu $GRi,$GRj,$GRk,$CCi,$cond
2
# mach: all
3
 
4
        .include "../testutils.inc"
5
 
6
        start
7
 
8
        .global cmcpxiu
9
cmcpxiu:
10
        set_spr_immed   0x1b1b,cccr
11
 
12
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
13
        set_fr_iimmed   3,5,fr8
14
        cmcpxiu         fr7,fr8,acc0,cc0,1
15
        test_accg_immed         0,accg0
16
        test_acc_immed  26,acc0
17
 
18
        set_fr_iimmed   1,2,fr7         ; multiply by 1
19
        set_fr_iimmed   1,3,fr8
20
        cmcpxiu         fr7,fr8,acc0,cc0,1
21
        test_accg_immed         0,accg0
22
        test_acc_immed  5,acc0
23
 
24
        set_fr_iimmed   0,2,fr7         ; multiply by 0
25
        set_fr_iimmed   0,2,fr8
26
        cmcpxiu         fr7,fr8,acc0,cc0,1
27
        test_accg_immed         0,accg0
28
        test_acc_immed  0,acc0
29
 
30
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
31
        set_fr_iimmed   0x0001,2,fr8
32
        cmcpxiu         fr7,fr8,acc0,cc0,1
33
        test_accg_immed         0,accg0
34
        test_acc_limmed 0x0000,0x7fff,acc0
35
 
36
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
37
        set_fr_iimmed   0x0001,2,fr8
38
        cmcpxiu         fr7,fr8,acc0,cc0,1
39
        test_accg_immed         0,accg0
40
        test_acc_limmed 0x0000,0x8001,acc0
41
 
42
        set_fr_iimmed   0x4000,1,fr7    ; 17 bit result
43
        set_fr_iimmed   0x0001,4,fr8
44
        cmcpxiu         fr7,fr8,acc0,cc0,1
45
        test_accg_immed         0,accg0
46
        test_acc_immed  0x00010001,acc0
47
 
48
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
49
        set_fr_iimmed   0x7fff,0x7fff,fr8
50
        cmcpxiu         fr7,fr8,acc0,cc4,1
51
        test_accg_immed         0,accg0
52
        test_acc_immed  0x3fff0001,acc0
53
 
54
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
55
        set_fr_iimmed   0x0000,0x8000,fr8
56
        cmcpxiu         fr7,fr8,acc0,cc4,1
57
        test_accg_immed         0,accg0
58
        test_acc_limmed 0x4000,0x0000,acc0
59
 
60
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
61
        set_fr_iimmed   0xffff,0xffff,fr8
62
        cmcpxiu         fr7,fr8,acc0,cc4,1
63
        test_accg_immed         0,accg0
64
        test_acc_limmed 0xfffe,0x0001,acc0
65
 
66
        set_fr_iimmed   0xfffe,0xffff,fr7       ; almost max positive result
67
        set_fr_iimmed   0xffff,0xffff,fr8
68
        cmcpxiu         fr7,fr8,acc0,cc4,1
69
        test_accg_immed 1,accg0
70
        test_acc_immed  0xfffb0003,acc0
71
 
72
        set_fr_iimmed   0xffff,0xffff,fr7       ; max positive result
73
        set_fr_iimmed   0xffff,0xffff,fr8
74
        cmcpxiu         fr7,fr8,acc0,cc4,1
75
        test_accg_immed 1,accg0
76
        test_acc_immed  0xfffc0002,acc0
77
 
78
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
79
        set_fr_iimmed   3,5,fr8
80
        cmcpxiu         fr7,fr8,acc0,cc1,0
81
        test_accg_immed         0,accg0
82
        test_acc_immed  26,acc0
83
 
84
        set_fr_iimmed   1,2,fr7         ; multiply by 1
85
        set_fr_iimmed   1,3,fr8
86
        cmcpxiu         fr7,fr8,acc0,cc1,0
87
        test_accg_immed         0,accg0
88
        test_acc_immed  5,acc0
89
 
90
        set_fr_iimmed   0,2,fr7         ; multiply by 0
91
        set_fr_iimmed   0,2,fr8
92
        cmcpxiu         fr7,fr8,acc0,cc1,0
93
        test_accg_immed         0,accg0
94
        test_acc_immed  0,acc0
95
 
96
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
97
        set_fr_iimmed   0x0001,2,fr8
98
        cmcpxiu         fr7,fr8,acc0,cc1,0
99
        test_accg_immed         0,accg0
100
        test_acc_limmed 0x0000,0x7fff,acc0
101
 
102
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
103
        set_fr_iimmed   0x0001,2,fr8
104
        cmcpxiu         fr7,fr8,acc0,cc1,0
105
        test_accg_immed         0,accg0
106
        test_acc_limmed 0x0000,0x8001,acc0
107
 
108
        set_fr_iimmed   0x4000,1,fr7    ; 17 bit result
109
        set_fr_iimmed   0x0001,4,fr8
110
        cmcpxiu         fr7,fr8,acc0,cc1,0
111
        test_accg_immed         0,accg0
112
        test_acc_immed  0x00010001,acc0
113
 
114
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
115
        set_fr_iimmed   0x7fff,0x7fff,fr8
116
        cmcpxiu         fr7,fr8,acc0,cc5,0
117
        test_accg_immed         0,accg0
118
        test_acc_immed  0x3fff0001,acc0
119
 
120
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
121
        set_fr_iimmed   0x0000,0x8000,fr8
122
        cmcpxiu         fr7,fr8,acc0,cc5,0
123
        test_accg_immed         0,accg0
124
        test_acc_limmed 0x4000,0x0000,acc0
125
 
126
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
127
        set_fr_iimmed   0xffff,0xffff,fr8
128
        cmcpxiu         fr7,fr8,acc0,cc5,0
129
        test_accg_immed         0,accg0
130
        test_acc_limmed 0xfffe,0x0001,acc0
131
 
132
        set_fr_iimmed   0xfffe,0xffff,fr7       ; almost max positive result
133
        set_fr_iimmed   0xffff,0xffff,fr8
134
        cmcpxiu         fr7,fr8,acc0,cc5,0
135
        test_accg_immed 1,accg0
136
        test_acc_immed  0xfffb0003,acc0
137
 
138
        set_fr_iimmed   0xffff,0xffff,fr7       ; max positive result
139
        set_fr_iimmed   0xffff,0xffff,fr8
140
        cmcpxiu         fr7,fr8,acc0,cc5,0
141
        test_accg_immed 1,accg0
142
        test_acc_immed  0xfffc0002,acc0
143
 
144
        set_accg_immed  0x00000011,accg0
145
        set_acc_immed   0x11111111,acc0
146
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
147
        set_fr_iimmed   3,5,fr8
148
        cmcpxiu         fr7,fr8,acc0,cc0,0
149
        test_accg_immed         0x00000011,accg0
150
        test_acc_immed  0x11111111,acc0
151
 
152
        set_fr_iimmed   1,2,fr7         ; multiply by 1
153
        set_fr_iimmed   1,3,fr8
154
        cmcpxiu         fr7,fr8,acc0,cc0,0
155
        test_accg_immed         0x00000011,accg0
156
        test_acc_immed  0x11111111,acc0
157
 
158
        set_fr_iimmed   0,2,fr7         ; multiply by 0
159
        set_fr_iimmed   0,2,fr8
160
        cmcpxiu         fr7,fr8,acc0,cc0,0
161
        test_accg_immed         0x00000011,accg0
162
        test_acc_immed  0x11111111,acc0
163
 
164
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
165
        set_fr_iimmed   0x0001,2,fr8
166
        cmcpxiu         fr7,fr8,acc0,cc0,0
167
        test_accg_immed         0x00000011,accg0
168
        test_acc_immed  0x11111111,acc0
169
 
170
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
171
        set_fr_iimmed   0x0001,4,fr8
172
        cmcpxiu         fr7,fr8,acc0,cc0,0
173
        test_accg_immed         0x00000011,accg0
174
        test_acc_immed  0x11111111,acc0
175
 
176
        set_fr_iimmed   0x8000,1,fr7    ; 17 bit result
177
        set_fr_iimmed   0x0001,4,fr8
178
        cmcpxiu         fr7,fr8,acc0,cc0,0
179
        test_accg_immed         0x00000011,accg0
180
        test_acc_immed  0x11111111,acc0
181
 
182
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
183
        set_fr_iimmed   0x7fff,0x7fff,fr8
184
        cmcpxiu         fr7,fr8,acc0,cc4,0
185
        test_accg_immed         0x00000011,accg0
186
        test_acc_immed  0x11111111,acc0
187
 
188
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
189
        set_fr_iimmed   0x0000,0x8000,fr8
190
        cmcpxiu         fr7,fr8,acc0,cc4,0
191
        test_accg_immed         0x00000011,accg0
192
        test_acc_immed  0x11111111,acc0
193
 
194
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
195
        set_fr_iimmed   0xffff,0xffff,fr8
196
        cmcpxiu         fr7,fr8,acc0,cc4,0
197
        test_accg_immed         0x00000011,accg0
198
        test_acc_immed  0x11111111,acc0
199
 
200
        set_spr_immed   0,msr0
201
        set_fr_iimmed   0x0000,0x0001,fr7       ; saturation
202
        set_fr_iimmed   0x0001,0xffff,fr8
203
        cmcpxiu         fr7,fr8,acc0,cc4,0
204
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
205
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
206
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
207
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
208
        test_accg_immed         0x00000011,accg0
209
        test_acc_immed  0x11111111,acc0
210
 
211
        set_fr_iimmed   0x0000,0xffff,fr7       ; saturation
212
        set_fr_iimmed   0xffff,0xffff,fr8
213
        cmcpxiu         fr7,fr8,acc0,cc4,0
214
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
215
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
216
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
217
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
218
        test_accg_immed         0x00000011,accg0
219
        test_acc_immed  0x11111111,acc0
220
 
221
        set_fr_iimmed   0xfffe,0xffff,fr7       ; saturation
222
        set_fr_iimmed   0xffff,0xffff,fr8
223
        cmcpxiu         fr7,fr8,acc0,cc4,0
224
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
225
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
226
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
227
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
228
        test_accg_immed         0x00000011,accg0
229
        test_acc_immed  0x11111111,acc0
230
 
231
        set_accg_immed  0x00000011,accg0
232
        set_acc_immed   0x11111111,acc0
233
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
234
        set_fr_iimmed   3,5,fr8
235
        cmcpxiu         fr7,fr8,acc0,cc1,1
236
        test_accg_immed         0x00000011,accg0
237
        test_acc_immed  0x11111111,acc0
238
 
239
        set_fr_iimmed   1,2,fr7         ; multiply by 1
240
        set_fr_iimmed   1,3,fr8
241
        cmcpxiu         fr7,fr8,acc0,cc1,1
242
        test_accg_immed         0x00000011,accg0
243
        test_acc_immed  0x11111111,acc0
244
 
245
        set_fr_iimmed   0,2,fr7         ; multiply by 0
246
        set_fr_iimmed   0,2,fr8
247
        cmcpxiu         fr7,fr8,acc0,cc1,1
248
        test_accg_immed         0x00000011,accg0
249
        test_acc_immed  0x11111111,acc0
250
 
251
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
252
        set_fr_iimmed   0x0001,2,fr8
253
        cmcpxiu         fr7,fr8,acc0,cc1,1
254
        test_accg_immed         0x00000011,accg0
255
        test_acc_immed  0x11111111,acc0
256
 
257
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
258
        set_fr_iimmed   0x0001,4,fr8
259
        cmcpxiu         fr7,fr8,acc0,cc1,1
260
        test_accg_immed         0x00000011,accg0
261
        test_acc_immed  0x11111111,acc0
262
 
263
        set_fr_iimmed   0x8000,1,fr7    ; 17 bit result
264
        set_fr_iimmed   0x0001,4,fr8
265
        cmcpxiu         fr7,fr8,acc0,cc1,1
266
        test_accg_immed         0x00000011,accg0
267
        test_acc_immed  0x11111111,acc0
268
 
269
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
270
        set_fr_iimmed   0x7fff,0x7fff,fr8
271
        cmcpxiu         fr7,fr8,acc0,cc5,1
272
        test_accg_immed         0x00000011,accg0
273
        test_acc_immed  0x11111111,acc0
274
 
275
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
276
        set_fr_iimmed   0x0000,0x8000,fr8
277
        cmcpxiu         fr7,fr8,acc0,cc5,1
278
        test_accg_immed         0x00000011,accg0
279
        test_acc_immed  0x11111111,acc0
280
 
281
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
282
        set_fr_iimmed   0xffff,0xffff,fr8
283
        cmcpxiu         fr7,fr8,acc0,cc5,1
284
        test_accg_immed         0x00000011,accg0
285
        test_acc_immed  0x11111111,acc0
286
 
287
        set_spr_immed   0,msr0
288
        set_fr_iimmed   0x0000,0x0001,fr7       ; saturation
289
        set_fr_iimmed   0x0001,0xffff,fr8
290
        cmcpxiu         fr7,fr8,acc0,cc5,1
291
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
292
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
293
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
294
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
295
        test_accg_immed         0x00000011,accg0
296
        test_acc_immed  0x11111111,acc0
297
 
298
        set_fr_iimmed   0x0000,0xffff,fr7       ; saturation
299
        set_fr_iimmed   0xffff,0xffff,fr8
300
        cmcpxiu         fr7,fr8,acc0,cc5,1
301
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
302
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
303
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
304
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
305
        test_accg_immed         0x00000011,accg0
306
        test_acc_immed  0x11111111,acc0
307
 
308
        set_fr_iimmed   0xfffe,0xffff,fr7       ; saturation
309
        set_fr_iimmed   0xffff,0xffff,fr8
310
        cmcpxiu         fr7,fr8,acc0,cc5,1
311
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
312
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
313
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
314
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
315
        test_accg_immed         0x00000011,accg0
316
        test_acc_immed  0x11111111,acc0
317
 
318
        set_accg_immed  0x00000011,accg0
319
        set_acc_immed   0x11111111,acc0
320
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
321
        set_fr_iimmed   3,5,fr8
322
        cmcpxiu         fr7,fr8,acc0,cc2,1
323
        test_accg_immed         0x00000011,accg0
324
        test_acc_immed  0x11111111,acc0
325
 
326
        set_fr_iimmed   1,2,fr7         ; multiply by 1
327
        set_fr_iimmed   1,3,fr8
328
        cmcpxiu         fr7,fr8,acc0,cc2,0
329
        test_accg_immed         0x00000011,accg0
330
        test_acc_immed  0x11111111,acc0
331
 
332
        set_fr_iimmed   0,2,fr7         ; multiply by 0
333
        set_fr_iimmed   0,2,fr8
334
        cmcpxiu         fr7,fr8,acc0,cc2,1
335
        test_accg_immed         0x00000011,accg0
336
        test_acc_immed  0x11111111,acc0
337
 
338
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
339
        set_fr_iimmed   0x0001,2,fr8
340
        cmcpxiu         fr7,fr8,acc0,cc2,0
341
        test_accg_immed         0x00000011,accg0
342
        test_acc_immed  0x11111111,acc0
343
 
344
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
345
        set_fr_iimmed   0x0001,4,fr8
346
        cmcpxiu         fr7,fr8,acc0,cc2,1
347
        test_accg_immed         0x00000011,accg0
348
        test_acc_immed  0x11111111,acc0
349
 
350
        set_fr_iimmed   0x8000,1,fr7    ; 17 bit result
351
        set_fr_iimmed   0x0001,4,fr8
352
        cmcpxiu         fr7,fr8,acc0,cc2,0
353
        test_accg_immed         0x00000011,accg0
354
        test_acc_immed  0x11111111,acc0
355
 
356
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
357
        set_fr_iimmed   0x7fff,0x7fff,fr8
358
        cmcpxiu         fr7,fr8,acc0,cc6,1
359
        test_accg_immed         0x00000011,accg0
360
        test_acc_immed  0x11111111,acc0
361
 
362
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
363
        set_fr_iimmed   0x0000,0x8000,fr8
364
        cmcpxiu         fr7,fr8,acc0,cc6,0
365
        test_accg_immed         0x00000011,accg0
366
        test_acc_immed  0x11111111,acc0
367
 
368
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
369
        set_fr_iimmed   0xffff,0xffff,fr8
370
        cmcpxiu         fr7,fr8,acc0,cc6,1
371
        test_accg_immed         0x00000011,accg0
372
        test_acc_immed  0x11111111,acc0
373
 
374
        set_spr_immed   0,msr0
375
        set_fr_iimmed   0x0000,0x0001,fr7       ; saturation
376
        set_fr_iimmed   0x0001,0xffff,fr8
377
        cmcpxiu         fr7,fr8,acc0,cc6,0
378
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
379
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
380
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
381
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
382
        test_accg_immed         0x00000011,accg0
383
        test_acc_immed  0x11111111,acc0
384
 
385
        set_fr_iimmed   0x0000,0xffff,fr7       ; saturation
386
        set_fr_iimmed   0xffff,0xffff,fr8
387
        cmcpxiu         fr7,fr8,acc0,cc6,1
388
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
389
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
390
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
391
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
392
        test_accg_immed         0x00000011,accg0
393
        test_acc_immed  0x11111111,acc0
394
 
395
        set_fr_iimmed   0xfffe,0xffff,fr7       ; saturation
396
        set_fr_iimmed   0xffff,0xffff,fr8
397
        cmcpxiu         fr7,fr8,acc0,cc6,0
398
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
399
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
400
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
401
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
402
        test_accg_immed         0x00000011,accg0
403
        test_acc_immed  0x11111111,acc0
404
 
405
        set_accg_immed  0x00000011,accg0
406
        set_acc_immed   0x11111111,acc0
407
        set_fr_iimmed   4,2,fr7         ; multiply small numbers
408
        set_fr_iimmed   3,5,fr8
409
        cmcpxiu         fr7,fr8,acc0,cc3,1
410
        test_accg_immed         0x00000011,accg0
411
        test_acc_immed  0x11111111,acc0
412
 
413
        set_fr_iimmed   1,2,fr7         ; multiply by 1
414
        set_fr_iimmed   1,3,fr8
415
        cmcpxiu         fr7,fr8,acc0,cc3,0
416
        test_accg_immed         0x00000011,accg0
417
        test_acc_immed  0x11111111,acc0
418
 
419
        set_fr_iimmed   0,2,fr7         ; multiply by 0
420
        set_fr_iimmed   0,2,fr8
421
        cmcpxiu         fr7,fr8,acc0,cc3,1
422
        test_accg_immed         0x00000011,accg0
423
        test_acc_immed  0x11111111,acc0
424
 
425
        set_fr_iimmed   0x3fff,1,fr7    ; 15 bit result
426
        set_fr_iimmed   0x0001,2,fr8
427
        cmcpxiu         fr7,fr8,acc0,cc3,0
428
        test_accg_immed         0x00000011,accg0
429
        test_acc_immed  0x11111111,acc0
430
 
431
        set_fr_iimmed   0x4000,1,fr7    ; 16 bit result
432
        set_fr_iimmed   0x0001,4,fr8
433
        cmcpxiu         fr7,fr8,acc0,cc3,1
434
        test_accg_immed         0x00000011,accg0
435
        test_acc_immed  0x11111111,acc0
436
 
437
        set_fr_iimmed   0x8000,1,fr7    ; 17 bit result
438
        set_fr_iimmed   0x0001,4,fr8
439
        cmcpxiu         fr7,fr8,acc0,cc3,0
440
        test_accg_immed         0x00000011,accg0
441
        test_acc_immed  0x11111111,acc0
442
 
443
        set_fr_iimmed   0x7fff,0x0000,fr7       ; max positive result
444
        set_fr_iimmed   0x7fff,0x7fff,fr8
445
        cmcpxiu         fr7,fr8,acc0,cc7,1
446
        test_accg_immed         0x00000011,accg0
447
        test_acc_immed  0x11111111,acc0
448
 
449
        set_fr_iimmed   0x8000,0x8000,fr7       ; max positive result
450
        set_fr_iimmed   0x0000,0x8000,fr8
451
        cmcpxiu         fr7,fr8,acc0,cc7,0
452
        test_accg_immed         0x00000011,accg0
453
        test_acc_immed  0x11111111,acc0
454
 
455
        set_fr_iimmed   0xffff,0x0000,fr7       ; max positive result
456
        set_fr_iimmed   0xffff,0xffff,fr8
457
        cmcpxiu         fr7,fr8,acc0,cc7,1
458
        test_accg_immed         0x00000011,accg0
459
        test_acc_immed  0x11111111,acc0
460
 
461
        set_spr_immed   0,msr0
462
        set_fr_iimmed   0x0000,0x0001,fr7       ; saturation
463
        set_fr_iimmed   0x0001,0xffff,fr8
464
        cmcpxiu         fr7,fr8,acc0,cc7,0
465
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
466
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
467
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
468
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
469
        test_accg_immed         0x00000011,accg0
470
        test_acc_immed  0x11111111,acc0
471
 
472
        set_fr_iimmed   0x0000,0xffff,fr7       ; saturation
473
        set_fr_iimmed   0xffff,0xffff,fr8
474
        cmcpxiu         fr7,fr8,acc0,cc7,1
475
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
476
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
477
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
478
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
479
        test_accg_immed         0x00000011,accg0
480
        test_acc_immed  0x11111111,acc0
481
 
482
        set_fr_iimmed   0xfffe,0xffff,fr7       ; saturation
483
        set_fr_iimmed   0xffff,0xffff,fr8
484
        cmcpxiu         fr7,fr8,acc0,cc7,0
485
        test_spr_bits   0x3c,2,0x0,msr0         ; msr0.sie is clear
486
        test_spr_bits   2,1,0,msr0              ; msr0.ovf is clear
487
        test_spr_bits   1,0,0,msr0              ; msr0.aovf is clear
488
        test_spr_bits   0x7000,12,1,msr0        ; msr0.mtt is clear
489
        test_accg_immed         0x00000011,accg0
490
        test_acc_immed  0x11111111,acc0
491
 
492
        pass

powered by: WebSVN 2.1.0

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