Add fr450 support.
[external/binutils.git] / sim / testsuite / sim / frv / fr400 / scutss.cgs
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