1 //Original
:/proj
/frio
/dv
/testcases
/core
/c_dsp32shift_rot
/c_dsp32shift_rot.dsp
2 // Spec Reference
: dsp32shift rot
5 .include "testutils.inc"
28 CHECKREG
r1, 0x02460002;
29 CHECKREG
r0, 0x23000100;
30 CHECKREG
r2, 0x048C0004;
31 CHECKREG
r3, 0x09180008;
32 CHECKREG
r4, 0x12300010;
33 CHECKREG
r5, 0x24600020;
34 CHECKREG
r6, 0x48C00040;
35 CHECKREG
r7, 0x91800080;
54 CHECKREG
r0, 0x2C04C400;
55 CHECKREG
r1, 0x5C489000;
56 CHECKREG
r2, 0x8000C048;
57 CHECKREG
r3, 0x0007C48D;
58 CHECKREG
r4, 0x60242000;
59 CHECKREG
r5, 0xE2468001;
60 CHECKREG
r6, 0x10005809;
61 CHECKREG
r7, 0x4000B891;
80 CHECKREG
r0, 0x00000008;
81 CHECKREG
r1, 0x00010048;
82 CHECKREG
r2, 0x2B3CC48D;
83 CHECKREG
r3, 0x00020091;
84 CHECKREG
r4, 0x5678891A;
85 CHECKREG
r5, 0x00100000;
86 CHECKREG
r6, 0x00910001;
87 CHECKREG
r7, 0x891A2B3C;
106 CHECKREG
r0, 0x60123000;
107 CHECKREG
r1, 0x11234567;
108 CHECKREG
r2, 0x62345678;
109 CHECKREG
r3, 0xE3456001;
110 CHECKREG
r4, 0x8048C000;
111 CHECKREG
r5, 0x448D159E;
112 CHECKREG
r6, 0x88D159E2;
113 CHECKREG
r7, 0x8D158007;
115 imm32
r0, 0x01230004;
116 imm32
r1, 0x12345678;
117 imm32
r2, 0x23456789;
118 imm32
r3, 0x3456789a;
119 imm32
r4, 0x456789ab;
120 imm32
r5, 0x56789abc;
121 imm32
r6, 0x6789abcd;
122 imm32
r7, 0x789abcde;
132 CHECKREG
r0, 0x80918002;
133 CHECKREG
r1, 0x091A2B3C;
134 CHECKREG
r2, 0x11A2B3C4;
135 CHECKREG
r3, 0x9A2B3C4D;
136 CHECKREG
r4, 0x22B3FFFF;
137 CHECKREG
r5, 0xAB3C4D5E;
138 CHECKREG
r6, 0x33C4D5E6;
139 CHECKREG
r7, 0xBC4D5E6F;
141 imm32
r0, 0x01230005;
142 imm32
r1, 0x12345678;
143 imm32
r2, 0x23456789;
144 imm32
r3, 0x3456789a;
145 imm32
r4, 0x456789ab;
146 imm32
r5, 0x56789abc;
147 imm32
r6, 0x6789abcd;
148 imm32
r7, 0x789abcde;
158 CHECKREG
r0, 0x9E26468A;
159 CHECKREG
r1, 0xE26A68AC;
160 CHECKREG
r2, 0x26AE8ACF;
161 CHECKREG
r3, 0xFFC4ACF1;
162 CHECKREG
r4, 0x091A0028;
163 CHECKREG
r5, 0x91A0B3C0;
164 CHECKREG
r6, 0x00140246;
165 CHECKREG
r7, 0x59E02468;
167 imm32
r0, 0x01230006;
168 imm32
r1, 0x12345678;
169 imm32
r2, 0x23456789;
170 imm32
r3, 0x3456789a;
171 imm32
r4, 0x456789ab;
172 imm32
r5, 0x56789abc;
173 imm32
r6, 0x6789abcd;
174 imm32
r7, 0x789abcde;
184 CHECKREG
r0, 0xACF01234;
185 CHECKREG
r1, 0xCF122345;
186 CHECKREG
r2, 0xF1343456;
187 CHECKREG
r3, 0x13564567;
188 CHECKREG
r4, 0x35795678;
189 CHECKREG
r5, 0xFFE16789;
190 CHECKREG
r6, 0x0247000C;
191 CHECKREG
r7, 0x000C0123;
193 imm32
r0, 0x01230007;
194 imm32
r1, 0x12345678;
195 imm32
r2, 0x23456789;
196 imm32
r3, 0x3456789a;
197 imm32
r4, 0x456789ab;
198 imm32
r5, 0x56789abc;
199 imm32
r6, 0x6789abcd;
200 imm32
r7, 0x789abcde;
210 CHECKREG
r0, 0x48C001C0;
211 CHECKREG
r1, 0x8D159E02;
212 CHECKREG
r2, 0xD159E244;
213 CHECKREG
r3, 0x159E2686;
214 CHECKREG
r4, 0x59E26AE8;
215 CHECKREG
r5, 0x9E26AF2A;
216 CHECKREG
r6, 0xE26AF36C;
217 CHECKREG
r7, 0x26BFF96F;
219 imm32
r0, 0x01230008;
220 imm32
r1, 0x12345678;
221 imm32
r2, 0x23456789;
222 imm32
r3, 0x3456789a;
223 imm32
r4, 0x456789ab;
224 imm32
r5, 0x56789abc;
225 imm32
r6, 0x6789abcd;
226 imm32
r7, 0x789abcde;
228 //r0 = rot
(r0 by rl0
);
236 CHECKREG
r0, 0x01230007;
237 CHECKREG
r1, 0x1A2B3C04;
238 CHECKREG
r2, 0xA2B3C4C8;
239 CHECKREG
r3, 0x2B3C4D4D;
240 CHECKREG
r4, 0xB3C4D591;
241 CHECKREG
r5, 0x3C4D5E15;
242 CHECKREG
r6, 0xC4D5E6D9;
243 CHECKREG
r7, 0x4D5E6F5E;
245 imm32
r0, 0x01230009;
246 imm32
r1, 0x12345678;
247 imm32
r2, 0x23456789;
248 imm32
r3, 0x3456789a;
249 imm32
r4, 0x456789ab;
250 imm32
r5, 0x56789abc;
251 imm32
r6, 0x6789abcd;
252 imm32
r7, 0x789abcde;
255 //r1 = rot
(r1 by rl1
);
262 CHECKREG
r0, 0x00090091;
263 CHECKREG
r1, 0x12340010;
264 CHECKREG
r2, 0x678991A2;
265 CHECKREG
r3, 0x789A9A2B;
266 CHECKREG
r4, 0x89AB22B3;
267 CHECKREG
r5, 0x9ABCAB3C;
268 CHECKREG
r6, 0xABCD33C4;
269 CHECKREG
r7, 0xBCDEBC4D;
271 imm32
r0, 0x0123000a;
272 imm32
r1, 0x12345678;
273 imm32
r2, 0x23456789;
274 imm32
r3, 0x3456789a;
275 imm32
r4, 0x456789ab;
276 imm32
r5, 0x56789abc;
277 imm32
r6, 0x6789abcd;
278 imm32
r7, 0x789abcde;
282 //r2 = rot
(r2 by rl2
);
288 CHECKREG
r0, 0x80246001;
289 CHECKREG
r1, 0x02468ACF;
290 CHECKREG
r2, 0x2345001E;
291 CHECKREG
r3, 0x868ACF13;
292 CHECKREG
r4, 0xC8ACF135;
293 CHECKREG
r5, 0x0ACF1357;
294 CHECKREG
r6, 0x6CF13579;
295 CHECKREG
r7, 0xAF13579B;
297 imm32
r0, 0x0123000b;
298 imm32
r1, 0x12345678;
299 imm32
r2, 0x23456789;
300 imm32
r3, 0x3456789a;
301 imm32
r4, 0x456789ab;
302 imm32
r5, 0x56789abc;
303 imm32
r6, 0x6789abcd;
304 imm32
r7, 0x789abcde;
309 //r3 = rot
(r3 by rl3
);
314 CHECKREG
r0, 0xC048C002;
315 CHECKREG
r1, 0x448D159E;
316 CHECKREG
r2, 0x88D159E2;
317 CHECKREG
r3, 0x3456001F;
318 CHECKREG
r4, 0x9159E26A;
319 CHECKREG
r5, 0x559E26AF;
320 CHECKREG
r6, 0x99E26AF3;
321 CHECKREG
r7, 0x1E26AF37;
323 imm32
r0, 0x0123000c;
324 imm32
r1, 0x12345678;
325 imm32
r2, 0x23456789;
326 imm32
r3, 0x3456789a;
327 imm32
r4, 0x456789ab;
328 imm32
r5, 0x56789abc;
329 imm32
r6, 0x6789abcd;
330 imm32
r7, 0x789abcde;
336 //r4 = rot
(r4 by rl4
);
340 CHECKREG
r0, 0x4048C003;
341 CHECKREG
r1, 0x048D159E;
342 CHECKREG
r2, 0x88D159E2;
343 CHECKREG
r3, 0x0D159E26;
344 CHECKREG
r4, 0x4567FFFE;
345 CHECKREG
r5, 0x559E26AF;
346 CHECKREG
r6, 0x99E26AF3;
347 CHECKREG
r7, 0x1E26AF37;
349 imm32
r0, 0x0123000d;
350 imm32
r1, 0x12345678;
351 imm32
r2, 0x23456789;
352 imm32
r3, 0x3456789a;
353 imm32
r4, 0x456789ab;
354 imm32
r5, 0x56789abc;
355 imm32
r6, 0x6789abcd;
356 imm32
r7, 0x789abcde;
363 //r5 = rot
(r5 by rl5
);
366 CHECKREG
r0, 0x000D8091;
367 CHECKREG
r1, 0x5678891A;
368 CHECKREG
r2, 0x678911A2;
369 CHECKREG
r3, 0x789A9A2B;
370 CHECKREG
r4, 0x89AB22B3;
371 CHECKREG
r5, 0x5678FFEF;
372 CHECKREG
r6, 0xABCDB3C4;
373 CHECKREG
r7, 0xBCDEBC4D;
375 imm32
r0, 0x0123000e;
376 imm32
r1, 0x12345678;
377 imm32
r2, 0x23456789;
378 imm32
r3, 0x3456789a;
379 imm32
r4, 0x456789ab;
380 imm32
r5, 0x56789abc;
381 imm32
r6, 0x6789abcd;
382 imm32
r7, 0x789abcde;
390 //r6 = rot
(r6 by rl6
);
392 CHECKREG
r0, 0x09180070;
393 CHECKREG
r1, 0x91A2B3C0;
394 CHECKREG
r2, 0x1A2B3C48;
395 CHECKREG
r3, 0xA2B3C4D4;
396 CHECKREG
r4, 0x2B3C4D5D;
397 CHECKREG
r5, 0xB3C4D5E1;
398 CHECKREG
r6, 0x6789FFE2;
399 CHECKREG
r7, 0xC4D5E6F1;
401 imm32
r0, 0x0123000f;
402 imm32
r1, 0x12345678;
403 imm32
r2, 0x23456789;
404 imm32
r3, 0x3456789a;
405 imm32
r4, 0x456789ab;
406 imm32
r5, 0x56789abc;
407 imm32
r6, 0x6789abcd;
408 imm32
r7, 0x789abcde;
418 CHECKREG
r0, 0x048C003E;
419 CHECKREG
r1, 0x48D159E0;
420 CHECKREG
r2, 0x8D159E24;
421 CHECKREG
r3, 0xD159E268;
422 CHECKREG
r4, 0x159E26AC;
423 CHECKREG
r5, 0x59E26AF2;
424 CHECKREG
r6, 0x9E26AF36;
425 CHECKREG
r7, 0xE26BFF86;