xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/fr400/scutss.cgs (revision 2dd295436a0082eb4f8d294f4aa73c223413d0f2)
1# frv testcase for scutss $FRj,$FRk
2# mach: fr405 fr450
3
4	.include "../testutils.inc"
5
6	start
7
8	.global scutss
9scutss:
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
278scutss2:
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
644scutss3:
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