xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/mcutss.cgs (revision d16b7486a53dcb8072b60ec6fcb4373a2d0c27b7)
1# frv testcase for mcutss $ACC40i,$FRj,$FRk
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global mcutss
9mcutss:
10	set_accg_immed   0xffffffe7,accg0
11	set_acc_immed   0x89abcdef,acc0
12
13	set_fr_iimmed	0,0,fr10
14	mcutss      	acc0,fr10,fr11
15	test_fr_iimmed  0xe789abcd,fr11
16
17	set_fr_iimmed	0,1,fr10
18	mcutss      	acc0,fr10,fr11
19	test_fr_iimmed  0xcf13579b,fr11
20
21	set_fr_iimmed	0,2,fr10
22	mcutss      	acc0,fr10,fr11
23	test_fr_iimmed  0x9e26af37,fr11
24
25	set_fr_iimmed	0,3,fr10
26	mcutss      	acc0,fr10,fr11
27	test_fr_iimmed  0x80000000,fr11
28
29	set_fr_iimmed	0,4,fr10
30	mcutss      	acc0,fr10,fr11
31	test_fr_iimmed  0x80000000,fr11
32
33	set_fr_iimmed	0,5,fr10
34	mcutss      	acc0,fr10,fr11
35	test_fr_iimmed  0x80000000,fr11
36
37	set_fr_iimmed	0,6,fr10
38	mcutss      	acc0,fr10,fr11
39	test_fr_iimmed  0x80000000,fr11
40
41	set_fr_iimmed	0,7,fr10
42	mcutss      	acc0,fr10,fr11
43	test_fr_iimmed  0x80000000,fr11
44
45	set_fr_iimmed	0,8,fr10
46	mcutss      	acc0,fr10,fr11
47	test_fr_iimmed  0x80000000,fr11
48
49	set_fr_iimmed	0,9,fr10
50	mcutss      	acc0,fr10,fr11
51	test_fr_iimmed  0x80000000,fr11
52
53	set_fr_iimmed	0,10,fr10
54	mcutss      	acc0,fr10,fr11
55	test_fr_iimmed  0x80000000,fr11
56
57	set_fr_iimmed	0,11,fr10
58	mcutss      	acc0,fr10,fr11
59	test_fr_iimmed  0x80000000,fr11
60
61	set_fr_iimmed	0,12,fr10
62	mcutss      	acc0,fr10,fr11
63	test_fr_iimmed  0x80000000,fr11
64
65	set_fr_iimmed	0,13,fr10
66	mcutss      	acc0,fr10,fr11
67	test_fr_iimmed  0x80000000,fr11
68
69	set_fr_iimmed	0,14,fr10
70	mcutss      	acc0,fr10,fr11
71	test_fr_iimmed  0x80000000,fr11
72
73	set_fr_iimmed	0,15,fr10
74	mcutss      	acc0,fr10,fr11
75	test_fr_iimmed  0x80000000,fr11
76
77	set_fr_iimmed	0,16,fr10
78	mcutss      	acc0,fr10,fr11
79	test_fr_iimmed  0x80000000,fr11
80
81	set_fr_iimmed	0,17,fr10
82	mcutss      	acc0,fr10,fr11
83	test_fr_iimmed  0x80000000,fr11
84
85	set_fr_iimmed	0,18,fr10
86	mcutss      	acc0,fr10,fr11
87	test_fr_iimmed  0x80000000,fr11
88
89	set_fr_iimmed	0,19,fr10
90	mcutss      	acc0,fr10,fr11
91	test_fr_iimmed  0x80000000,fr11
92
93	set_fr_iimmed	0,20,fr10
94	mcutss      	acc0,fr10,fr11
95	test_fr_iimmed  0x80000000,fr11
96
97	set_fr_iimmed	0,21,fr10
98	mcutss      	acc0,fr10,fr11
99	test_fr_iimmed  0x80000000,fr11
100
101	set_fr_iimmed	0,22,fr10
102	mcutss      	acc0,fr10,fr11
103	test_fr_iimmed  0x80000000,fr11
104
105	set_fr_iimmed	0,23,fr10
106	mcutss      	acc0,fr10,fr11
107	test_fr_iimmed  0x80000000,fr11
108
109	set_fr_iimmed	0,24,fr10
110	mcutss      	acc0,fr10,fr11
111	test_fr_iimmed  0x80000000,fr11
112
113	set_fr_iimmed	0,25,fr10
114	mcutss      	acc0,fr10,fr11
115	test_fr_iimmed  0x80000000,fr11
116
117	set_fr_iimmed	0,26,fr10
118	mcutss      	acc0,fr10,fr11
119	test_fr_iimmed  0x80000000,fr11
120
121	set_fr_iimmed	0,27,fr10
122	mcutss      	acc0,fr10,fr11
123	test_fr_iimmed  0x80000000,fr11
124
125	set_fr_iimmed	0,28,fr10
126	mcutss      	acc0,fr10,fr11
127	test_fr_iimmed  0x80000000,fr11
128
129	set_fr_iimmed	0,29,fr10
130	mcutss      	acc0,fr10,fr11
131	test_fr_iimmed  0x80000000,fr11
132
133	set_fr_iimmed	0,30,fr10
134	mcutss      	acc0,fr10,fr11
135	test_fr_iimmed  0x80000000,fr11
136
137	set_fr_iimmed	0,31,fr10
138	mcutss      	acc0,fr10,fr11
139	test_fr_iimmed  0x80000000,fr11
140
141	set_fr_iimmed	0,64,fr10	; same as 0
142	mcutss      	acc0,fr10,fr11
143	test_fr_iimmed  0xe789abcd,fr11
144
145	set_fr_iimmed	0xffff,0xffff,fr10
146	mcutss      	acc0,fr10,fr11
147	test_fr_iimmed  0xf3c4d5e6,fr11
148
149	set_fr_iimmed	0x0000,0x003e,fr10	; only lower 6 bits matter
150	mcutss      	acc0,fr10,fr11
151	test_fr_iimmed  0xf9e26af3,fr11
152
153	set_fr_iimmed	0xffff,0xfffd,fr10
154	mcutss      	acc0,fr10,fr11
155	test_fr_iimmed  0xfcf13579,fr11
156
157	set_fr_iimmed	0xffff,0xfffc,fr10
158	mcutss      	acc0,fr10,fr11
159	test_fr_iimmed  0xfe789abc,fr11
160
161	set_fr_iimmed	0xffff,0xfffb,fr10
162	mcutss      	acc0,fr10,fr11
163	test_fr_iimmed  0xff3c4d5e,fr11
164
165	set_fr_iimmed	0xffff,0xfffa,fr10
166	mcutss      	acc0,fr10,fr11
167	test_fr_iimmed  0xff9e26af,fr11
168
169	set_fr_iimmed	0xffff,0xfff9,fr10
170	mcutss      	acc0,fr10,fr11
171	test_fr_iimmed  0xffcf1357,fr11
172
173	set_fr_iimmed	0xffff,0xfff8,fr10
174	mcutss      	acc0,fr10,fr11
175	test_fr_iimmed  0xffe789ab,fr11
176
177	set_fr_iimmed	0xffff,0xfff7,fr10
178	mcutss      	acc0,fr10,fr11
179	test_fr_iimmed  0xfff3c4d5,fr11
180
181	set_fr_iimmed	0xffff,0xfff6,fr10
182	mcutss      	acc0,fr10,fr11
183	test_fr_iimmed  0xfff9e26a,fr11
184
185	set_fr_iimmed	0xffff,0xfff5,fr10
186	mcutss      	acc0,fr10,fr11
187	test_fr_iimmed  0xfffcf135,fr11
188
189	set_fr_iimmed	0xffff,0xfff4,fr10
190	mcutss      	acc0,fr10,fr11
191	test_fr_iimmed  0xfffe789a,fr11
192
193	set_fr_iimmed	0xffff,0xfff3,fr10
194	mcutss      	acc0,fr10,fr11
195	test_fr_iimmed  0xffff3c4d,fr11
196
197	set_fr_iimmed	0xffff,0xfff2,fr10
198	mcutss      	acc0,fr10,fr11
199	test_fr_iimmed  0xffff9e26,fr11
200
201	set_fr_iimmed	0xffff,0xfff1,fr10
202	mcutss      	acc0,fr10,fr11
203	test_fr_iimmed  0xffffcf13,fr11
204
205	set_fr_iimmed	0xffff,0xfff0,fr10
206	mcutss      	acc0,fr10,fr11
207	test_fr_iimmed  0xffffe789,fr11
208
209	set_fr_iimmed	0xffff,0xffef,fr10
210	mcutss      	acc0,fr10,fr11
211	test_fr_iimmed  0xfffff3c4,fr11
212
213	set_fr_iimmed	0xffff,0xffee,fr10
214	mcutss      	acc0,fr10,fr11
215	test_fr_iimmed  0xfffff9e2,fr11
216
217	set_fr_iimmed	0xffff,0xffed,fr10
218	mcutss      	acc0,fr10,fr11
219	test_fr_iimmed  0xfffffcf1,fr11
220
221	set_fr_iimmed	0xffff,0xffec,fr10
222	mcutss      	acc0,fr10,fr11
223	test_fr_iimmed  0xfffffe78,fr11
224
225	set_fr_iimmed	0xffff,0xffeb,fr10
226	mcutss      	acc0,fr10,fr11
227	test_fr_iimmed  0xffffff3c,fr11
228
229	set_fr_iimmed	0xffff,0xffea,fr10
230	mcutss      	acc0,fr10,fr11
231	test_fr_iimmed  0xffffff9e,fr11
232
233	set_fr_iimmed	0xffff,0xffe9,fr10
234	mcutss      	acc0,fr10,fr11
235	test_fr_iimmed  0xffffffcf,fr11
236
237	set_fr_iimmed	0xffff,0xffe8,fr10
238	mcutss      	acc0,fr10,fr11
239	test_fr_iimmed  0xffffffe7,fr11
240
241	set_fr_iimmed	0xffff,0xffe7,fr10
242	mcutss      	acc0,fr10,fr11
243	test_fr_iimmed  0xfffffff3,fr11
244
245	set_fr_iimmed	0xffff,0xffe6,fr10
246	mcutss      	acc0,fr10,fr11
247	test_fr_iimmed  0xfffffff9,fr11
248
249	set_fr_iimmed	0xffff,0xffe5,fr10
250	mcutss      	acc0,fr10,fr11
251	test_fr_iimmed  0xfffffffc,fr11
252
253	set_fr_iimmed	0xffff,0xffe4,fr10
254	mcutss      	acc0,fr10,fr11
255	test_fr_iimmed  0xfffffffe,fr11
256
257	set_fr_iimmed	0xffff,0xffe3,fr10
258	mcutss      	acc0,fr10,fr11
259	test_fr_iimmed  0xffffffff,fr11
260
261	set_fr_iimmed	0xffff,0xffe2,fr10
262	mcutss      	acc0,fr10,fr11
263	test_fr_iimmed  0xffffffff,fr11
264
265	set_fr_iimmed	0xffff,0xffe1,fr10
266	mcutss      	acc0,fr10,fr11
267	test_fr_iimmed  0xffffffff,fr11
268
269	set_fr_iimmed	0xffff,0xffe0,fr10
270	mcutss      	acc0,fr10,fr11
271	test_fr_iimmed  0xffffffff,fr11
272
273	set_fr_iimmed	0,32,fr10	; same as -32
274	mcutss      	acc0,fr10,fr11
275	test_fr_iimmed  0xffffffff,fr11
276
277	set_accg_immed   0xffffff67,accg0
278	set_acc_immed   0x89abcdef,acc0
279
280	set_fr_iimmed	0xffff,0xffff,fr10
281	mcutss      	acc0,fr10,fr11
282	test_fr_iimmed  0x33c4d5e6,fr11
283
284	set_fr_iimmed	0x0000,0x003e,fr10	; only lower 6 bits matter
285	mcutss      	acc0,fr10,fr11
286	test_fr_iimmed  0x19e26af3,fr11
287
288	set_fr_iimmed	0xffff,0xfffd,fr10
289	mcutss      	acc0,fr10,fr11
290	test_fr_iimmed  0x0cf13579,fr11
291
292	set_fr_iimmed	0xffff,0xfffc,fr10
293	mcutss      	acc0,fr10,fr11
294	test_fr_iimmed  0x06789abc,fr11
295
296	set_fr_iimmed	0xffff,0xfffb,fr10
297	mcutss      	acc0,fr10,fr11
298	test_fr_iimmed  0x033c4d5e,fr11
299
300	set_fr_iimmed	0xffff,0xfffa,fr10
301	mcutss      	acc0,fr10,fr11
302	test_fr_iimmed  0x019e26af,fr11
303
304	set_fr_iimmed	0xffff,0xfff9,fr10
305	mcutss      	acc0,fr10,fr11
306	test_fr_iimmed  0x00cf1357,fr11
307
308	set_fr_iimmed	0xffff,0xfff8,fr10
309	mcutss      	acc0,fr10,fr11
310	test_fr_iimmed  0x006789ab,fr11
311
312	set_fr_iimmed	0xffff,0xfff7,fr10
313	mcutss      	acc0,fr10,fr11
314	test_fr_iimmed  0x0033c4d5,fr11
315
316	set_fr_iimmed	0xffff,0xfff6,fr10
317	mcutss      	acc0,fr10,fr11
318	test_fr_iimmed  0x0019e26a,fr11
319
320	set_fr_iimmed	0xffff,0xfff5,fr10
321	mcutss      	acc0,fr10,fr11
322	test_fr_iimmed  0x000cf135,fr11
323
324	set_fr_iimmed	0xffff,0xfff4,fr10
325	mcutss      	acc0,fr10,fr11
326	test_fr_iimmed  0x0006789a,fr11
327
328	set_fr_iimmed	0xffff,0xfff3,fr10
329	mcutss      	acc0,fr10,fr11
330	test_fr_iimmed  0x00033c4d,fr11
331
332	set_fr_iimmed	0xffff,0xfff2,fr10
333	mcutss      	acc0,fr10,fr11
334	test_fr_iimmed  0x00019e26,fr11
335
336	set_fr_iimmed	0xffff,0xfff1,fr10
337	mcutss      	acc0,fr10,fr11
338	test_fr_iimmed  0x0000cf13,fr11
339
340	set_fr_iimmed	0xffff,0xfff0,fr10
341	mcutss      	acc0,fr10,fr11
342	test_fr_iimmed  0x00006789,fr11
343
344	set_fr_iimmed	0xffff,0xffef,fr10
345	mcutss      	acc0,fr10,fr11
346	test_fr_iimmed  0x000033c4,fr11
347
348	set_fr_iimmed	0xffff,0xffee,fr10
349	mcutss      	acc0,fr10,fr11
350	test_fr_iimmed  0x000019e2,fr11
351
352	set_fr_iimmed	0xffff,0xffed,fr10
353	mcutss      	acc0,fr10,fr11
354	test_fr_iimmed  0x00000cf1,fr11
355
356	set_fr_iimmed	0xffff,0xffec,fr10
357	mcutss      	acc0,fr10,fr11
358	test_fr_iimmed  0x00000678,fr11
359
360	set_fr_iimmed	0xffff,0xffeb,fr10
361	mcutss      	acc0,fr10,fr11
362	test_fr_iimmed  0x0000033c,fr11
363
364	set_fr_iimmed	0xffff,0xffea,fr10
365	mcutss      	acc0,fr10,fr11
366	test_fr_iimmed  0x0000019e,fr11
367
368	set_fr_iimmed	0xffff,0xffe9,fr10
369	mcutss      	acc0,fr10,fr11
370	test_fr_iimmed  0x000000cf,fr11
371
372	set_fr_iimmed	0xffff,0xffe8,fr10
373	mcutss      	acc0,fr10,fr11
374	test_fr_iimmed  0x00000067,fr11
375
376	set_fr_iimmed	0xffff,0xffe7,fr10
377	mcutss      	acc0,fr10,fr11
378	test_fr_iimmed  0x00000033,fr11
379
380	set_fr_iimmed	0xffff,0xffe6,fr10
381	mcutss      	acc0,fr10,fr11
382	test_fr_iimmed  0x00000019,fr11
383
384	set_fr_iimmed	0xffff,0xffe5,fr10
385	mcutss      	acc0,fr10,fr11
386	test_fr_iimmed  0x0000000c,fr11
387
388	set_fr_iimmed	0xffff,0xffe4,fr10
389	mcutss      	acc0,fr10,fr11
390	test_fr_iimmed  0x00000006,fr11
391
392	set_fr_iimmed	0xffff,0xffe3,fr10
393	mcutss      	acc0,fr10,fr11
394	test_fr_iimmed  0x00000003,fr11
395
396	set_fr_iimmed	0xffff,0xffe2,fr10
397	mcutss      	acc0,fr10,fr11
398	test_fr_iimmed  0x00000001,fr11
399
400	set_fr_iimmed	0xffff,0xffe1,fr10
401	mcutss      	acc0,fr10,fr11
402	test_fr_iimmed  0x00000000,fr11
403
404	set_fr_iimmed	0xffff,0xffe0,fr10
405	mcutss      	acc0,fr10,fr11
406	test_fr_iimmed  0x00000000,fr11
407
408	set_fr_iimmed	0,32,fr10	; same as -32
409	mcutss      	acc0,fr10,fr11
410	test_fr_iimmed  0x00000000,fr11
411
412	; Examples from the customer
413	set_accg_immed   0xffffffff,accg0
414	set_acc_immed   0xffe00000,acc0
415
416	set_fr_iimmed	0,16,fr10
417	mcutss    	acc0,fr10,fr11
418	test_fr_iimmed  0xe0000000,fr11
419
420	set_fr_iimmed	0,17,fr10
421	mcutss    	acc0,fr10,fr11
422	test_fr_iimmed  0xc0000000,fr11
423
424	set_fr_iimmed	0,18,fr10
425	mcutss    	acc0,fr10,fr11
426	test_fr_iimmed  0x80000000,fr11
427
428	set_accg_immed   0,accg0
429	set_acc_immed   0x003fffff,acc0
430
431	set_fr_iimmed	0,16,fr10
432	mcutss    	acc0,fr10,fr11
433	test_fr_iimmed  0x3fffff00,fr11
434
435	set_fr_iimmed	0,17,fr10
436	mcutss    	acc0,fr10,fr11
437	test_fr_iimmed  0x7ffffe00,fr11
438
439	set_accg_immed   0x7f,accg0
440	set_acc_immed   0xffe00000,acc0
441
442	set_fr_iimmed	0,16,fr10
443	mcutss    	acc0,fr10,fr11
444	test_fr_iimmed  0x7fffffff,fr11		; saturated
445
446	set_fr_iimmed	0,17,fr10
447	mcutss    	acc0,fr10,fr11
448	test_fr_iimmed  0x7fffffff,fr11		; saturated
449
450	set_fr_iimmed	0,18,fr10
451	mcutss    	acc0,fr10,fr11
452	test_fr_iimmed  0x7fffffff,fr11		; saturated
453
454	set_accg_immed   0x08,accg0
455	set_acc_immed   0x003fffff,acc0
456
457	set_fr_iimmed	0,16,fr10
458	mcutss    	acc0,fr10,fr11
459	test_fr_iimmed  0x7fffffff,fr11		; saturated
460
461	set_fr_iimmed	0,17,fr10
462	mcutss    	acc0,fr10,fr11
463	test_fr_iimmed  0x7fffffff,fr11		; saturated
464
465	set_accg_immed   0xff,accg0
466	set_acc_immed   0xefe00000,acc0
467
468	set_fr_iimmed	0,16,fr10
469	mcutss    	acc0,fr10,fr11
470	test_fr_iimmed  0x80000000,fr11		; saturated
471
472	set_fr_iimmed	0,17,fr10
473	mcutss    	acc0,fr10,fr11
474	test_fr_iimmed  0x80000000,fr11		; saturated
475
476	set_fr_iimmed	0,18,fr10
477	mcutss    	acc0,fr10,fr11
478	test_fr_iimmed  0x80000000,fr11		; saturated
479
480	set_accg_immed   0x80,accg0
481	set_acc_immed   0x003fffff,acc0
482
483	set_fr_iimmed	0,16,fr10
484	mcutss    	acc0,fr10,fr11
485	test_fr_iimmed  0x80000000,fr11		; saturated
486
487	set_fr_iimmed	0,17,fr10
488	mcutss    	acc0,fr10,fr11
489	test_fr_iimmed  0x80000000,fr11		; saturated
490
491	set_accg_immed   0xffffffaf,accg0
492	set_acc_immed   0x5a5a5a5a,acc0
493
494	set_fr_iimmed	0xffff,0xfffc,fr10
495	mcutss    	acc0,fr10,fr11
496	test_fr_iimmed  0xfaf5a5a5,fr11
497
498	set_accg_immed   0x0000002f,accg0
499	set_acc_immed   0x5a5a5a5a,acc0
500
501	set_fr_iimmed	0xffff,0xfff9,fr10
502	mcutss    	acc0,fr10,fr11
503	test_fr_iimmed  0x005eb4b4,fr11
504
505	pass
506