1 # frv testcase for mcutss $ACC40i,$FRj,$FRk
4 .include "testutils.inc"
10 set_accg_immed 0xffffffe7,accg0
11 set_acc_immed 0x89abcdef,acc0
13 set_fr_iimmed 0,0,fr10
15 test_fr_iimmed 0xe789abcd,fr11
17 set_fr_iimmed 0,1,fr10
19 test_fr_iimmed 0xcf13579b,fr11
21 set_fr_iimmed 0,2,fr10
23 test_fr_iimmed 0x9e26af37,fr11
25 set_fr_iimmed 0,3,fr10
27 test_fr_iimmed 0x80000000,fr11
29 set_fr_iimmed 0,4,fr10
31 test_fr_iimmed 0x80000000,fr11
33 set_fr_iimmed 0,5,fr10
35 test_fr_iimmed 0x80000000,fr11
37 set_fr_iimmed 0,6,fr10
39 test_fr_iimmed 0x80000000,fr11
41 set_fr_iimmed 0,7,fr10
43 test_fr_iimmed 0x80000000,fr11
45 set_fr_iimmed 0,8,fr10
47 test_fr_iimmed 0x80000000,fr11
49 set_fr_iimmed 0,9,fr10
51 test_fr_iimmed 0x80000000,fr11
53 set_fr_iimmed 0,10,fr10
55 test_fr_iimmed 0x80000000,fr11
57 set_fr_iimmed 0,11,fr10
59 test_fr_iimmed 0x80000000,fr11
61 set_fr_iimmed 0,12,fr10
63 test_fr_iimmed 0x80000000,fr11
65 set_fr_iimmed 0,13,fr10
67 test_fr_iimmed 0x80000000,fr11
69 set_fr_iimmed 0,14,fr10
71 test_fr_iimmed 0x80000000,fr11
73 set_fr_iimmed 0,15,fr10
75 test_fr_iimmed 0x80000000,fr11
77 set_fr_iimmed 0,16,fr10
79 test_fr_iimmed 0x80000000,fr11
81 set_fr_iimmed 0,17,fr10
83 test_fr_iimmed 0x80000000,fr11
85 set_fr_iimmed 0,18,fr10
87 test_fr_iimmed 0x80000000,fr11
89 set_fr_iimmed 0,19,fr10
91 test_fr_iimmed 0x80000000,fr11
93 set_fr_iimmed 0,20,fr10
95 test_fr_iimmed 0x80000000,fr11
97 set_fr_iimmed 0,21,fr10
99 test_fr_iimmed 0x80000000,fr11
101 set_fr_iimmed 0,22,fr10
102 mcutss acc0,fr10,fr11
103 test_fr_iimmed 0x80000000,fr11
105 set_fr_iimmed 0,23,fr10
106 mcutss acc0,fr10,fr11
107 test_fr_iimmed 0x80000000,fr11
109 set_fr_iimmed 0,24,fr10
110 mcutss acc0,fr10,fr11
111 test_fr_iimmed 0x80000000,fr11
113 set_fr_iimmed 0,25,fr10
114 mcutss acc0,fr10,fr11
115 test_fr_iimmed 0x80000000,fr11
117 set_fr_iimmed 0,26,fr10
118 mcutss acc0,fr10,fr11
119 test_fr_iimmed 0x80000000,fr11
121 set_fr_iimmed 0,27,fr10
122 mcutss acc0,fr10,fr11
123 test_fr_iimmed 0x80000000,fr11
125 set_fr_iimmed 0,28,fr10
126 mcutss acc0,fr10,fr11
127 test_fr_iimmed 0x80000000,fr11
129 set_fr_iimmed 0,29,fr10
130 mcutss acc0,fr10,fr11
131 test_fr_iimmed 0x80000000,fr11
133 set_fr_iimmed 0,30,fr10
134 mcutss acc0,fr10,fr11
135 test_fr_iimmed 0x80000000,fr11
137 set_fr_iimmed 0,31,fr10
138 mcutss acc0,fr10,fr11
139 test_fr_iimmed 0x80000000,fr11
141 set_fr_iimmed 0,64,fr10 ; same as 0
142 mcutss acc0,fr10,fr11
143 test_fr_iimmed 0xe789abcd,fr11
145 set_fr_iimmed 0xffff,0xffff,fr10
146 mcutss acc0,fr10,fr11
147 test_fr_iimmed 0xf3c4d5e6,fr11
149 set_fr_iimmed 0x0000,0x003e,fr10 ; only lower 6 bits matter
150 mcutss acc0,fr10,fr11
151 test_fr_iimmed 0xf9e26af3,fr11
153 set_fr_iimmed 0xffff,0xfffd,fr10
154 mcutss acc0,fr10,fr11
155 test_fr_iimmed 0xfcf13579,fr11
157 set_fr_iimmed 0xffff,0xfffc,fr10
158 mcutss acc0,fr10,fr11
159 test_fr_iimmed 0xfe789abc,fr11
161 set_fr_iimmed 0xffff,0xfffb,fr10
162 mcutss acc0,fr10,fr11
163 test_fr_iimmed 0xff3c4d5e,fr11
165 set_fr_iimmed 0xffff,0xfffa,fr10
166 mcutss acc0,fr10,fr11
167 test_fr_iimmed 0xff9e26af,fr11
169 set_fr_iimmed 0xffff,0xfff9,fr10
170 mcutss acc0,fr10,fr11
171 test_fr_iimmed 0xffcf1357,fr11
173 set_fr_iimmed 0xffff,0xfff8,fr10
174 mcutss acc0,fr10,fr11
175 test_fr_iimmed 0xffe789ab,fr11
177 set_fr_iimmed 0xffff,0xfff7,fr10
178 mcutss acc0,fr10,fr11
179 test_fr_iimmed 0xfff3c4d5,fr11
181 set_fr_iimmed 0xffff,0xfff6,fr10
182 mcutss acc0,fr10,fr11
183 test_fr_iimmed 0xfff9e26a,fr11
185 set_fr_iimmed 0xffff,0xfff5,fr10
186 mcutss acc0,fr10,fr11
187 test_fr_iimmed 0xfffcf135,fr11
189 set_fr_iimmed 0xffff,0xfff4,fr10
190 mcutss acc0,fr10,fr11
191 test_fr_iimmed 0xfffe789a,fr11
193 set_fr_iimmed 0xffff,0xfff3,fr10
194 mcutss acc0,fr10,fr11
195 test_fr_iimmed 0xffff3c4d,fr11
197 set_fr_iimmed 0xffff,0xfff2,fr10
198 mcutss acc0,fr10,fr11
199 test_fr_iimmed 0xffff9e26,fr11
201 set_fr_iimmed 0xffff,0xfff1,fr10
202 mcutss acc0,fr10,fr11
203 test_fr_iimmed 0xffffcf13,fr11
205 set_fr_iimmed 0xffff,0xfff0,fr10
206 mcutss acc0,fr10,fr11
207 test_fr_iimmed 0xffffe789,fr11
209 set_fr_iimmed 0xffff,0xffef,fr10
210 mcutss acc0,fr10,fr11
211 test_fr_iimmed 0xfffff3c4,fr11
213 set_fr_iimmed 0xffff,0xffee,fr10
214 mcutss acc0,fr10,fr11
215 test_fr_iimmed 0xfffff9e2,fr11
217 set_fr_iimmed 0xffff,0xffed,fr10
218 mcutss acc0,fr10,fr11
219 test_fr_iimmed 0xfffffcf1,fr11
221 set_fr_iimmed 0xffff,0xffec,fr10
222 mcutss acc0,fr10,fr11
223 test_fr_iimmed 0xfffffe78,fr11
225 set_fr_iimmed 0xffff,0xffeb,fr10
226 mcutss acc0,fr10,fr11
227 test_fr_iimmed 0xffffff3c,fr11
229 set_fr_iimmed 0xffff,0xffea,fr10
230 mcutss acc0,fr10,fr11
231 test_fr_iimmed 0xffffff9e,fr11
233 set_fr_iimmed 0xffff,0xffe9,fr10
234 mcutss acc0,fr10,fr11
235 test_fr_iimmed 0xffffffcf,fr11
237 set_fr_iimmed 0xffff,0xffe8,fr10
238 mcutss acc0,fr10,fr11
239 test_fr_iimmed 0xffffffe7,fr11
241 set_fr_iimmed 0xffff,0xffe7,fr10
242 mcutss acc0,fr10,fr11
243 test_fr_iimmed 0xfffffff3,fr11
245 set_fr_iimmed 0xffff,0xffe6,fr10
246 mcutss acc0,fr10,fr11
247 test_fr_iimmed 0xfffffff9,fr11
249 set_fr_iimmed 0xffff,0xffe5,fr10
250 mcutss acc0,fr10,fr11
251 test_fr_iimmed 0xfffffffc,fr11
253 set_fr_iimmed 0xffff,0xffe4,fr10
254 mcutss acc0,fr10,fr11
255 test_fr_iimmed 0xfffffffe,fr11
257 set_fr_iimmed 0xffff,0xffe3,fr10
258 mcutss acc0,fr10,fr11
259 test_fr_iimmed 0xffffffff,fr11
261 set_fr_iimmed 0xffff,0xffe2,fr10
262 mcutss acc0,fr10,fr11
263 test_fr_iimmed 0xffffffff,fr11
265 set_fr_iimmed 0xffff,0xffe1,fr10
266 mcutss acc0,fr10,fr11
267 test_fr_iimmed 0xffffffff,fr11
269 set_fr_iimmed 0xffff,0xffe0,fr10
270 mcutss acc0,fr10,fr11
271 test_fr_iimmed 0xffffffff,fr11
273 set_fr_iimmed 0,32,fr10 ; same as -32
274 mcutss acc0,fr10,fr11
275 test_fr_iimmed 0xffffffff,fr11
277 set_accg_immed 0xffffff67,accg0
278 set_acc_immed 0x89abcdef,acc0
280 set_fr_iimmed 0xffff,0xffff,fr10
281 mcutss acc0,fr10,fr11
282 test_fr_iimmed 0x33c4d5e6,fr11
284 set_fr_iimmed 0x0000,0x003e,fr10 ; only lower 6 bits matter
285 mcutss acc0,fr10,fr11
286 test_fr_iimmed 0x19e26af3,fr11
288 set_fr_iimmed 0xffff,0xfffd,fr10
289 mcutss acc0,fr10,fr11
290 test_fr_iimmed 0x0cf13579,fr11
292 set_fr_iimmed 0xffff,0xfffc,fr10
293 mcutss acc0,fr10,fr11
294 test_fr_iimmed 0x06789abc,fr11
296 set_fr_iimmed 0xffff,0xfffb,fr10
297 mcutss acc0,fr10,fr11
298 test_fr_iimmed 0x033c4d5e,fr11
300 set_fr_iimmed 0xffff,0xfffa,fr10
301 mcutss acc0,fr10,fr11
302 test_fr_iimmed 0x019e26af,fr11
304 set_fr_iimmed 0xffff,0xfff9,fr10
305 mcutss acc0,fr10,fr11
306 test_fr_iimmed 0x00cf1357,fr11
308 set_fr_iimmed 0xffff,0xfff8,fr10
309 mcutss acc0,fr10,fr11
310 test_fr_iimmed 0x006789ab,fr11
312 set_fr_iimmed 0xffff,0xfff7,fr10
313 mcutss acc0,fr10,fr11
314 test_fr_iimmed 0x0033c4d5,fr11
316 set_fr_iimmed 0xffff,0xfff6,fr10
317 mcutss acc0,fr10,fr11
318 test_fr_iimmed 0x0019e26a,fr11
320 set_fr_iimmed 0xffff,0xfff5,fr10
321 mcutss acc0,fr10,fr11
322 test_fr_iimmed 0x000cf135,fr11
324 set_fr_iimmed 0xffff,0xfff4,fr10
325 mcutss acc0,fr10,fr11
326 test_fr_iimmed 0x0006789a,fr11
328 set_fr_iimmed 0xffff,0xfff3,fr10
329 mcutss acc0,fr10,fr11
330 test_fr_iimmed 0x00033c4d,fr11
332 set_fr_iimmed 0xffff,0xfff2,fr10
333 mcutss acc0,fr10,fr11
334 test_fr_iimmed 0x00019e26,fr11
336 set_fr_iimmed 0xffff,0xfff1,fr10
337 mcutss acc0,fr10,fr11
338 test_fr_iimmed 0x0000cf13,fr11
340 set_fr_iimmed 0xffff,0xfff0,fr10
341 mcutss acc0,fr10,fr11
342 test_fr_iimmed 0x00006789,fr11
344 set_fr_iimmed 0xffff,0xffef,fr10
345 mcutss acc0,fr10,fr11
346 test_fr_iimmed 0x000033c4,fr11
348 set_fr_iimmed 0xffff,0xffee,fr10
349 mcutss acc0,fr10,fr11
350 test_fr_iimmed 0x000019e2,fr11
352 set_fr_iimmed 0xffff,0xffed,fr10
353 mcutss acc0,fr10,fr11
354 test_fr_iimmed 0x00000cf1,fr11
356 set_fr_iimmed 0xffff,0xffec,fr10
357 mcutss acc0,fr10,fr11
358 test_fr_iimmed 0x00000678,fr11
360 set_fr_iimmed 0xffff,0xffeb,fr10
361 mcutss acc0,fr10,fr11
362 test_fr_iimmed 0x0000033c,fr11
364 set_fr_iimmed 0xffff,0xffea,fr10
365 mcutss acc0,fr10,fr11
366 test_fr_iimmed 0x0000019e,fr11
368 set_fr_iimmed 0xffff,0xffe9,fr10
369 mcutss acc0,fr10,fr11
370 test_fr_iimmed 0x000000cf,fr11
372 set_fr_iimmed 0xffff,0xffe8,fr10
373 mcutss acc0,fr10,fr11
374 test_fr_iimmed 0x00000067,fr11
376 set_fr_iimmed 0xffff,0xffe7,fr10
377 mcutss acc0,fr10,fr11
378 test_fr_iimmed 0x00000033,fr11
380 set_fr_iimmed 0xffff,0xffe6,fr10
381 mcutss acc0,fr10,fr11
382 test_fr_iimmed 0x00000019,fr11
384 set_fr_iimmed 0xffff,0xffe5,fr10
385 mcutss acc0,fr10,fr11
386 test_fr_iimmed 0x0000000c,fr11
388 set_fr_iimmed 0xffff,0xffe4,fr10
389 mcutss acc0,fr10,fr11
390 test_fr_iimmed 0x00000006,fr11
392 set_fr_iimmed 0xffff,0xffe3,fr10
393 mcutss acc0,fr10,fr11
394 test_fr_iimmed 0x00000003,fr11
396 set_fr_iimmed 0xffff,0xffe2,fr10
397 mcutss acc0,fr10,fr11
398 test_fr_iimmed 0x00000001,fr11
400 set_fr_iimmed 0xffff,0xffe1,fr10
401 mcutss acc0,fr10,fr11
402 test_fr_iimmed 0x00000000,fr11
404 set_fr_iimmed 0xffff,0xffe0,fr10
405 mcutss acc0,fr10,fr11
406 test_fr_iimmed 0x00000000,fr11
408 set_fr_iimmed 0,32,fr10 ; same as -32
409 mcutss acc0,fr10,fr11
410 test_fr_iimmed 0x00000000,fr11
412 ; Examples from the customer
413 set_accg_immed 0xffffffff,accg0
414 set_acc_immed 0xffe00000,acc0
416 set_fr_iimmed 0,16,fr10
417 mcutss acc0,fr10,fr11
418 test_fr_iimmed 0xe0000000,fr11
420 set_fr_iimmed 0,17,fr10
421 mcutss acc0,fr10,fr11
422 test_fr_iimmed 0xc0000000,fr11
424 set_fr_iimmed 0,18,fr10
425 mcutss acc0,fr10,fr11
426 test_fr_iimmed 0x80000000,fr11
428 set_accg_immed 0,accg0
429 set_acc_immed 0x003fffff,acc0
431 set_fr_iimmed 0,16,fr10
432 mcutss acc0,fr10,fr11
433 test_fr_iimmed 0x3fffff00,fr11
435 set_fr_iimmed 0,17,fr10
436 mcutss acc0,fr10,fr11
437 test_fr_iimmed 0x7ffffe00,fr11
439 set_accg_immed 0x7f,accg0
440 set_acc_immed 0xffe00000,acc0
442 set_fr_iimmed 0,16,fr10
443 mcutss acc0,fr10,fr11
444 test_fr_iimmed 0x7fffffff,fr11 ; saturated
446 set_fr_iimmed 0,17,fr10
447 mcutss acc0,fr10,fr11
448 test_fr_iimmed 0x7fffffff,fr11 ; saturated
450 set_fr_iimmed 0,18,fr10
451 mcutss acc0,fr10,fr11
452 test_fr_iimmed 0x7fffffff,fr11 ; saturated
454 set_accg_immed 0x08,accg0
455 set_acc_immed 0x003fffff,acc0
457 set_fr_iimmed 0,16,fr10
458 mcutss acc0,fr10,fr11
459 test_fr_iimmed 0x7fffffff,fr11 ; saturated
461 set_fr_iimmed 0,17,fr10
462 mcutss acc0,fr10,fr11
463 test_fr_iimmed 0x7fffffff,fr11 ; saturated
465 set_accg_immed 0xff,accg0
466 set_acc_immed 0xefe00000,acc0
468 set_fr_iimmed 0,16,fr10
469 mcutss acc0,fr10,fr11
470 test_fr_iimmed 0x80000000,fr11 ; saturated
472 set_fr_iimmed 0,17,fr10
473 mcutss acc0,fr10,fr11
474 test_fr_iimmed 0x80000000,fr11 ; saturated
476 set_fr_iimmed 0,18,fr10
477 mcutss acc0,fr10,fr11
478 test_fr_iimmed 0x80000000,fr11 ; saturated
480 set_accg_immed 0x80,accg0
481 set_acc_immed 0x003fffff,acc0
483 set_fr_iimmed 0,16,fr10
484 mcutss acc0,fr10,fr11
485 test_fr_iimmed 0x80000000,fr11 ; saturated
487 set_fr_iimmed 0,17,fr10
488 mcutss acc0,fr10,fr11
489 test_fr_iimmed 0x80000000,fr11 ; saturated
491 set_accg_immed 0xffffffaf,accg0
492 set_acc_immed 0x5a5a5a5a,acc0
494 set_fr_iimmed 0xffff,0xfffc,fr10
495 mcutss acc0,fr10,fr11
496 test_fr_iimmed 0xfaf5a5a5,fr11
498 set_accg_immed 0x0000002f,accg0
499 set_acc_immed 0x5a5a5a5a,acc0
501 set_fr_iimmed 0xffff,0xfff9,fr10
502 mcutss acc0,fr10,fr11
503 test_fr_iimmed 0x005eb4b4,fr11