1 //Original:/testcases/core/c_dsp32shiftim_lhalf_ln/c_dsp32shiftim_lhalf_ln.dsp
2 // Spec Reference: dspshiftimm dreg_lo(hi) = lshift (dreg_lo(hi) by imm5)
5 .include "testutils.inc"
10 // lshift : neg data, count (+)=left (half reg)
11 // d_lo = lshift (d_lo BY d_lo)
29 CHECKREG r0, 0x00000000;
30 CHECKREG r1, 0x0000C001;
31 CHECKREG r2, 0x0000C002;
32 CHECKREG r3, 0x0000C003;
33 CHECKREG r4, 0x0000C004;
34 CHECKREG r5, 0x0000C005;
35 CHECKREG r6, 0x0000C006;
36 CHECKREG r7, 0x0000C007;
71 CHECKREG r0, 0x20000000;
72 CHECKREG r1, 0x20000000;
73 CHECKREG r2, 0x20000400;
74 CHECKREG r3, 0x20001000;
75 CHECKREG r4, 0x20000000;
76 CHECKREG r5, 0x22000000;
77 CHECKREG r6, 0x20000000;
78 CHECKREG r7, 0x20000000;
96 CHECKREG r0, 0x30000000;
97 CHECKREG r1, 0x30000000;
98 CHECKREG r2, 0x30000000;
99 CHECKREG r3, 0x30001000;
100 CHECKREG r4, 0x30002000;
101 CHECKREG r5, 0x30008000;
102 CHECKREG r6, 0x30000000;
103 CHECKREG r7, 0x30000000;
105 imm32 r0, 0x00000040;
106 imm32 r1, 0x00010040;
107 imm32 r2, 0x00020040;
108 imm32 r3, 0x00030040;
109 imm32 r4, 0x00040040;
110 imm32 r5, 0x00050040;
111 imm32 r6, 0x00060040;
112 imm32 r7, 0x00070040;
121 CHECKREG r0, 0x00000000;
122 CHECKREG r1, 0x00010002;
123 CHECKREG r2, 0x00020008;
124 CHECKREG r3, 0x00030018;
125 CHECKREG r4, 0x00040040;
126 CHECKREG r5, 0x000500A0;
127 CHECKREG r6, 0x00060180;
128 CHECKREG r7, 0x00070380;
130 imm32 r0, 0x90010000;
131 imm32 r1, 0x00010001;
132 imm32 r2, 0x90020000;
133 imm32 r3, 0x90030000;
134 imm32 r4, 0x90040000;
135 imm32 r5, 0x90050000;
136 imm32 r6, 0x90060000;
137 imm32 r7, 0x90070000;
146 CHECKREG r1, 0x00012002;
147 CHECKREG r2, 0x90020004;
148 CHECKREG r3, 0x90038010;
149 CHECKREG r4, 0x90040030;
150 CHECKREG r5, 0x90050080;
151 CHECKREG r6, 0x90060140;
152 CHECKREG r7, 0x90070300;
153 CHECKREG r0, 0x90010700;
156 imm32 r0, 0xa0010000;
157 imm32 r1, 0xa0010000;
158 imm32 r2, 0xa002000f;
159 imm32 r3, 0xa0030000;
160 imm32 r4, 0xa0040000;
161 imm32 r5, 0xa0050000;
162 imm32 r6, 0xa0060000;
163 imm32 r7, 0xa0070000;
172 CHECKREG r0, 0xA0010000;
173 CHECKREG r1, 0xA0018000;
174 CHECKREG r2, 0xA0028000;
175 CHECKREG r3, 0xA0038000;
176 CHECKREG r4, 0xA0040000;
177 CHECKREG r5, 0xA0058000;
178 CHECKREG r6, 0xA0060000;
179 CHECKREG r7, 0xA0078000;
181 imm32 r0, 0xc0010001;
182 imm32 r1, 0xc0010001;
183 imm32 r2, 0xc0020002;
184 imm32 r3, 0xc0030010;
185 imm32 r4, 0xc0040004;
186 imm32 r5, 0xc0050005;
187 imm32 r6, 0xc0060006;
188 imm32 r7, 0xc0070007;
197 CHECKREG r0, 0xC0014000;
198 CHECKREG r1, 0xC0018000;
199 CHECKREG r2, 0xC002C000;
200 CHECKREG r3, 0xC0034000;
201 CHECKREG r4, 0xC0044000;
202 CHECKREG r5, 0xC0058000;
203 CHECKREG r6, 0xC006C000;
204 CHECKREG r7, 0xC0070000;
207 imm32 r0, 0x00000000;
208 imm32 r1, 0x00000001;
209 imm32 r2, 0x00000002;
210 imm32 r3, 0x00000003;
211 imm32 r4, 0x00000004;
212 imm32 r5, 0x00000005;
213 imm32 r6, 0x00000006;
214 imm32 r7, 0x00000007;
223 CHECKREG r0, 0x00000000;
224 CHECKREG r1, 0x10000001;
225 CHECKREG r2, 0x40000002;
226 CHECKREG r3, 0xC0000003;
227 CHECKREG r4, 0x00000004;
228 CHECKREG r5, 0x40000005;
229 CHECKREG r6, 0x03000006;
230 CHECKREG r7, 0x07000007;
232 imm32 r0, 0x0000d001;
233 imm32 r1, 0x00000001;
234 imm32 r2, 0x0000d002;
235 imm32 r3, 0x0000d003;
236 imm32 r4, 0x0000d004;
237 imm32 r5, 0x0000d005;
238 imm32 r6, 0x0000d006;
239 imm32 r7, 0x0000d007;
248 CHECKREG r1, 0x80080001;
249 CHECKREG r2, 0x0010D002;
250 CHECKREG r3, 0x0040D003;
251 CHECKREG r4, 0x00C0D004;
252 CHECKREG r5, 0x0200D005;
253 CHECKREG r6, 0x0500D006;
254 CHECKREG r7, 0x0C00D007;
255 CHECKREG r0, 0x0700D001;
258 imm32 r0, 0x0000e001;
259 imm32 r1, 0x0000e001;
260 imm32 r2, 0x0000000f;
261 imm32 r3, 0x0000e003;
262 imm32 r4, 0x0000e004;
263 imm32 r5, 0x0000e005;
264 imm32 r6, 0x0000e006;
265 imm32 r7, 0x0000e007;
274 CHECKREG r0, 0x0000E001;
275 CHECKREG r1, 0x8000E001;
276 CHECKREG r2, 0x8000000F;
277 CHECKREG r3, 0x8000E003;
278 CHECKREG r4, 0x8000E004;
279 CHECKREG r5, 0x8000E005;
280 CHECKREG r6, 0x0000E006;
281 CHECKREG r7, 0x8000E007;
283 imm32 r0, 0x0000f001;
284 imm32 r1, 0x0000f001;
285 imm32 r2, 0x0000f002;
286 imm32 r3, 0x00000010;
287 imm32 r4, 0x0000f004;
288 imm32 r5, 0x0000f005;
289 imm32 r6, 0x0000f006;
290 imm32 r7, 0x0000f007;
300 imm32 r0, 0x00000000;
301 imm32 r1, 0x00010000;
302 imm32 r2, 0x00020000;
303 imm32 r3, 0x00030000;
304 imm32 r4, 0x00040000;
305 imm32 r5, 0x00050000;
306 imm32 r6, 0x00060000;
307 imm32 r7, 0x00070000;
316 CHECKREG r0, 0x00000000;
317 CHECKREG r1, 0x00010000;
318 CHECKREG r2, 0x00020000;
319 CHECKREG r3, 0x00030000;
320 CHECKREG r4, 0x00040000;
321 CHECKREG r5, 0x00050000;
322 CHECKREG r6, 0x00060000;
323 CHECKREG r7, 0x00070000;
325 imm32 r0, 0xa0010000;
326 imm32 r1, 0x00010001;
327 imm32 r2, 0xa0020000;
328 imm32 r3, 0xa0030000;
329 imm32 r4, 0xa0040000;
330 imm32 r5, 0xa0050000;
331 imm32 r6, 0xa0060000;
332 imm32 r7, 0xa0070000;
341 CHECKREG r1, 0x40020001;
342 CHECKREG r2, 0x80040000;
343 CHECKREG r3, 0x00080000;
344 CHECKREG r4, 0x00100000;
345 CHECKREG r5, 0x00200000;
346 CHECKREG r6, 0x00400000;
347 CHECKREG r7, 0x00800000;
348 CHECKREG r0, 0x01000000;
351 imm32 r0, 0xb0010000;
352 imm32 r1, 0xb0010000;
353 imm32 r2, 0xb002000f;
354 imm32 r3, 0xb0030000;
355 imm32 r4, 0xb0040000;
356 imm32 r5, 0xb0050000;
357 imm32 r6, 0xb0060000;
358 imm32 r7, 0xb0070000;
367 CHECKREG r0, 0x00000000;
368 CHECKREG r1, 0x00000000;
369 CHECKREG r2, 0x8000000F;
370 CHECKREG r3, 0x80000000;
371 CHECKREG r4, 0x00000000;
372 CHECKREG r5, 0x00000000;
373 CHECKREG r6, 0x00000000;
374 CHECKREG r7, 0x00000000;
376 imm32 r0, 0xd0010000;
377 imm32 r1, 0xd0010000;
378 imm32 r2, 0xd0020000;
379 imm32 r3, 0xd0030010;
380 imm32 r4, 0xd0040000;
381 imm32 r5, 0xd0050000;
382 imm32 r6, 0xd0060000;
383 imm32 r7, 0xd0070000;
392 CHECKREG r0, 0x20000000;
393 CHECKREG r1, 0x30000000;
394 CHECKREG r2, 0x40000000;
395 CHECKREG r3, 0x50000010;
396 CHECKREG r4, 0x00000000;
397 CHECKREG r5, 0x00000000;
398 CHECKREG r6, 0x10000000;
399 CHECKREG r7, 0x10000000;