ld: Move the .note.build-id section to near the start of the memory map.
[binutils-gdb.git] / sim / testsuite / bfin / c_logi2op_log_r_shft.s
blobaf4eb73d20fca7504c33b8f34c2a518f7944e0ed
1 //Original:/testcases/core/c_logi2op_log_r_shft/c_logi2op_log_r_shft.dsp
2 // Spec Reference: Logi2op >>=
3 # mach: bfin
5 .include "testutils.inc"
6 start
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, 0x40888888;
31 CHECKREG r2, 0x20444444;
32 CHECKREG r3, 0x10222222;
33 CHECKREG r4, 0x08111111;
34 CHECKREG r5, 0x04088888;
35 CHECKREG r6, 0x02044444;
36 CHECKREG r7, 0x01022222;
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; /* r0 = 0x00822222 */
48 R1 >>= 9; /* r1 = 0x00411111 */
49 R2 >>= 10; /* r2 = 0x00208888 */
50 R3 >>= 11; /* r3 = 0x00104444 */
51 R4 >>= 12; /* r4 = 0x00082222 */
52 R5 >>= 13; /* r5 = 0x00041111 */
53 R6 >>= 14; /* r6 = 0x00020888 */
54 R7 >>= 15; /* r7 = 0x00010444 */
55 CHECKREG r0, 0x00822222;
56 CHECKREG r1, 0x00411111;
57 CHECKREG r2, 0x00208888;
58 CHECKREG r3, 0x00104444;
59 CHECKREG r4, 0x00082222;
60 CHECKREG r5, 0x00041111;
61 CHECKREG r6, 0x00020888;
62 CHECKREG r7, 0x00010444;
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; /* r0 = 0x00008333 */
74 R1 >>= 17; /* r1 = 0x00004199 */
75 R2 >>= 18; /* r2 = 0x000020CC */
76 R3 >>= 19; /* r3 = 0x00001066 */
77 R4 >>= 20; /* r4 = 0x00000833 */
78 R5 >>= 21; /* r5 = 0x00000419 */
79 R6 >>= 22; /* r6 = 0x0000020C */
80 R7 >>= 23; /* r7 = 0x00000106 */
81 CHECKREG r0, 0x00008333;
82 CHECKREG r1, 0x00004199;
83 CHECKREG r2, 0x000020CC;
84 CHECKREG r3, 0x00001066;
85 CHECKREG r4, 0x00000833;
86 CHECKREG r5, 0x00000419;
87 CHECKREG r6, 0x0000020C;
88 CHECKREG r7, 0x00000106;
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; /* r0 = 0x00000084 */
100 R1 >>= 25; /* r1 = 0x00000042 */
101 R2 >>= 26; /* r2 = 0x00000021 */
102 R3 >>= 27; /* r3 = 0x00000010 */
103 R4 >>= 28; /* r4 = 0x00000008 */
104 R5 >>= 29; /* r5 = 0x00000004 */
105 R6 >>= 30; /* r6 = 0x00000002 */
106 R7 >>= 31; /* r7 = 0x00000001 */
107 CHECKREG r0, 0x00000084;
108 CHECKREG r1, 0x00000042;
109 CHECKREG r2, 0x00000021;
110 CHECKREG r3, 0x00000010;
111 CHECKREG r4, 0x00000008;
112 CHECKREG r5, 0x00000004;
113 CHECKREG r6, 0x00000002;
114 CHECKREG r7, 0x00000001;
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; /* r0 = 0x41111111 */
127 R1 >>= 1; /* r1 = 0x20888888 */
128 R2 >>= 2; /* r2 = 0x10444444 */
129 R3 >>= 3; /* r3 = 0x08222222 */
130 R4 >>= 4; /* r4 = 0x04111111 */
131 R5 >>= 5; /* r5 = 0x02088888 */
132 R6 >>= 6; /* r6 = 0x01044444 */
133 R7 >>= 7; /* r7 = 0x00822222 */
134 CHECKREG r0, 0x41111111;
135 CHECKREG r1, 0x20888888;
136 CHECKREG r2, 0x10444444;
137 CHECKREG r3, 0x08222222;
138 CHECKREG r4, 0x04111111;
139 CHECKREG r5, 0x02088888;
140 CHECKREG r6, 0x01044444;
141 CHECKREG r7, 0x00822222;
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; /* r0 = 0x00422222 */
153 R1 >>= 9; /* r1 = 0x00211111 */
154 R2 >>= 10; /* r2 = 0x00108888 */
155 R3 >>= 11; /* r3 = 0x00084444 */
156 R4 >>= 12; /* r4 = 0x00042222 */
157 R5 >>= 13; /* r5 = 0x00021111 */
158 R6 >>= 14; /* r6 = 0x00010888 */
159 R7 >>= 15; /* r7 = 0x00008444 */
160 CHECKREG r0, 0x00422222;
161 CHECKREG r1, 0x00211111;
162 CHECKREG r2, 0x00108888;
163 CHECKREG r3, 0x00084444;
164 CHECKREG r4, 0x00042222;
165 CHECKREG r5, 0x00021111;
166 CHECKREG r6, 0x00010888;
167 CHECKREG r7, 0x00008444;
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; /* r0 = 0x00004333 */
179 R1 >>= 17; /* r1 = 0x00002199 */
180 R2 >>= 18; /* r2 = 0x000010CC */
181 R3 >>= 19; /* r3 = 0x00000866 */
182 R4 >>= 20; /* r4 = 0x00000433 */
183 R5 >>= 21; /* r5 = 0x00000219 */
184 R6 >>= 22; /* r6 = 0x0000010C */
185 R7 >>= 23; /* r7 = 0x00000086 */
186 CHECKREG r0, 0x00004333;
187 CHECKREG r1, 0x00002199;
188 CHECKREG r2, 0x000010CC;
189 CHECKREG r3, 0x00000866;
190 CHECKREG r4, 0x00000433;
191 CHECKREG r5, 0x00000219;
192 CHECKREG r6, 0x0000010C;
193 CHECKREG r7, 0x00000086;
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; /* r0 = 0x00000044 */
205 R1 >>= 25; /* r1 = 0x00000022 */
206 R2 >>= 26; /* r2 = 0x00000011 */
207 R3 >>= 27; /* r3 = 0x00000008 */
208 R4 >>= 28; /* r4 = 0x00000004 */
209 R5 >>= 29; /* r5 = 0x00000002 */
210 R6 >>= 30; /* r6 = 0x00000001 */
211 R7 >>= 31; /* r7 = 0x00000000 */
212 CHECKREG r0, 0x00000044;
213 CHECKREG r1, 0x00000022;
214 CHECKREG r2, 0x00000011;
215 CHECKREG r3, 0x00000008;
216 CHECKREG r4, 0x00000004;
217 CHECKREG r5, 0x00000002;
218 CHECKREG r6, 0x00000001;
219 CHECKREG r7, 0x00000000;
222 pass