tizen 2.4 release
[external/binutils.git] / sim / testsuite / sim / bfin / c_logi2op_log_l_shft.s
1 //Original:/testcases/core/c_logi2op_log_l_shft/c_logi2op_log_l_shft.dsp
2 // Spec Reference: Logi2op <<=
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8
9
10
11 // Logical <<= : negative data
12 // bit 0-7
13 imm32 r0, 0x81111111;
14 imm32 r1, 0x81111111;
15 imm32 r2, 0x81111111;
16 imm32 r3, 0x81111111;
17 imm32 r4, 0x81111111;
18 imm32 r5, 0x81111111;
19 imm32 r6, 0x81111111;
20 imm32 r7, 0x81111111;
21 R0 <<= 0; /* r0 = 0x81111111 */
22 R1 <<= 1; /* r1 = 0x40888888 */
23 R2 <<= 2; /* r2 = 0x20444444 */
24 R3 <<= 3; /* r3 = 0x10222222 */
25 R4 <<= 4; /* r4 = 0x08111111 */
26 R5 <<= 5; /* r5 = 0x04088888 */
27 R6 <<= 6; /* r6 = 0x02044444 */
28 R7 <<= 7; /* r7 = 0x01022222 */
29 CHECKREG r0, 0x81111111;
30 CHECKREG r1, 0x02222222;
31 CHECKREG r2, 0x04444444;
32 CHECKREG r3, 0x08888888;
33 CHECKREG r4, 0x11111110;
34 CHECKREG r5, 0x22222220;
35 CHECKREG r6, 0x44444440;
36 CHECKREG r7, 0x88888880;
37
38 // bit 8-15
39 imm32 r0, 0x82222222;
40 imm32 r1, 0x82222222;
41 imm32 r2, 0x82222222;
42 imm32 r3, 0x82222222;
43 imm32 r4, 0x82222222;
44 imm32 r5, 0x82222222;
45 imm32 r6, 0x82222222;
46 imm32 r7, 0x82222222;
47 R0 <<= 8;
48 R1 <<= 9;
49 R2 <<= 10;
50 R3 <<= 11;
51 R4 <<= 12;
52 R5 <<= 13;
53 R6 <<= 14;
54 R7 <<= 15;
55 CHECKREG r0, 0x22222200;
56 CHECKREG r1, 0x44444400;
57 CHECKREG r2, 0x88888800;
58 CHECKREG r3, 0x11111000;
59 CHECKREG r4, 0x22222000;
60 CHECKREG r5, 0x44444000;
61 CHECKREG r6, 0x88888000;
62 CHECKREG r7, 0x11110000;
63
64 // bit 16-23
65 imm32 r0, 0x83333333;
66 imm32 r1, 0x83333333;
67 imm32 r2, 0x83333333;
68 imm32 r3, 0x83333333;
69 imm32 r4, 0x83333333;
70 imm32 r5, 0x83333333;
71 imm32 r6, 0x83333333;
72 imm32 r7, 0x83333333;
73 R0 <<= 16;
74 R1 <<= 17;
75 R2 <<= 18;
76 R3 <<= 19;
77 R4 <<= 20;
78 R5 <<= 21;
79 R6 <<= 22;
80 R7 <<= 23;
81 CHECKREG r0, 0x33330000;
82 CHECKREG r1, 0x66660000;
83 CHECKREG r2, 0xCCCC0000;
84 CHECKREG r3, 0x99980000;
85 CHECKREG r4, 0x33300000;
86 CHECKREG r5, 0x66600000;
87 CHECKREG r6, 0xCCC00000;
88 CHECKREG r7, 0x99800000;
89
90 // bit 24-31
91 imm32 r0, 0x84444444;
92 imm32 r1, 0x84444444;
93 imm32 r2, 0x84444444;
94 imm32 r3, 0x84444444;
95 imm32 r4, 0x84444444;
96 imm32 r5, 0x84444444;
97 imm32 r6, 0x84444444;
98 imm32 r7, 0x84444444;
99 R0 <<= 24;
100 R1 <<= 25;
101 R2 <<= 26;
102 R3 <<= 27;
103 R4 <<= 28;
104 R5 <<= 29;
105 R6 <<= 30;
106 R7 <<= 31;
107 CHECKREG r0, 0x44000000;
108 CHECKREG r1, 0x88000000;
109 CHECKREG r2, 0x10000000;
110 CHECKREG r3, 0x20000000;
111 CHECKREG r4, 0x40000000;
112 CHECKREG r5, 0x80000000;
113 CHECKREG r6, 0x00000000;
114 CHECKREG r7, 0x00000000;
115
116 // Arithmetic <<= : positive data
117 // bit 0-7
118 imm32 r0, 0x41111111;
119 imm32 r1, 0x41111111;
120 imm32 r2, 0x41111111;
121 imm32 r3, 0x41111111;
122 imm32 r4, 0x41111111;
123 imm32 r5, 0x41111111;
124 imm32 r6, 0x41111111;
125 imm32 r7, 0x41111111;
126 R0 <<= 0;
127 R1 <<= 1;
128 R2 <<= 2;
129 R3 <<= 3;
130 R4 <<= 4;
131 R5 <<= 5;
132 R6 <<= 6;
133 R7 <<= 7;
134 CHECKREG r0, 0x41111111;
135 CHECKREG r1, 0x82222222;
136 CHECKREG r2, 0x04444444;
137 CHECKREG r3, 0x08888888;
138 CHECKREG r4, 0x11111110;
139 CHECKREG r5, 0x22222220;
140 CHECKREG r6, 0x44444440;
141 CHECKREG r7, 0x88888880;
142
143 // bit 8-15
144 imm32 r0, 0x42222222;
145 imm32 r1, 0x42222222;
146 imm32 r2, 0x42222222;
147 imm32 r3, 0x42222222;
148 imm32 r4, 0x42222222;
149 imm32 r5, 0x42222222;
150 imm32 r6, 0x42222222;
151 imm32 r7, 0x42222222;
152 R0 <<= 8;
153 R1 <<= 9;
154 R2 <<= 10;
155 R3 <<= 11;
156 R4 <<= 12;
157 R5 <<= 13;
158 R6 <<= 14;
159 R7 <<= 15;
160 CHECKREG r0, 0x22222200;
161 CHECKREG r1, 0x44444400;
162 CHECKREG r2, 0x88888800;
163 CHECKREG r3, 0x11111000;
164 CHECKREG r4, 0x22222000;
165 CHECKREG r5, 0x44444000;
166 CHECKREG r6, 0x88888000;
167 CHECKREG r7, 0x11110000;
168
169 // bit 16-23
170 imm32 r0, 0x43333333;
171 imm32 r1, 0x43333333;
172 imm32 r2, 0x43333333;
173 imm32 r3, 0x43333333;
174 imm32 r4, 0x43333333;
175 imm32 r5, 0x43333333;
176 imm32 r6, 0x43333333;
177 imm32 r7, 0x43333333;
178 R0 <<= 16;
179 R1 <<= 17;
180 R2 <<= 18;
181 R3 <<= 19;
182 R4 <<= 20;
183 R5 <<= 21;
184 R6 <<= 22;
185 R7 <<= 23;
186 CHECKREG r0, 0x33330000;
187 CHECKREG r1, 0x66660000;
188 CHECKREG r2, 0xCCCC0000;
189 CHECKREG r3, 0x99980000;
190 CHECKREG r4, 0x33300000;
191 CHECKREG r5, 0x66600000;
192 CHECKREG r6, 0xCCC00000;
193 CHECKREG r7, 0x99800000;
194
195 // bit 24-31
196 imm32 r0, 0x44444444;
197 imm32 r1, 0x44444444;
198 imm32 r2, 0x44444444;
199 imm32 r3, 0x44444444;
200 imm32 r4, 0x44444444;
201 imm32 r5, 0x44444444;
202 imm32 r6, 0x44444444;
203 imm32 r7, 0x44444444;
204 R0 <<= 24;
205 R1 <<= 25;
206 R2 <<= 26;
207 R3 <<= 27;
208 R4 <<= 28;
209 R5 <<= 29;
210 R6 <<= 30;
211 R7 <<= 31;
212 CHECKREG r0, 0x44000000;
213 CHECKREG r1, 0x88000000;
214 CHECKREG r2, 0x10000000;
215 CHECKREG r3, 0x20000000;
216 CHECKREG r4, 0x40000000;
217 CHECKREG r5, 0x80000000;
218 CHECKREG r6, 0x00000000;
219 CHECKREG r7, 0x00000000;
220
221
222 pass