xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/c_dsp32shift_lhh.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1//Original:/testcases/core/c_dsp32shift_lhh/c_dsp32shift_lhh.dsp
2// Spec Reference: dsp32shift lshift/lshift
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9
10// lshift/lshift : = (half reg)
11// d_reg = lshift/lshift (d BY d_lo)
12// Rx by RLx
13imm32 r0, 0x01230000;
14imm32 r1, 0x12345678;
15imm32 r2, 0x23456789;
16imm32 r3, 0x3456789a;
17imm32 r4, 0x456789ab;
18imm32 r5, 0x56789abc;
19imm32 r6, 0x6789abcd;
20imm32 r7, 0x789abcde;
21R1 = LSHIFT R0 BY R0.L (V);
22R2 = LSHIFT R1 BY R0.L (V);
23R3 = LSHIFT R2 BY R0.L (V);
24R4 = LSHIFT R3 BY R0.L (V);
25R5 = LSHIFT R4 BY R0.L (V);
26R6 = LSHIFT R5 BY R0.L (V);
27R7 = LSHIFT R6 BY R0.L (V);
28R0 = LSHIFT R7 BY R0.L (V);
29
30imm32 r0, 0x01230002;
31imm32 r1, 0x12345678;
32imm32 r2, 0x23456789;
33imm32 r3, 0x3456789a;
34imm32 r4, 0x456789ab;
35imm32 r5, 0x56789abc;
36imm32 r6, 0x6789abcd;
37imm32 r7, 0x789abcde;
38R1.L = 5;
39R2 = LSHIFT R0 BY R1.L (V);
40R3 = LSHIFT R1 BY R1.L (V);
41R4 = LSHIFT R2 BY R1.L (V);
42R5 = LSHIFT R3 BY R1.L (V);
43R6 = LSHIFT R4 BY R1.L (V);
44R7 = LSHIFT R5 BY R1.L (V);
45R0 = LSHIFT R6 BY R1.L (V);
46R1 = LSHIFT R7 BY R1.L (V);
47
48imm32 r0, 0x01230002;
49imm32 r1, 0x12345678;
50imm32 r2, 0x23456789;
51imm32 r3, 0x3456789a;
52imm32 r4, 0x456789ab;
53imm32 r5, 0x56789abc;
54imm32 r6, 0x6789abcd;
55imm32 r7, 0x789abcde;
56R2 = 15;
57R3 = LSHIFT R0 BY R2.L (V);
58R4 = LSHIFT R1 BY R2.L (V);
59R5 = LSHIFT R2 BY R2.L (V);
60R6 = LSHIFT R3 BY R2.L (V);
61R7 = LSHIFT R4 BY R2.L (V);
62R0 = LSHIFT R5 BY R2.L (V);
63R1 = LSHIFT R6 BY R2.L (V);
64R2 = LSHIFT R7 BY R2.L (V);
65
66imm32 r0, 0x01230002;
67imm32 r1, 0x12345678;
68imm32 r2, 0x23456789;
69imm32 r3, 0x3456789a;
70imm32 r4, 0x456789ab;
71imm32 r5, 0x56789abc;
72imm32 r6, 0x6789abcd;
73imm32 r7, 0x789abcde;
74R3.L = 16;
75R4 = LSHIFT R0 BY R3.L (V);
76R5 = LSHIFT R1 BY R3.L (V);
77R6 = LSHIFT R2 BY R3.L (V);
78R7 = LSHIFT R3 BY R3.L (V);
79R0 = LSHIFT R4 BY R3.L (V);
80R1 = LSHIFT R5 BY R3.L (V);
81R2 = LSHIFT R6 BY R3.L (V);
82R3 = LSHIFT R7 BY R3.L (V);
83
84imm32 r0, 0x01230002;
85imm32 r1, 0x12345678;
86imm32 r2, 0x23456789;
87imm32 r3, 0x3456789a;
88imm32 r4, 0x456789ab;
89imm32 r5, 0x56789abc;
90imm32 r6, 0x6789abcd;
91imm32 r7, 0x789abcde;
92R4.L = -1;
93R0 = LSHIFT R0 BY R4.L (V);
94R1 = LSHIFT R1 BY R4.L (V);
95R2 = LSHIFT R2 BY R4.L (V);
96R3 = LSHIFT R3 BY R4.L (V);
97R4 = LSHIFT R4 BY R4.L (V);
98R5 = LSHIFT R5 BY R4.L (V);
99R6 = LSHIFT R6 BY R4.L (V);
100R7 = LSHIFT R7 BY R4.L (V);
101
102imm32 r0, 0x01230002;
103imm32 r1, 0x12345678;
104imm32 r2, 0x23456789;
105imm32 r3, 0x3456789a;
106imm32 r4, 0x456789ab;
107imm32 r5, 0x56789abc;
108imm32 r6, 0x6789abcd;
109imm32 r7, 0x789abcde;
110R5.L = -6;
111R6 = LSHIFT R0 BY R5.L (V);
112R7 = LSHIFT R1 BY R5.L (V);
113R0 = LSHIFT R2 BY R5.L (V);
114R1 = LSHIFT R3 BY R5.L (V);
115R2 = LSHIFT R4 BY R5.L (V);
116R3 = LSHIFT R5 BY R5.L (V);
117R4 = LSHIFT R6 BY R5.L (V);
118R5 = LSHIFT R7 BY R5.L (V);
119
120imm32 r0, 0x01230002;
121imm32 r1, 0x12345678;
122imm32 r2, 0x23456789;
123imm32 r3, 0x3456789a;
124imm32 r4, 0x456789ab;
125imm32 r5, 0x56789abc;
126imm32 r6, 0x6789abcd;
127imm32 r7, 0x789abcde;
128R6.L = -15;
129R7 = LSHIFT R0 BY R6.L (V);
130R0 = LSHIFT R1 BY R6.L (V);
131R1 = LSHIFT R2 BY R6.L (V);
132R2 = LSHIFT R3 BY R6.L (V);
133R3 = LSHIFT R4 BY R6.L (V);
134R4 = LSHIFT R5 BY R6.L (V);
135R5 = LSHIFT R6 BY R6.L (V);
136R6 = LSHIFT R7 BY R6.L (V);
137
138imm32 r0, 0x01230002;
139imm32 r1, 0x12345678;
140imm32 r2, 0x23456789;
141imm32 r3, 0x3456789a;
142imm32 r4, 0x456789ab;
143imm32 r5, 0x56789abc;
144imm32 r6, 0x6789abcd;
145imm32 r7, 0x789abcde;
146R7.L = -16;
147R0 = LSHIFT R0 BY R7.L (V);
148R1 = LSHIFT R1 BY R7.L (V);
149R2 = LSHIFT R2 BY R7.L (V);
150R3 = LSHIFT R3 BY R7.L (V);
151R4 = LSHIFT R4 BY R7.L (V);
152R5 = LSHIFT R5 BY R7.L (V);
153R6 = LSHIFT R6 BY R7.L (V);
154R7 = LSHIFT R7 BY R7.L (V);
155
156imm32 r0, 0x01230002;
157imm32 r1, 0x12345678;
158imm32 r2, 0x23456789;
159imm32 r3, 0x3456789a;
160imm32 r4, 0x456789ab;
161imm32 r5, 0x56789abc;
162imm32 r6, 0x6789abcd;
163imm32 r7, 0x789abcde;
164R0.L = 4;
165//r0 = lshift/lshift (r0 by rl0);
166R1 = LSHIFT R1 BY R0.L (V);
167R2 = LSHIFT R2 BY R0.L (V);
168R3 = LSHIFT R3 BY R0.L (V);
169R4 = LSHIFT R4 BY R0.L (V);
170R5 = LSHIFT R5 BY R0.L (V);
171R6 = LSHIFT R6 BY R0.L (V);
172R7 = LSHIFT R7 BY R0.L (V);
173
174imm32 r0, 0x01230002;
175imm32 r1, 0x12345678;
176imm32 r2, 0x23456789;
177imm32 r3, 0x3456789a;
178imm32 r4, 0x456789ab;
179imm32 r5, 0x56789abc;
180imm32 r6, 0x6789abcd;
181imm32 r7, 0x789abcde;
182R1.L = 6;
183R0 = LSHIFT R0 BY R1.L (V);
184//r1 = lshift/lshift (r1 by rl1);
185R2 = LSHIFT R2 BY R1.L (V);
186R3 = LSHIFT R3 BY R1.L (V);
187R4 = LSHIFT R4 BY R1.L (V);
188R5 = LSHIFT R5 BY R1.L (V);
189R6 = LSHIFT R6 BY R1.L (V);
190R7 = LSHIFT R7 BY R1.L (V);
191
192
193imm32 r0, 0x01230002;
194imm32 r1, 0x12345678;
195imm32 r2, 0x23456789;
196imm32 r3, 0x3456789a;
197imm32 r4, 0x456789ab;
198imm32 r5, 0x56789abc;
199imm32 r6, 0x6789abcd;
200imm32 r7, 0x789abcde;
201R2.L = 15;
202R0 = LSHIFT R0 BY R2.L (V);
203R1 = LSHIFT R1 BY R2.L (V);
204//r2 = lshift/lshift (r2 by rl2);
205R3 = LSHIFT R3 BY R2.L (V);
206R4 = LSHIFT R4 BY R2.L (V);
207R5 = LSHIFT R5 BY R2.L (V);
208R6 = LSHIFT R6 BY R2.L (V);
209R7 = LSHIFT R7 BY R2.L (V);
210
211imm32 r0, 0x01230002;
212imm32 r1, 0x12345678;
213imm32 r2, 0x23456789;
214imm32 r3, 0x3456789a;
215imm32 r4, 0x456789ab;
216imm32 r5, 0x56789abc;
217imm32 r6, 0x6789abcd;
218imm32 r7, 0x789abcde;
219R3.L = 16;
220R0 = LSHIFT R0 BY R3.L (V);
221R1 = LSHIFT R1 BY R3.L (V);
222R2 = LSHIFT R2 BY R3.L (V);
223//r3 = lshift/lshift (r3 by rl3);
224R4 = LSHIFT R4 BY R3.L (V);
225R5 = LSHIFT R5 BY R3.L (V);
226R6 = LSHIFT R6 BY R3.L (V);
227R7 = LSHIFT R7 BY R3.L (V);
228
229imm32 r0, 0x01230002;
230imm32 r1, 0x12345678;
231imm32 r2, 0x23456789;
232imm32 r3, 0x3456789a;
233imm32 r4, 0x456789ab;
234imm32 r5, 0x56789abc;
235imm32 r6, 0x6789abcd;
236imm32 r7, 0x789abcde;
237R4.L = -9;
238R0 = LSHIFT R0 BY R4.L (V);
239R1 = LSHIFT R1 BY R4.L (V);
240R2 = LSHIFT R2 BY R4.L (V);
241R3 = LSHIFT R3 BY R4.L (V);
242//r4 = lshift/lshift (r4 by rl4);
243R5 = LSHIFT R5 BY R4.L (V);
244R6 = LSHIFT R6 BY R4.L (V);
245R7 = LSHIFT R7 BY R4.L (V);
246
247imm32 r0, 0x01230002;
248imm32 r1, 0x12345678;
249imm32 r2, 0x23456789;
250imm32 r3, 0x3456789a;
251imm32 r4, 0x456789ab;
252imm32 r5, 0x56789abc;
253imm32 r6, 0x6789abcd;
254imm32 r7, 0x789abcde;
255R5.L = -14;
256R0 = LSHIFT R0 BY R5.L (V);
257R1 = LSHIFT R1 BY R5.L (V);
258R2 = LSHIFT R2 BY R5.L (V);
259R3 = LSHIFT R3 BY R5.L (V);
260R4 = LSHIFT R4 BY R5.L (V);
261//r5 = lshift/lshift (r5 by rl5);
262R6 = LSHIFT R6 BY R5.L (V);
263R7 = LSHIFT R7 BY R5.L (V);
264
265
266imm32 r0, 0x01230002;
267imm32 r1, 0x12345678;
268imm32 r2, 0x23456789;
269imm32 r3, 0x3456789a;
270imm32 r4, 0x456789ab;
271imm32 r5, 0x56789abc;
272imm32 r6, 0x6789abcd;
273imm32 r7, 0x789abcde;
274R6.L = -15;
275R0 = LSHIFT R0 BY R6.L (V);
276R1 = LSHIFT R1 BY R6.L (V);
277R2 = LSHIFT R2 BY R6.L (V);
278R3 = LSHIFT R3 BY R6.L (V);
279R4 = LSHIFT R4 BY R6.L (V);
280R5 = LSHIFT R5 BY R6.L (V);
281//r6 = lshift/lshift (r6 by rl6);
282R7 = LSHIFT R7 BY R6.L (V);
283
284imm32 r0, 0x01230002;
285imm32 r1, 0x12345678;
286imm32 r2, 0x23456789;
287imm32 r3, 0x3456789a;
288imm32 r4, 0x456789ab;
289imm32 r5, 0x56789abc;
290imm32 r6, 0x6789abcd;
291imm32 r7, 0x789abcde;
292R7.L = -16;
293R0 = LSHIFT R0 BY R7.L (V);
294R1 = LSHIFT R1 BY R7.L (V);
295R2 = LSHIFT R2 BY R7.L (V);
296R3 = LSHIFT R3 BY R7.L (V);
297R4 = LSHIFT R4 BY R7.L (V);
298R5 = LSHIFT R5 BY R7.L (V);
299R6 = LSHIFT R6 BY R7.L (V);
300R7 = LSHIFT R7 BY R7.L (V);
301CHECKREG r0, 0x00000000;
302CHECKREG r1, 0x00000000;
303CHECKREG r2, 0x00000000;
304CHECKREG r3, 0x00000000;
305CHECKREG r4, 0x00000000;
306CHECKREG r5, 0x00000000;
307CHECKREG r6, 0x00000000;
308CHECKREG r7, 0x00000000;
309CHECKREG r7, 0x00000000;
310
311pass
312