scutss.cgs revision 1.1 1 # frv testcase for scutss $FRj,$FRk
2 # mach: fr405 fr450
3
4 .include "../testutils.inc"
5
6 start
7
8 .global scutss
9 scutss:
10 set_spr_immed 0xffffffe7,iacc0h
11 set_spr_immed 0x89abcdef,iacc0l
12
13 set_gr_immed 0,gr10
14 scutss gr10,gr11
15 test_gr_limmed 0xffff,0xffe8,gr11
16
17 set_gr_immed 1,gr10
18 scutss gr10,gr11
19 test_gr_limmed 0xffff,0xffcf,gr11
20
21 set_gr_immed 2,gr10
22 scutss gr10,gr11
23 test_gr_limmed 0xffff,0xff9e,gr11
24
25 set_gr_immed 3,gr10
26 scutss gr10,gr11
27 test_gr_limmed 0xffff,0xff3c,gr11
28
29 set_gr_immed 4,gr10
30 scutss gr10,gr11
31 test_gr_limmed 0xffff,0xfe79,gr11
32
33 set_gr_immed 5,gr10
34 scutss gr10,gr11
35 test_gr_limmed 0xffff,0xfcf1,gr11
36
37 set_gr_immed 6,gr10
38 scutss gr10,gr11
39 test_gr_limmed 0xffff,0xf9e2,gr11
40
41 set_gr_immed 7,gr10
42 scutss gr10,gr11
43 test_gr_limmed 0xffff,0xf3c5,gr11
44
45 set_gr_immed 8,gr10
46 scutss gr10,gr11
47 test_gr_limmed 0xffff,0xe78a,gr11
48
49 set_gr_immed 9,gr10
50 scutss gr10,gr11
51 test_gr_limmed 0xffff,0xcf13,gr11
52
53 set_gr_immed 10,gr10
54 scutss gr10,gr11
55 test_gr_limmed 0xffff,0x9e27,gr11
56
57 set_gr_immed 11,gr10
58 scutss gr10,gr11
59 test_gr_limmed 0xffff,0x3c4d,gr11
60
61 set_gr_immed 12,gr10
62 scutss gr10,gr11
63 test_gr_limmed 0xfffe,0x789b,gr11
64
65 set_gr_immed 13,gr10
66 scutss gr10,gr11
67 test_gr_limmed 0xfffc,0xf135,gr11
68
69 set_gr_immed 14,gr10
70 scutss gr10,gr11
71 test_gr_limmed 0xfff9,0xe26b,gr11
72
73 set_gr_immed 15,gr10
74 scutss gr10,gr11
75 test_gr_limmed 0xfff3,0xc4d6,gr11
76
77 set_gr_immed 16,gr10
78 scutss gr10,gr11
79 test_gr_limmed 0xffe7,0x89ac,gr11
80
81 set_gr_immed 17,gr10
82 scutss gr10,gr11
83 test_gr_limmed 0xffcf,0x1358,gr11
84
85 set_gr_immed 18,gr10
86 scutss gr10,gr11
87 test_gr_limmed 0xff9e,0x26af,gr11
88
89 set_gr_immed 19,gr10
90 scutss gr10,gr11
91 test_gr_limmed 0xff3c,0x4d5e,gr11
92
93 set_gr_immed 20,gr10
94 scutss gr10,gr11
95 test_gr_limmed 0xfe78,0x9abd,gr11
96
97 set_gr_immed 21,gr10
98 scutss gr10,gr11
99 test_gr_limmed 0xfcf1,0x357a,gr11
100
101 set_gr_immed 22,gr10
102 scutss gr10,gr11
103 test_gr_limmed 0xf9e2,0x6af3,gr11
104
105 set_gr_immed 23,gr10
106 scutss gr10,gr11
107 test_gr_limmed 0xf3c4,0xd5e7,gr11
108
109 set_gr_immed 24,gr10
110 scutss gr10,gr11
111 test_gr_limmed 0xe789,0xabce,gr11
112
113 set_gr_immed 25,gr10
114 scutss gr10,gr11
115 test_gr_limmed 0xcf13,0x579c,gr11
116
117 set_gr_immed 26,gr10
118 scutss gr10,gr11
119 test_gr_limmed 0x9e26,0xaf38,gr11
120
121 set_gr_immed 27,gr10
122 scutss gr10,gr11
123 test_gr_limmed 0x8000,0x0000,gr11
124
125 set_gr_immed 28,gr10
126 scutss gr10,gr11
127 test_gr_limmed 0x8000,0x0000,gr11
128
129 set_gr_immed 29,gr10
130 scutss gr10,gr11
131 test_gr_limmed 0x8000,0x0000,gr11
132
133 set_gr_immed 30,gr10
134 scutss gr10,gr11
135 test_gr_limmed 0x8000,0x0000,gr11
136
137 set_gr_immed 31,gr10
138 scutss gr10,gr11
139 test_gr_limmed 0x8000,0x0000,gr11
140
141 set_gr_immed 32,gr10
142 scutss gr10,gr11
143 test_gr_limmed 0x8000,0x0000,gr11
144
145 set_gr_immed 33,gr10
146 scutss gr10,gr11
147 test_gr_limmed 0x8000,0x0000,gr11
148
149 set_gr_immed 34,gr10
150 scutss gr10,gr11
151 test_gr_limmed 0x8000,0x0000,gr11
152
153 set_gr_immed 35,gr10
154 scutss gr10,gr11
155 test_gr_limmed 0x8000,0x0000,gr11
156
157 set_gr_immed 36,gr10
158 scutss gr10,gr11
159 test_gr_limmed 0x8000,0x0000,gr11
160
161 set_gr_immed 37,gr10
162 scutss gr10,gr11
163 test_gr_limmed 0x8000,0x0000,gr11
164
165 set_gr_immed 38,gr10
166 scutss gr10,gr11
167 test_gr_limmed 0x8000,0x0000,gr11
168
169 set_gr_immed 39,gr10
170 scutss gr10,gr11
171 test_gr_limmed 0x8000,0x0000,gr11
172
173 set_gr_immed 40,gr10
174 scutss gr10,gr11
175 test_gr_limmed 0x8000,0x0000,gr11
176
177 set_gr_immed 41,gr10
178 scutss gr10,gr11
179 test_gr_limmed 0x8000,0x0000,gr11
180
181 set_gr_immed 42,gr10
182 scutss gr10,gr11
183 test_gr_limmed 0x8000,0x0000,gr11
184
185 set_gr_immed 43,gr10
186 scutss gr10,gr11
187 test_gr_limmed 0x8000,0x0000,gr11
188
189 set_gr_immed 44,gr10
190 scutss gr10,gr11
191 test_gr_limmed 0x8000,0x0000,gr11
192
193 set_gr_immed 45,gr10
194 scutss gr10,gr11
195 test_gr_limmed 0x8000,0x0000,gr11
196
197 set_gr_immed 46,gr10
198 scutss gr10,gr11
199 test_gr_limmed 0x8000,0x0000,gr11
200
201 set_gr_immed 47,gr10
202 scutss gr10,gr11
203 test_gr_limmed 0x8000,0x0000,gr11
204
205 set_gr_immed 48,gr10
206 scutss gr10,gr11
207 test_gr_limmed 0x8000,0x0000,gr11
208
209 set_gr_immed 49,gr10
210 scutss gr10,gr11
211 test_gr_limmed 0x8000,0x0000,gr11
212
213 set_gr_immed 50,gr10
214 scutss gr10,gr11
215 test_gr_limmed 0x8000,0x0000,gr11
216
217 set_gr_immed 51,gr10
218 scutss gr10,gr11
219 test_gr_limmed 0x8000,0x0000,gr11
220
221 set_gr_immed 52,gr10
222 scutss gr10,gr11
223 test_gr_limmed 0x8000,0x0000,gr11
224
225 set_gr_immed 53,gr10
226 scutss gr10,gr11
227 test_gr_limmed 0x8000,0x0000,gr11
228
229 set_gr_immed 54,gr10
230 scutss gr10,gr11
231 test_gr_limmed 0x8000,0x0000,gr11
232
233 set_gr_immed 55,gr10
234 scutss gr10,gr11
235 test_gr_limmed 0x8000,0x0000,gr11
236
237 set_gr_immed 56,gr10
238 scutss gr10,gr11
239 test_gr_limmed 0x8000,0x0000,gr11
240
241 set_gr_immed 57,gr10
242 scutss gr10,gr11
243 test_gr_limmed 0x8000,0x0000,gr11
244
245 set_gr_immed 58,gr10
246 scutss gr10,gr11
247 test_gr_limmed 0x8000,0x0000,gr11
248
249 set_gr_immed 59,gr10
250 scutss gr10,gr11
251 test_gr_limmed 0x8000,0x0000,gr11
252
253 set_gr_immed 60,gr10
254 scutss gr10,gr11
255 test_gr_limmed 0x8000,0x0000,gr11
256
257 set_gr_immed 61,gr10
258 scutss gr10,gr11
259 test_gr_limmed 0x8000,0x0000,gr11
260
261 set_gr_immed 62,gr10
262 scutss gr10,gr11
263 test_gr_limmed 0x8000,0x0000,gr11
264
265 set_gr_immed 63,gr10
266 scutss gr10,gr11
267 test_gr_limmed 0x8000,0x0000,gr11
268
269 set_gr_immed 64,gr10 ; same as -64
270 scutss gr10,gr11
271 test_gr_immed 0,gr11
272
273 set_gr_immed 128,gr10 ; same as 0
274 scutss gr10,gr11
275 test_gr_limmed 0xffff,0xffe8,gr11
276
277 .global scutss2
278 scutss2:
279 set_spr_immed 0xe789abcd,iacc0h
280 set_spr_immed 0xefa5a5a5,iacc0l
281
282 set_gr_limmed 0xffff,0xffff,gr10 ; -1
283 scutss gr10,gr11
284 test_gr_limmed 0xf3c4,0xd5e7,gr11
285
286 set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter)
287 scutss gr10,gr11
288 test_gr_limmed 0xf9e2,0x6af3,gr11
289
290 set_gr_immed -3,gr10
291 scutss gr10,gr11
292 test_gr_limmed 0xfcf1,0x357a,gr11
293
294 set_gr_immed -4,gr10
295 scutss gr10,gr11
296 test_gr_limmed 0xfe78,0x9abd,gr11
297
298 set_gr_immed -5,gr10
299 scutss gr10,gr11
300 test_gr_limmed 0xff3c,0x4d5e,gr11
301
302 set_gr_immed -6,gr10
303 scutss gr10,gr11
304 test_gr_limmed 0xff9e,0x26af,gr11
305
306 set_gr_immed -7,gr10
307 scutss gr10,gr11
308 test_gr_limmed 0xffcf,0x1358,gr11
309
310 set_gr_immed -8,gr10
311 scutss gr10,gr11
312 test_gr_limmed 0xffe7,0x89ac,gr11
313
314 set_gr_immed -9,gr10
315 scutss gr10,gr11
316 test_gr_limmed 0xfff3,0xc4d6,gr11
317
318 set_gr_immed -10,gr10
319 scutss gr10,gr11
320 test_gr_limmed 0xfff9,0xe26b,gr11
321
322 set_gr_immed -11,gr10
323 scutss gr10,gr11
324 test_gr_limmed 0xfffc,0xf135,gr11
325
326 set_gr_immed -12,gr10
327 scutss gr10,gr11
328 test_gr_limmed 0xfffe,0x789b,gr11
329
330 set_gr_immed -13,gr10
331 scutss gr10,gr11
332 test_gr_limmed 0xffff,0x3c4d,gr11
333
334 set_gr_immed -14,gr10
335 scutss gr10,gr11
336 test_gr_limmed 0xffff,0x9e27,gr11
337
338 set_gr_immed -15,gr10
339 scutss gr10,gr11
340 test_gr_limmed 0xffff,0xcf13,gr11
341
342 set_gr_immed -16,gr10
343 scutss gr10,gr11
344 test_gr_limmed 0xffff,0xe78a,gr11
345
346 set_gr_immed -17,gr10
347 scutss gr10,gr11
348 test_gr_limmed 0xffff,0xf3c5,gr11
349
350 set_gr_immed -18,gr10
351 scutss gr10,gr11
352 test_gr_limmed 0xffff,0xf9e2,gr11
353
354 set_gr_immed -19,gr10
355 scutss gr10,gr11
356 test_gr_limmed 0xffff,0xfcf1,gr11
357
358 set_gr_immed -20,gr10
359 scutss gr10,gr11
360 test_gr_limmed 0xffff,0xfe79,gr11
361
362 set_gr_immed -21,gr10
363 scutss gr10,gr11
364 test_gr_limmed 0xffff,0xff3c,gr11
365
366 set_gr_immed -22,gr10
367 scutss gr10,gr11
368 test_gr_limmed 0xffff,0xff9e,gr11
369
370 set_gr_immed -23,gr10
371 scutss gr10,gr11
372 test_gr_limmed 0xffff,0xffcf,gr11
373
374 set_gr_immed -24,gr10
375 scutss gr10,gr11
376 test_gr_limmed 0xffff,0xffe8,gr11
377
378 set_gr_immed -25,gr10
379 scutss gr10,gr11
380 test_gr_limmed 0xffff,0xfff4,gr11
381
382 set_gr_immed -26,gr10
383 scutss gr10,gr11
384 test_gr_limmed 0xffff,0xfffa,gr11
385
386 set_gr_immed -27,gr10
387 scutss gr10,gr11
388 test_gr_limmed 0xffff,0xfffd,gr11
389
390 set_gr_immed -28,gr10
391 scutss gr10,gr11
392 test_gr_limmed 0xffff,0xfffe,gr11
393
394 set_gr_immed -29,gr10
395 scutss gr10,gr11
396 test_gr_limmed 0xffff,0xffff,gr11
397
398 set_gr_immed -30,gr10
399 scutss gr10,gr11
400 test_gr_immed 0,gr11
401
402 set_gr_immed -31,gr10
403 scutss gr10,gr11
404 test_gr_immed 0,gr11
405
406 set_gr_immed -32,gr10
407 scutss gr10,gr11
408 test_gr_immed 0,gr11
409
410 set_gr_limmed 0,64,gr10 ; same as -32
411 scutss gr10,gr11
412 test_gr_immed 0,gr11
413
414 set_spr_immed 0x6789abcd,iacc0h
415 set_spr_immed 0xefa5a5a5,iacc0l
416
417 set_gr_limmed 0xffff,0xffff,gr10
418 scutss gr10,gr11
419 test_gr_limmed 0x33c4,0xd5e7,gr11
420
421 set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter)
422 scutss gr10,gr11
423 test_gr_limmed 0x19e2,0x6af3,gr11
424
425 set_gr_immed -3,gr10
426 scutss gr10,gr11
427 test_gr_limmed 0x0cf1,0x357a,gr11
428
429 set_gr_immed -4,gr10
430 scutss gr10,gr11
431 test_gr_limmed 0x0678,0x9abd,gr11
432
433 set_gr_immed -5,gr10
434 scutss gr10,gr11
435 test_gr_limmed 0x033c,0x4d5e,gr11
436
437 set_gr_immed -6,gr10
438 scutss gr10,gr11
439 test_gr_limmed 0x019e,0x26af,gr11
440
441 set_gr_immed -7,gr10
442 scutss gr10,gr11
443 test_gr_limmed 0x00cf,0x1358,gr11
444
445 set_gr_immed -8,gr10
446 scutss gr10,gr11
447 test_gr_limmed 0x0067,0x89ac,gr11
448
449 set_gr_immed -9,gr10
450 scutss gr10,gr11
451 test_gr_limmed 0x0033,0xc4d6,gr11
452
453 set_gr_immed -10,gr10
454 scutss gr10,gr11
455 test_gr_limmed 0x0019,0xe26b,gr11
456
457 set_gr_immed -11,gr10
458 scutss gr10,gr11
459 test_gr_limmed 0x000c,0xf135,gr11
460
461 set_gr_immed -12,gr10
462 scutss gr10,gr11
463 test_gr_limmed 0x0006,0x789b,gr11
464
465 set_gr_immed -13,gr10
466 scutss gr10,gr11
467 test_gr_limmed 0x0003,0x3c4d,gr11
468
469 set_gr_immed -14,gr10
470 scutss gr10,gr11
471 test_gr_limmed 0x0001,0x9e27,gr11
472
473 set_gr_immed -15,gr10
474 scutss gr10,gr11
475 test_gr_limmed 0x0000,0xcf13,gr11
476
477 set_gr_immed -16,gr10
478 scutss gr10,gr11
479 test_gr_limmed 0x0000,0x678a,gr11
480
481 set_gr_immed -17,gr10
482 scutss gr10,gr11
483 test_gr_limmed 0x0000,0x33c5,gr11
484
485 set_gr_immed -18,gr10
486 scutss gr10,gr11
487 test_gr_limmed 0x0000,0x19e2,gr11
488
489 set_gr_immed -19,gr10
490 scutss gr10,gr11
491 test_gr_limmed 0x0000,0x0cf1,gr11
492
493 set_gr_immed -20,gr10
494 scutss gr10,gr11
495 test_gr_limmed 0x0000,0x0679,gr11
496
497 set_gr_immed -21,gr10
498 scutss gr10,gr11
499 test_gr_limmed 0x0000,0x033c,gr11
500
501 set_gr_immed -22,gr10
502 scutss gr10,gr11
503 test_gr_limmed 0x0000,0x019e,gr11
504
505 set_gr_immed -23,gr10
506 scutss gr10,gr11
507 test_gr_limmed 0x0000,0x00cf,gr11
508
509 set_gr_immed -24,gr10
510 scutss gr10,gr11
511 test_gr_limmed 0x0000,0x0068,gr11
512
513 set_gr_immed -25,gr10
514 scutss gr10,gr11
515 test_gr_limmed 0x0000,0x0034,gr11
516
517 set_gr_immed -26,gr10
518 scutss gr10,gr11
519 test_gr_limmed 0x0000,0x001a,gr11
520
521 set_gr_immed -27,gr10
522 scutss gr10,gr11
523 test_gr_limmed 0x0000,0x000d,gr11
524
525 set_gr_immed -28,gr10
526 scutss gr10,gr11
527 test_gr_limmed 0x0000,0x0006,gr11
528
529 set_gr_immed -29,gr10
530 scutss gr10,gr11
531 test_gr_limmed 0x0000,0x0003,gr11
532
533 set_gr_immed -30,gr10
534 scutss gr10,gr11
535 test_gr_limmed 0x0000,0x0002,gr11
536
537 set_gr_immed -31,gr10
538 scutss gr10,gr11
539 test_gr_limmed 0x0000,0x0001,gr11
540
541 set_gr_immed -32,gr10
542 scutss gr10,gr11
543 test_gr_limmed 0x0000,0x0000,gr11
544
545 set_gr_immed 64,gr10 ; same as -32
546 scutss gr10,gr11
547 test_gr_limmed 0x0000,0x0000,gr11
548
549 ; Examples from the customer (modified for iacc0)
550 set_spr_immed 0xffffffff,iacc0h
551 set_spr_immed 0xffe00000,iacc0l
552
553 set_gr_limmed 0,16,gr10
554 scutss gr10,gr11
555 test_gr_limmed 0xffff,0xffe0,gr11
556
557 set_gr_limmed 0,17,gr10
558 scutss gr10,gr11
559 test_gr_limmed 0xffff,0xffc0,gr11
560
561 set_gr_limmed 0,18,gr10
562 scutss gr10,gr11
563 test_gr_limmed 0xffff,0xff80,gr11
564
565 set_spr_immed 0,iacc0h
566 set_spr_immed 0x003fffff,iacc0l
567
568 set_gr_limmed 0,40,gr10
569 scutss gr10,gr11
570 test_gr_limmed 0x3fff,0xff00,gr11
571
572 set_gr_limmed 0,41,gr10
573 scutss gr10,gr11
574 test_gr_limmed 0x7fff,0xfe00,gr11
575
576 set_spr_immed 0x7f,iacc0h
577 set_spr_immed 0xffe00000,iacc0l
578
579 set_gr_limmed 0,40,gr10
580 scutss gr10,gr11
581 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated
582
583 set_gr_limmed 0,41,gr10
584 scutss gr10,gr11
585 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated
586
587 set_gr_limmed 0,42,gr10
588 scutss gr10,gr11
589 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated
590
591 set_spr_immed 0x08,iacc0h
592 set_spr_immed 0x003fffff,iacc0l
593
594 set_gr_limmed 0,40,gr10
595 scutss gr10,gr11
596 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated
597
598 set_gr_limmed 0,41,gr10
599 scutss gr10,gr11
600 test_gr_limmed 0x7fff,0xffff,gr11 ; saturated
601
602 set_spr_immed 0xffffffff,iacc0h
603 set_spr_immed 0xefe00000,iacc0l
604
605 set_gr_limmed 0,40,gr10
606 scutss gr10,gr11
607 test_gr_limmed 0x8000,0x0000,gr11 ; saturated
608
609 set_gr_limmed 0,41,gr10
610 scutss gr10,gr11
611 test_gr_limmed 0x8000,0x0000,gr11 ; saturated
612
613 set_gr_limmed 0,42,gr10
614 scutss gr10,gr11
615 test_gr_limmed 0x8000,0x0000,gr11 ; saturated
616
617 set_spr_immed 0x80000000,iacc0h
618 set_spr_immed 0x003fffff,iacc0l
619
620 set_gr_limmed 0,16,gr10
621 scutss gr10,gr11
622 test_gr_limmed 0x8000,0x0000,gr11 ; saturated
623
624 set_gr_limmed 0,17,gr10
625 scutss gr10,gr11
626 test_gr_limmed 0x8000,0x0000,gr11 ; saturated
627
628 set_spr_immed 0xaf5a5a5a,iacc0h
629 set_spr_immed 0x5a5a5a5a,iacc0l
630
631 set_gr_limmed 0xffff,0xfffc,gr10
632 scutss gr10,gr11
633 test_gr_limmed 0xfaf5,0xa5a6,gr11
634
635 set_spr_immed 0x2f5a5a5a,iacc0h
636 set_spr_immed 0x5a5a5a5a,iacc0l
637
638 set_gr_limmed 0xffff,0xfff9,gr10
639 scutss gr10,gr11
640 test_gr_limmed 0x005e,0xb4b5,gr11
641
642 # From the manual
643 .global scutss3
644 scutss3:
645 set_spr_immed 0xfffffedc,iacc0h
646 set_spr_immed 0xba987654,iacc0l
647
648 set_gr_immed 16,gr10
649 scutss gr10,gr11
650 test_gr_limmed 0xfedc,0xba98,gr11
651
652 set_gr_immed 12,gr10
653 scutss gr10,gr11
654 test_gr_limmed 0xffed,0xcbaa,gr11
655
656 set_gr_immed -4,gr10
657 scutss gr10,gr11
658 test_gr_limmed 0xffff,0xffee,gr11
659
660 set_gr_immed 24,gr10
661 scutss gr10,gr11
662 test_gr_limmed 0x8000,0x0000,gr11
663
664 pass
665