1 //Original:/testcases/core/c_dsp32shiftim_ahalf_rn/c_dsp32shiftim_ahalf_rn.dsp
2 // Spec Reference: dsp32shift ashift
5 .include "testutils.inc"
27 CHECKREG r0, 0x0000FFFF;
28 CHECKREG r1, 0x0000FFE0;
29 CHECKREG r2, 0x0000FFE0;
30 CHECKREG r3, 0x0000FFE0;
31 CHECKREG r4, 0x0000FFE0;
32 CHECKREG r5, 0x0000FFE0;
33 CHECKREG r6, 0x0000FFE0;
34 CHECKREG r7, 0x0000FFE0;
52 CHECKREG r0, 0x0200FFF0;
53 CHECKREG r1, 0x0000FFFF;
54 CHECKREG r2, 0x0200FFF0;
55 CHECKREG r3, 0x0200FFF0;
56 CHECKREG r4, 0x0200FFF0;
57 CHECKREG r5, 0x0200FFF0;
58 CHECKREG r6, 0x0200FFF0;
59 CHECKREG r7, 0x0200FFF0;
78 CHECKREG r0, 0x0030FFF8;
79 CHECKREG r1, 0x0030FFF8;
80 CHECKREG r2, 0x0200FFFF;
81 CHECKREG r3, 0x0030FFF8;
82 CHECKREG r4, 0x0030FFF8;
83 CHECKREG r5, 0x0030FFF8;
84 CHECKREG r6, 0x0030FFF8;
85 CHECKREG r7, 0x0030FFF8;
103 CHECKREG r0, 0x0000F080;
104 CHECKREG r1, 0x0000F080;
105 CHECKREG r2, 0x0000F080;
106 CHECKREG r3, 0x0030FFFE;
107 CHECKREG r4, 0x0000F080;
108 CHECKREG r5, 0x0000F080;
109 CHECKREG r6, 0x0000F080;
110 CHECKREG r7, 0x0000F080;
112 // d_lo = ashift (d_hi BY d_lo)
114 imm32 r0, 0x05000500;
115 imm32 r1, 0x85010500;
116 imm32 r2, 0x85020500;
117 imm32 r3, 0x85030500;
118 imm32 r4, 0x85040500;
119 imm32 r5, 0x85050500;
120 imm32 r6, 0x85060500;
121 imm32 r7, 0x85070500;
130 CHECKREG r0, 0x05000001;
131 CHECKREG r1, 0x8501FFE1;
132 CHECKREG r2, 0x8502FFE1;
133 CHECKREG r3, 0x8503FFE1;
134 CHECKREG r4, 0x8504FFE1;
135 CHECKREG r5, 0x8505FFE1;
136 CHECKREG r6, 0x8506FFE1;
137 CHECKREG r7, 0x8507FFE1;
139 imm32 r0, 0x80610000;
141 imm32 r2, 0x80620000;
142 imm32 r3, 0x80630000;
143 imm32 r4, 0x80640000;
144 imm32 r5, 0x80650000;
145 imm32 r6, 0x80660000;
146 imm32 r7, 0x80670000;
155 CHECKREG r0, 0x8061FFF0;
156 CHECKREG r1, 0x8501FFF0;
157 CHECKREG r2, 0x8062FFF0;
158 CHECKREG r3, 0x8063FFF0;
159 CHECKREG r4, 0x8064FFF0;
160 CHECKREG r5, 0x8065FFF0;
161 CHECKREG r6, 0x8066FFF0;
162 CHECKREG r7, 0x8067FFF0;
165 imm32 r0, 0xa0010070;
166 imm32 r1, 0xa0010070;
168 imm32 r3, 0xa0030070;
169 imm32 r4, 0xa0040070;
170 imm32 r5, 0xa0050070;
171 imm32 r6, 0xa0060070;
172 imm32 r7, 0xa0070070;
181 CHECKREG r0, 0xA001FFFA;
182 CHECKREG r1, 0xA001FFFA;
183 CHECKREG r2, 0x8062FFF8;
184 CHECKREG r3, 0xA003FFFA;
185 CHECKREG r4, 0xA004FFFA;
186 CHECKREG r5, 0xA005FFFA;
187 CHECKREG r6, 0xA006FFFA;
188 CHECKREG r7, 0xA007FFFA;
190 imm32 r0, 0xb8010001;
191 imm32 r1, 0xb8010001;
192 imm32 r2, 0xb8020002;
194 imm32 r4, 0xb8040004;
195 imm32 r5, 0xb8050005;
196 imm32 r6, 0xb8060006;
197 imm32 r7, 0xb8070007;
206 CHECKREG r0, 0xB801FFFD;
207 CHECKREG r1, 0xB801FFFD;
208 CHECKREG r2, 0xB802FFFD;
209 CHECKREG r3, 0xA003FFFD;
210 CHECKREG r4, 0xB804FFFD;
211 CHECKREG r5, 0xB805FFFD;
212 CHECKREG r6, 0xB806FFFD;
213 CHECKREG r7, 0xB807FFFD;
215 // d_hi = ashft (d_lo BY d_lo)
217 imm32 r0, 0x00009001;
218 imm32 r1, 0x00009001;
219 imm32 r2, 0x00009002;
220 imm32 r3, 0x00009003;
221 imm32 r4, 0x00009000;
222 imm32 r5, 0x00009005;
223 imm32 r6, 0x00009006;
224 imm32 r7, 0x00009007;
233 CHECKREG r0, 0xFFFE9001;
234 CHECKREG r1, 0xFFFE9001;
235 CHECKREG r2, 0xFFFE9002;
236 CHECKREG r3, 0xFFFE9003;
237 CHECKREG r4, 0xFFFE9000;
238 CHECKREG r5, 0xFFFE9005;
239 CHECKREG r6, 0xFFFE9006;
240 CHECKREG r7, 0xFFFE9007;
242 imm32 r0, 0xa0008001;
243 imm32 r1, 0xa0008001;
244 imm32 r2, 0xa0008002;
245 imm32 r3, 0xa0008003;
246 imm32 r4, 0xa0008004;
248 imm32 r6, 0xa0008006;
249 imm32 r7, 0xa0008007;
258 CHECKREG r0, 0xFC008001;
259 CHECKREG r1, 0xFC008001;
260 CHECKREG r2, 0xFC008002;
261 CHECKREG r3, 0xFC008003;
262 CHECKREG r4, 0xFC008004;
263 CHECKREG r5, 0xFFFFFFFF;
264 CHECKREG r6, 0xFC008006;
265 CHECKREG r7, 0xFC008007;
268 imm32 r0, 0x00009b01;
269 imm32 r1, 0x00009b01;
270 imm32 r2, 0x00009b02;
271 imm32 r3, 0x00009b03;
272 imm32 r4, 0x00009b04;
273 imm32 r5, 0x00009b05;
275 imm32 r7, 0x00009007;
284 CHECKREG r0, 0xFE6C9B01;
285 CHECKREG r1, 0xFE6C9B01;
286 CHECKREG r2, 0xFE6C9B02;
287 CHECKREG r3, 0xFE6C9B03;
288 CHECKREG r4, 0xFE6C9B04;
289 CHECKREG r5, 0xFE6C9B05;
290 CHECKREG r6, 0xFFFFFFF1;
291 CHECKREG r7, 0xFE409007;
293 imm32 r0, 0x0000a0c1;
294 imm32 r1, 0x0000a0c1;
295 imm32 r2, 0x0000a0c2;
296 imm32 r3, 0x0000a0c3;
297 imm32 r4, 0x0000a0c4;
298 imm32 r5, 0x0000a0c5;
299 imm32 r6, 0x0000a0c6;
309 CHECKREG r0, 0xFF41A0C1;
310 CHECKREG r1, 0xFF41A0C1;
311 CHECKREG r2, 0xFF41A0C2;
312 CHECKREG r3, 0xFF41A0C3;
313 CHECKREG r4, 0xFF41A0C4;
314 CHECKREG r5, 0xFF41A0C5;
315 CHECKREG r6, 0xFF41A0C6;
316 CHECKREG r7, 0xFFFFFFF0;
318 imm32 r0, 0x80010d00;
319 imm32 r1, 0x80010d00;
320 imm32 r2, 0x80020d00;
321 imm32 r3, 0x80030d00;
323 imm32 r5, 0x80050d00;
324 imm32 r6, 0x80060d00;
325 imm32 r7, 0x80070d00;
334 CHECKREG r0, 0xFFFE0D00;
335 CHECKREG r1, 0xFFFE0D00;
336 CHECKREG r2, 0xFFFE0D00;
337 CHECKREG r3, 0xFFFE0D00;
338 CHECKREG r4, 0xFFFFFFFF;
339 CHECKREG r5, 0xFFFE0D00;
340 CHECKREG r6, 0xFFFE0D00;
341 CHECKREG r7, 0xFFFE0D00;
343 imm32 r0, 0x8d010000;
344 imm32 r1, 0x8d010000;
345 imm32 r2, 0x8d020000;
346 imm32 r3, 0x8d030000;
347 imm32 r4, 0x8d040000;
349 imm32 r6, 0x8d060000;
350 imm32 r7, 0x8d070000;
359 CHECKREG r0, 0xFFFF0000;
360 CHECKREG r1, 0xFFFF0000;
361 CHECKREG r2, 0xFFFF0000;
362 CHECKREG r3, 0xFFFF0000;
363 CHECKREG r4, 0xFFFF0000;
364 CHECKREG r5, 0xFFFFFFFF;
365 CHECKREG r6, 0xFFFF0000;
366 CHECKREG r7, 0xFFFF0000;
369 imm32 r0, 0xde010000;
370 imm32 r1, 0xde010000;
371 imm32 r2, 0xde020000;
372 imm32 r3, 0xde030000;
373 imm32 r4, 0xde040000;
374 imm32 r5, 0xde050000;
376 imm32 r7, 0xd0070000;
385 CHECKREG r0, 0xDE01FFF7;
386 CHECKREG r1, 0xDE01FFF7;
387 CHECKREG r2, 0xDE02FFF7;
388 CHECKREG r3, 0xDE03FFF7;
389 CHECKREG r4, 0xDE04FFF7;
390 CHECKREG r5, 0xDE05FFF7;
391 CHECKREG r6, 0xFFFFFFFF;
392 CHECKREG r7, 0xD007FFF4;
394 imm32 r0, 0x9f010c00;
395 imm32 r1, 0xaf010c00;
396 imm32 r2, 0xbf020c00;
397 imm32 r3, 0xcf030c00;
398 imm32 r4, 0xdf040c00;
399 imm32 r5, 0xef050c00;
400 imm32 r6, 0xff060c00;
410 CHECKREG r0, 0xFCF80C00;
411 CHECKREG r1, 0xFD780C00;
412 CHECKREG r2, 0xFDF80C00;
413 CHECKREG r3, 0xFE780C00;
414 CHECKREG r4, 0xFEF80C00;
415 CHECKREG r5, 0xFF780C00;
416 CHECKREG r6, 0xFFF80C00;
417 CHECKREG r7, 0xFE80FFF0;