]>
Commit | Line | Data |
---|---|---|
5384b728 | 1 | 2002-05-08 Tom Rix <trix@redhat.com> |
2 | ||
3 | * gcc.c-torture/execute/20020508-1.c: New test. | |
4 | * gcc.c-torture/execute/20020508-2.c: New test. | |
5 | * gcc.c-torture/execute/20020508-3.c: New test. | |
6 | ||
7 | --- gcc/testsuite/gcc.c-torture/execute/20020508-1.c.jj Wed May 15 14:22:47 2002 | |
8 | +++ gcc/testsuite/gcc.c-torture/execute/20020508-1.c Wed May 15 14:22:47 2002 | |
9 | @@ -0,0 +1,104 @@ | |
10 | +/* This tests the rotate patterns that some machines support. */ | |
11 | + | |
12 | +#include <limits.h> | |
13 | + | |
14 | +#ifndef CHAR_BIT | |
15 | +#define CHAR_BIT 8 | |
16 | +#endif | |
17 | + | |
18 | +#define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) | |
19 | +#define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) | |
20 | + | |
21 | +#define CHAR_VALUE ((unsigned char)0xf234U) | |
22 | +#define SHORT_VALUE ((unsigned short)0xf234U) | |
23 | +#define INT_VALUE 0xf234U | |
24 | +#define LONG_VALUE 0xf2345678LU | |
25 | +#define LL_VALUE 0xf2345678abcdef0LLU | |
26 | + | |
27 | +#define SHIFT1 4 | |
28 | +#define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) | |
29 | + | |
30 | +unsigned char uc = CHAR_VALUE; | |
31 | +unsigned short us = SHORT_VALUE; | |
32 | +unsigned int ui = INT_VALUE; | |
33 | +unsigned long ul = LONG_VALUE; | |
34 | +unsigned long long ull = LL_VALUE; | |
35 | +int shift1 = SHIFT1; | |
36 | +int shift2 = SHIFT2; | |
37 | + | |
38 | +main () | |
39 | +{ | |
40 | + if (ROR (uc, shift1) != ROR (CHAR_VALUE, SHIFT1)) | |
41 | + abort (); | |
42 | + | |
43 | + if (ROR (uc, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) | |
44 | + abort (); | |
45 | + | |
46 | + if (ROR (us, shift1) != ROR (SHORT_VALUE, SHIFT1)) | |
47 | + abort (); | |
48 | + | |
49 | + if (ROR (us, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) | |
50 | + abort (); | |
51 | + | |
52 | + if (ROR (ui, shift1) != ROR (INT_VALUE, SHIFT1)) | |
53 | + abort (); | |
54 | + | |
55 | + if (ROR (ui, SHIFT1) != ROR (INT_VALUE, SHIFT1)) | |
56 | + abort (); | |
57 | + | |
58 | + if (ROR (ul, shift1) != ROR (LONG_VALUE, SHIFT1)) | |
59 | + abort (); | |
60 | + | |
61 | + if (ROR (ul, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) | |
62 | + abort (); | |
63 | + | |
64 | + if (ROR (ull, shift1) != ROR (LL_VALUE, SHIFT1)) | |
65 | + abort (); | |
66 | + | |
67 | + if (ROR (ull, SHIFT1) != ROR (LL_VALUE, SHIFT1)) | |
68 | + abort (); | |
69 | + | |
70 | + if (ROR (ull, shift2) != ROR (LL_VALUE, SHIFT2)) | |
71 | + abort (); | |
72 | + | |
73 | + if (ROR (ull, SHIFT2) != ROR (LL_VALUE, SHIFT2)) | |
74 | + abort (); | |
75 | + | |
76 | + if (ROL (uc, shift1) != ROL (CHAR_VALUE, SHIFT1)) | |
77 | + abort (); | |
78 | + | |
79 | + if (ROL (uc, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) | |
80 | + abort (); | |
81 | + | |
82 | + if (ROL (us, shift1) != ROL (SHORT_VALUE, SHIFT1)) | |
83 | + abort (); | |
84 | + | |
85 | + if (ROL (us, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) | |
86 | + abort (); | |
87 | + | |
88 | + if (ROL (ui, shift1) != ROL (INT_VALUE, SHIFT1)) | |
89 | + abort (); | |
90 | + | |
91 | + if (ROL (ui, SHIFT1) != ROL (INT_VALUE, SHIFT1)) | |
92 | + abort (); | |
93 | + | |
94 | + if (ROL (ul, shift1) != ROL (LONG_VALUE, SHIFT1)) | |
95 | + abort (); | |
96 | + | |
97 | + if (ROL (ul, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) | |
98 | + abort (); | |
99 | + | |
100 | + if (ROL (ull, shift1) != ROL (LL_VALUE, SHIFT1)) | |
101 | + abort (); | |
102 | + | |
103 | + if (ROL (ull, SHIFT1) != ROL (LL_VALUE, SHIFT1)) | |
104 | + abort (); | |
105 | + | |
106 | + if (ROL (ull, shift2) != ROL (LL_VALUE, SHIFT2)) | |
107 | + abort (); | |
108 | + | |
109 | + if (ROL (ull, SHIFT2) != ROL (LL_VALUE, SHIFT2)) | |
110 | + abort (); | |
111 | + | |
112 | + exit (0); | |
113 | +} | |
114 | --- gcc/testsuite/gcc.c-torture/execute/20020508-2.c.jj Wed May 15 14:22:47 2002 | |
115 | +++ gcc/testsuite/gcc.c-torture/execute/20020508-2.c Wed May 15 14:22:47 2002 | |
116 | @@ -0,0 +1,102 @@ | |
117 | +#include <limits.h> | |
118 | + | |
119 | +#ifndef CHAR_BIT | |
120 | +#define CHAR_BIT 8 | |
121 | +#endif | |
122 | + | |
123 | +#define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) | |
124 | +#define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) | |
125 | + | |
126 | +#define CHAR_VALUE ((char)0x1234) | |
127 | +#define SHORT_VALUE ((short)0x1234) | |
128 | +#define INT_VALUE ((int)0x1234) | |
129 | +#define LONG_VALUE ((long)0x12345678L) | |
130 | +#define LL_VALUE ((long long)0x12345678abcdef0LL) | |
131 | + | |
132 | +#define SHIFT1 4 | |
133 | +#define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) | |
134 | + | |
135 | +char c = CHAR_VALUE; | |
136 | +short s = SHORT_VALUE; | |
137 | +int i = INT_VALUE; | |
138 | +long l = LONG_VALUE; | |
139 | +long long ll = LL_VALUE; | |
140 | +int shift1 = SHIFT1; | |
141 | +int shift2 = SHIFT2; | |
142 | + | |
143 | +main () | |
144 | +{ | |
145 | + if (ROR (c, shift1) != ROR (CHAR_VALUE, SHIFT1)) | |
146 | + abort (); | |
147 | + | |
148 | + if (ROR (c, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) | |
149 | + abort (); | |
150 | + | |
151 | + if (ROR (s, shift1) != ROR (SHORT_VALUE, SHIFT1)) | |
152 | + abort (); | |
153 | + | |
154 | + if (ROR (s, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) | |
155 | + abort (); | |
156 | + | |
157 | + if (ROR (i, shift1) != ROR (INT_VALUE, SHIFT1)) | |
158 | + abort (); | |
159 | + | |
160 | + if (ROR (i, SHIFT1) != ROR (INT_VALUE, SHIFT1)) | |
161 | + abort (); | |
162 | + | |
163 | + if (ROR (l, shift1) != ROR (LONG_VALUE, SHIFT1)) | |
164 | + abort (); | |
165 | + | |
166 | + if (ROR (l, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) | |
167 | + abort (); | |
168 | + | |
169 | + if (ROR (ll, shift1) != ROR (LL_VALUE, SHIFT1)) | |
170 | + abort (); | |
171 | + | |
172 | + if (ROR (ll, SHIFT1) != ROR (LL_VALUE, SHIFT1)) | |
173 | + abort (); | |
174 | + | |
175 | + if (ROR (ll, shift2) != ROR (LL_VALUE, SHIFT2)) | |
176 | + abort (); | |
177 | + | |
178 | + if (ROR (ll, SHIFT2) != ROR (LL_VALUE, SHIFT2)) | |
179 | + abort (); | |
180 | + | |
181 | + if (ROL (c, shift1) != ROL (CHAR_VALUE, SHIFT1)) | |
182 | + abort (); | |
183 | + | |
184 | + if (ROL (c, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) | |
185 | + abort (); | |
186 | + | |
187 | + if (ROL (s, shift1) != ROL (SHORT_VALUE, SHIFT1)) | |
188 | + abort (); | |
189 | + | |
190 | + if (ROL (s, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) | |
191 | + abort (); | |
192 | + | |
193 | + if (ROL (i, shift1) != ROL (INT_VALUE, SHIFT1)) | |
194 | + abort (); | |
195 | + | |
196 | + if (ROL (i, SHIFT1) != ROL (INT_VALUE, SHIFT1)) | |
197 | + abort (); | |
198 | + | |
199 | + if (ROL (l, shift1) != ROL (LONG_VALUE, SHIFT1)) | |
200 | + abort (); | |
201 | + | |
202 | + if (ROL (l, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) | |
203 | + abort (); | |
204 | + | |
205 | + if (ROL (ll, shift1) != ROL (LL_VALUE, SHIFT1)) | |
206 | + abort (); | |
207 | + | |
208 | + if (ROL (ll, SHIFT1) != ROL (LL_VALUE, SHIFT1)) | |
209 | + abort (); | |
210 | + | |
211 | + if (ROL (ll, shift2) != ROL (LL_VALUE, SHIFT2)) | |
212 | + abort (); | |
213 | + | |
214 | + if (ROL (ll, SHIFT2) != ROL (LL_VALUE, SHIFT2)) | |
215 | + abort (); | |
216 | + | |
217 | + exit (0); | |
218 | +} | |
219 | --- gcc/testsuite/gcc.c-torture/execute/20020508-3.c.jj Wed May 15 14:22:47 2002 | |
220 | +++ gcc/testsuite/gcc.c-torture/execute/20020508-3.c Wed May 15 14:22:47 2002 | |
221 | @@ -0,0 +1,102 @@ | |
222 | +#include <limits.h> | |
223 | + | |
224 | +#ifndef CHAR_BIT | |
225 | +#define CHAR_BIT 8 | |
226 | +#endif | |
227 | + | |
228 | +#define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) | |
229 | +#define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) | |
230 | + | |
231 | +#define CHAR_VALUE ((char)0xf234) | |
232 | +#define SHORT_VALUE ((short)0xf234) | |
233 | +#define INT_VALUE ((int)0xf234) | |
234 | +#define LONG_VALUE ((long)0xf2345678L) | |
235 | +#define LL_VALUE ((long long)0xf2345678abcdef0LL) | |
236 | + | |
237 | +#define SHIFT1 4 | |
238 | +#define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) | |
239 | + | |
240 | +char c = CHAR_VALUE; | |
241 | +short s = SHORT_VALUE; | |
242 | +int i = INT_VALUE; | |
243 | +long l = LONG_VALUE; | |
244 | +long long ll = LL_VALUE; | |
245 | +int shift1 = SHIFT1; | |
246 | +int shift2 = SHIFT2; | |
247 | + | |
248 | +main () | |
249 | +{ | |
250 | + if (ROR (c, shift1) != ROR (CHAR_VALUE, SHIFT1)) | |
251 | + abort (); | |
252 | + | |
253 | + if (ROR (c, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) | |
254 | + abort (); | |
255 | + | |
256 | + if (ROR (s, shift1) != ROR (SHORT_VALUE, SHIFT1)) | |
257 | + abort (); | |
258 | + | |
259 | + if (ROR (s, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) | |
260 | + abort (); | |
261 | + | |
262 | + if (ROR (i, shift1) != ROR (INT_VALUE, SHIFT1)) | |
263 | + abort (); | |
264 | + | |
265 | + if (ROR (i, SHIFT1) != ROR (INT_VALUE, SHIFT1)) | |
266 | + abort (); | |
267 | + | |
268 | + if (ROR (l, shift1) != ROR (LONG_VALUE, SHIFT1)) | |
269 | + abort (); | |
270 | + | |
271 | + if (ROR (l, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) | |
272 | + abort (); | |
273 | + | |
274 | + if (ROR (ll, shift1) != ROR (LL_VALUE, SHIFT1)) | |
275 | + abort (); | |
276 | + | |
277 | + if (ROR (ll, SHIFT1) != ROR (LL_VALUE, SHIFT1)) | |
278 | + abort (); | |
279 | + | |
280 | + if (ROR (ll, shift2) != ROR (LL_VALUE, SHIFT2)) | |
281 | + abort (); | |
282 | + | |
283 | + if (ROR (ll, SHIFT2) != ROR (LL_VALUE, SHIFT2)) | |
284 | + abort (); | |
285 | + | |
286 | + if (ROL (c, shift1) != ROL (CHAR_VALUE, SHIFT1)) | |
287 | + abort (); | |
288 | + | |
289 | + if (ROL (c, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) | |
290 | + abort (); | |
291 | + | |
292 | + if (ROL (s, shift1) != ROL (SHORT_VALUE, SHIFT1)) | |
293 | + abort (); | |
294 | + | |
295 | + if (ROL (s, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) | |
296 | + abort (); | |
297 | + | |
298 | + if (ROL (i, shift1) != ROL (INT_VALUE, SHIFT1)) | |
299 | + abort (); | |
300 | + | |
301 | + if (ROL (i, SHIFT1) != ROL (INT_VALUE, SHIFT1)) | |
302 | + abort (); | |
303 | + | |
304 | + if (ROL (l, shift1) != ROL (LONG_VALUE, SHIFT1)) | |
305 | + abort (); | |
306 | + | |
307 | + if (ROL (l, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) | |
308 | + abort (); | |
309 | + | |
310 | + if (ROL (ll, shift1) != ROL (LL_VALUE, SHIFT1)) | |
311 | + abort (); | |
312 | + | |
313 | + if (ROL (ll, SHIFT1) != ROL (LL_VALUE, SHIFT1)) | |
314 | + abort (); | |
315 | + | |
316 | + if (ROL (ll, shift2) != ROL (LL_VALUE, SHIFT2)) | |
317 | + abort (); | |
318 | + | |
319 | + if (ROL (ll, SHIFT2) != ROL (LL_VALUE, SHIFT2)) | |
320 | + abort (); | |
321 | + | |
322 | + exit (0); | |
323 | +} |