xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/mcutssi.cgs (revision 2dd295436a0082eb4f8d294f4aa73c223413d0f2)
1# frv testcase for mcutssi $ACC40i,$s6,$FRk
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global mcutssi
9mcutssi:
10	set_accg_immed   0xffffffe7,accg0
11	set_acc_immed   0x89abcdef,acc0
12
13	mcutssi      	acc0,0,fr11
14	test_fr_iimmed  0xe789abcd,fr11
15
16	mcutssi      	acc0,1,fr11
17	test_fr_iimmed  0xcf13579b,fr11
18
19	mcutssi      	acc0,2,fr11
20	test_fr_iimmed  0x9e26af37,fr11
21
22	mcutssi      	acc0,3,fr11
23	test_fr_iimmed  0x80000000,fr11
24
25	mcutssi      	acc0,4,fr11
26	test_fr_iimmed  0x80000000,fr11
27
28	mcutssi      	acc0,5,fr11
29	test_fr_iimmed  0x80000000,fr11
30
31	mcutssi      	acc0,6,fr11
32	test_fr_iimmed  0x80000000,fr11
33
34	mcutssi      	acc0,7,fr11
35	test_fr_iimmed  0x80000000,fr11
36
37	mcutssi      	acc0,8,fr11
38	test_fr_iimmed  0x80000000,fr11
39
40	mcutssi      	acc0,9,fr11
41	test_fr_iimmed  0x80000000,fr11
42
43	mcutssi      	acc0,10,fr11
44	test_fr_iimmed  0x80000000,fr11
45
46	mcutssi      	acc0,11,fr11
47	test_fr_iimmed  0x80000000,fr11
48
49	mcutssi      	acc0,12,fr11
50	test_fr_iimmed  0x80000000,fr11
51
52	mcutssi      	acc0,13,fr11
53	test_fr_iimmed  0x80000000,fr11
54
55	mcutssi      	acc0,14,fr11
56	test_fr_iimmed  0x80000000,fr11
57
58	mcutssi      	acc0,15,fr11
59	test_fr_iimmed  0x80000000,fr11
60
61	mcutssi      	acc0,16,fr11
62	test_fr_iimmed  0x80000000,fr11
63
64	mcutssi      	acc0,17,fr11
65	test_fr_iimmed  0x80000000,fr11
66
67	mcutssi      	acc0,18,fr11
68	test_fr_iimmed  0x80000000,fr11
69
70	mcutssi      	acc0,19,fr11
71	test_fr_iimmed  0x80000000,fr11
72
73	mcutssi      	acc0,20,fr11
74	test_fr_iimmed  0x80000000,fr11
75
76	mcutssi      	acc0,21,fr11
77	test_fr_iimmed  0x80000000,fr11
78
79	mcutssi      	acc0,22,fr11
80	test_fr_iimmed  0x80000000,fr11
81
82	mcutssi      	acc0,23,fr11
83	test_fr_iimmed  0x80000000,fr11
84
85	mcutssi      	acc0,24,fr11
86	test_fr_iimmed  0x80000000,fr11
87
88	mcutssi      	acc0,25,fr11
89	test_fr_iimmed  0x80000000,fr11
90
91	mcutssi      	acc0,26,fr11
92	test_fr_iimmed  0x80000000,fr11
93
94	mcutssi      	acc0,27,fr11
95	test_fr_iimmed  0x80000000,fr11
96
97	mcutssi      	acc0,28,fr11
98	test_fr_iimmed  0x80000000,fr11
99
100	mcutssi      	acc0,29,fr11
101	test_fr_iimmed  0x80000000,fr11
102
103	mcutssi      	acc0,30,fr11
104	test_fr_iimmed  0x80000000,fr11
105
106	mcutssi      	acc0,31,fr11
107	test_fr_iimmed  0x80000000,fr11
108
109	mcutssi      	acc0,-1,fr11
110	test_fr_iimmed  0xf3c4d5e6,fr11
111
112	mcutssi      	acc0,-2,fr11
113	test_fr_iimmed  0xf9e26af3,fr11
114
115	mcutssi      	acc0,-3,fr11
116	test_fr_iimmed  0xfcf13579,fr11
117
118	mcutssi      	acc0,-4,fr11
119	test_fr_iimmed  0xfe789abc,fr11
120
121	mcutssi      	acc0,-5,fr11
122	test_fr_iimmed  0xff3c4d5e,fr11
123
124	mcutssi      	acc0,-6,fr11
125	test_fr_iimmed  0xff9e26af,fr11
126
127	mcutssi      	acc0,-7,fr11
128	test_fr_iimmed  0xffcf1357,fr11
129
130	mcutssi      	acc0,-8,fr11
131	test_fr_iimmed  0xffe789ab,fr11
132
133	mcutssi      	acc0,-9,fr11
134	test_fr_iimmed  0xfff3c4d5,fr11
135
136	mcutssi      	acc0,-10,fr11
137	test_fr_iimmed  0xfff9e26a,fr11
138
139	mcutssi      	acc0,-11,fr11
140	test_fr_iimmed  0xfffcf135,fr11
141
142	mcutssi      	acc0,-12,fr11
143	test_fr_iimmed  0xfffe789a,fr11
144
145	mcutssi      	acc0,-13,fr11
146	test_fr_iimmed  0xffff3c4d,fr11
147
148	mcutssi      	acc0,-14,fr11
149	test_fr_iimmed  0xffff9e26,fr11
150
151	mcutssi      	acc0,-15,fr11
152	test_fr_iimmed  0xffffcf13,fr11
153
154	mcutssi      	acc0,-16,fr11
155	test_fr_iimmed  0xffffe789,fr11
156
157	mcutssi      	acc0,-17,fr11
158	test_fr_iimmed  0xfffff3c4,fr11
159
160	mcutssi      	acc0,-18,fr11
161	test_fr_iimmed  0xfffff9e2,fr11
162
163	mcutssi      	acc0,-19,fr11
164	test_fr_iimmed  0xfffffcf1,fr11
165
166	mcutssi      	acc0,-20,fr11
167	test_fr_iimmed  0xfffffe78,fr11
168
169	mcutssi      	acc0,-21,fr11
170	test_fr_iimmed  0xffffff3c,fr11
171
172	mcutssi      	acc0,-22,fr11
173	test_fr_iimmed  0xffffff9e,fr11
174
175	mcutssi      	acc0,-23,fr11
176	test_fr_iimmed  0xffffffcf,fr11
177
178	mcutssi      	acc0,-24,fr11
179	test_fr_iimmed  0xffffffe7,fr11
180
181	mcutssi      	acc0,-25,fr11
182	test_fr_iimmed  0xfffffff3,fr11
183
184	mcutssi      	acc0,-26,fr11
185	test_fr_iimmed  0xfffffff9,fr11
186
187	mcutssi      	acc0,-27,fr11
188	test_fr_iimmed  0xfffffffc,fr11
189
190	mcutssi      	acc0,-28,fr11
191	test_fr_iimmed  0xfffffffe,fr11
192
193	mcutssi      	acc0,-29,fr11
194	test_fr_iimmed  0xffffffff,fr11
195
196	mcutssi      	acc0,-30,fr11
197	test_fr_iimmed  0xffffffff,fr11
198
199	mcutssi      	acc0,-31,fr11
200	test_fr_iimmed  0xffffffff,fr11
201
202	mcutssi      	acc0,-32,fr11
203	test_fr_iimmed  0xffffffff,fr11
204
205	set_accg_immed   0xffffff67,accg0
206	set_acc_immed   0x89abcdef,acc0
207
208	mcutssi      	acc0,-1,fr11
209	test_fr_iimmed  0x33c4d5e6,fr11
210
211	mcutssi      	acc0,-2,fr11
212	test_fr_iimmed  0x19e26af3,fr11
213
214	mcutssi      	acc0,-3,fr11
215	test_fr_iimmed  0x0cf13579,fr11
216
217	mcutssi      	acc0,-4,fr11
218	test_fr_iimmed  0x06789abc,fr11
219
220	mcutssi      	acc0,-5,fr11
221	test_fr_iimmed  0x033c4d5e,fr11
222
223	mcutssi      	acc0,-6,fr11
224	test_fr_iimmed  0x019e26af,fr11
225
226	mcutssi      	acc0,-7,fr11
227	test_fr_iimmed  0x00cf1357,fr11
228
229	mcutssi      	acc0,-8,fr11
230	test_fr_iimmed  0x006789ab,fr11
231
232	mcutssi      	acc0,-9,fr11
233	test_fr_iimmed  0x0033c4d5,fr11
234
235	mcutssi      	acc0,-10,fr11
236	test_fr_iimmed  0x0019e26a,fr11
237
238	mcutssi      	acc0,-11,fr11
239	test_fr_iimmed  0x000cf135,fr11
240
241	mcutssi      	acc0,-12,fr11
242	test_fr_iimmed  0x0006789a,fr11
243
244	mcutssi      	acc0,-13,fr11
245	test_fr_iimmed  0x00033c4d,fr11
246
247	mcutssi      	acc0,-14,fr11
248	test_fr_iimmed  0x00019e26,fr11
249
250	mcutssi      	acc0,-15,fr11
251	test_fr_iimmed  0x0000cf13,fr11
252
253	mcutssi      	acc0,-16,fr11
254	test_fr_iimmed  0x00006789,fr11
255
256	mcutssi      	acc0,-17,fr11
257	test_fr_iimmed  0x000033c4,fr11
258
259	mcutssi      	acc0,-18,fr11
260	test_fr_iimmed  0x000019e2,fr11
261
262	mcutssi      	acc0,-19,fr11
263	test_fr_iimmed  0x00000cf1,fr11
264
265	mcutssi      	acc0,-20,fr11
266	test_fr_iimmed  0x00000678,fr11
267
268	mcutssi      	acc0,-21,fr11
269	test_fr_iimmed  0x0000033c,fr11
270
271	mcutssi      	acc0,-22,fr11
272	test_fr_iimmed  0x0000019e,fr11
273
274	mcutssi      	acc0,-23,fr11
275	test_fr_iimmed  0x000000cf,fr11
276
277	mcutssi      	acc0,-24,fr11
278	test_fr_iimmed  0x00000067,fr11
279
280	mcutssi      	acc0,-25,fr11
281	test_fr_iimmed  0x00000033,fr11
282
283	mcutssi      	acc0,-26,fr11
284	test_fr_iimmed  0x00000019,fr11
285
286	mcutssi      	acc0,-27,fr11
287	test_fr_iimmed  0x0000000c,fr11
288
289	mcutssi      	acc0,-28,fr11
290	test_fr_iimmed  0x00000006,fr11
291
292	mcutssi      	acc0,-29,fr11
293	test_fr_iimmed  0x00000003,fr11
294
295	mcutssi      	acc0,-30,fr11
296	test_fr_iimmed  0x00000001,fr11
297
298	mcutssi      	acc0,-31,fr11
299	test_fr_iimmed  0x00000000,fr11
300
301	mcutssi      	acc0,-32,fr11
302	test_fr_iimmed  0x00000000,fr11
303
304	; Examples from the customer
305	set_accg_immed   0xffffffff,accg0
306	set_acc_immed   0xffe00000,acc0
307
308	mcutssi    	acc0,16,fr11
309	test_fr_iimmed  0xe0000000,fr11
310
311	mcutssi    	acc0,17,fr11
312	test_fr_iimmed  0xc0000000,fr11
313
314	mcutssi    	acc0,18,fr11
315	test_fr_iimmed  0x80000000,fr11
316
317	set_accg_immed   0,accg0
318	set_acc_immed   0x003fffff,acc0
319
320	mcutssi    	acc0,16,fr11
321	test_fr_iimmed  0x3fffff00,fr11
322
323	mcutssi    	acc0,17,fr11
324	test_fr_iimmed  0x7ffffe00,fr11
325
326	set_accg_immed   0x7f,accg0
327	set_acc_immed   0xffe00000,acc0
328
329	mcutssi    	acc0,16,fr11
330	test_fr_iimmed  0x7fffffff,fr11		; saturated
331
332	mcutssi    	acc0,17,fr11
333	test_fr_iimmed  0x7fffffff,fr11		; saturated
334
335	mcutssi    	acc0,18,fr11
336	test_fr_iimmed  0x7fffffff,fr11		; saturated
337
338	set_accg_immed   0x08,accg0
339	set_acc_immed   0x003fffff,acc0
340
341	mcutssi    	acc0,16,fr11
342	test_fr_iimmed  0x7fffffff,fr11		; saturated
343
344	mcutssi    	acc0,17,fr11
345	test_fr_iimmed  0x7fffffff,fr11		; saturated
346
347	set_accg_immed   0xff,accg0
348	set_acc_immed   0xefe00000,acc0
349
350	mcutssi    	acc0,16,fr11
351	test_fr_iimmed  0x80000000,fr11		; saturated
352
353	mcutssi    	acc0,17,fr11
354	test_fr_iimmed  0x80000000,fr11		; saturated
355
356	mcutssi    	acc0,18,fr11
357	test_fr_iimmed  0x80000000,fr11		; saturated
358
359	set_accg_immed   0x80,accg0
360	set_acc_immed   0x003fffff,acc0
361
362	mcutssi    	acc0,16,fr11
363	test_fr_iimmed  0x80000000,fr11		; saturated
364
365	mcutssi    	acc0,17,fr11
366	test_fr_iimmed  0x80000000,fr11		; saturated
367
368	set_accg_immed   0xffffffaf,accg0
369	set_acc_immed   0x5a5a5a5a,acc0
370
371	mcutssi    	acc0,-4,fr11
372	test_fr_iimmed  0xfaf5a5a5,fr11
373
374	set_accg_immed   0x0000002f,accg0
375	set_acc_immed   0x5a5a5a5a,acc0
376
377	mcutssi    	acc0,-7,fr11
378	test_fr_iimmed  0x005eb4b4,fr11
379
380	pass
381