Fix Centurion name.
[0ad.git] / libraries / source / spidermonkey / include-win32-release / nspr / md / _linux.cfg
blob4b9dee40ca928c0b3020f4c5ffc5a909395fcfcb
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\r
2 /* This Source Code Form is subject to the terms of the Mozilla Public\r
3  * License, v. 2.0. If a copy of the MPL was not distributed with this\r
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\r
5 \r
6 /*\r
7  * This file is used by not only Linux but also other glibc systems\r
8  * such as GNU/Hurd and GNU/k*BSD.\r
9  */\r
11 #ifndef nspr_cpucfg___\r
12 #define nspr_cpucfg___\r
14 #ifndef XP_UNIX\r
15 #define XP_UNIX\r
16 #endif\r
18 #if !defined(LINUX) && defined(__linux__)\r
19 #define LINUX\r
20 #endif\r
22 #ifdef __FreeBSD_kernel__\r
23 #define PR_AF_INET6 28  /* same as AF_INET6 */\r
24 #elif defined(__GNU__)\r
25 #define PR_AF_INET6 26  /* same as AF_INET6 */\r
26 #else\r
27 #define PR_AF_INET6 10  /* same as AF_INET6 */\r
28 #endif\r
30 #ifdef __powerpc64__\r
32 #ifdef __LITTLE_ENDIAN__\r
33 #define IS_LITTLE_ENDIAN 1\r
34 #undef  IS_BIG_ENDIAN\r
35 #else\r
36 #undef  IS_LITTLE_ENDIAN\r
37 #define IS_BIG_ENDIAN    1\r
38 #endif\r
39 #define IS_64\r
41 #define PR_BYTES_PER_BYTE   1\r
42 #define PR_BYTES_PER_SHORT  2\r
43 #define PR_BYTES_PER_INT    4\r
44 #define PR_BYTES_PER_INT64  8\r
45 #define PR_BYTES_PER_LONG   8\r
46 #define PR_BYTES_PER_FLOAT  4\r
47 #define PR_BYTES_PER_DOUBLE 8\r
48 #define PR_BYTES_PER_WORD   8\r
49 #define PR_BYTES_PER_DWORD  8\r
51 #define PR_BITS_PER_BYTE    8\r
52 #define PR_BITS_PER_SHORT   16\r
53 #define PR_BITS_PER_INT     32\r
54 #define PR_BITS_PER_INT64   64\r
55 #define PR_BITS_PER_LONG    64\r
56 #define PR_BITS_PER_FLOAT   32\r
57 #define PR_BITS_PER_DOUBLE  64\r
58 #define PR_BITS_PER_WORD    64\r
60 #define PR_BITS_PER_BYTE_LOG2   3\r
61 #define PR_BITS_PER_SHORT_LOG2  4\r
62 #define PR_BITS_PER_INT_LOG2    5\r
63 #define PR_BITS_PER_INT64_LOG2  6\r
64 #define PR_BITS_PER_LONG_LOG2   6\r
65 #define PR_BITS_PER_FLOAT_LOG2  5\r
66 #define PR_BITS_PER_DOUBLE_LOG2 6\r
67 #define PR_BITS_PER_WORD_LOG2   6\r
69 #define PR_ALIGN_OF_SHORT   2\r
70 #define PR_ALIGN_OF_INT     4\r
71 #define PR_ALIGN_OF_LONG    8\r
72 #define PR_ALIGN_OF_INT64   8\r
73 #define PR_ALIGN_OF_FLOAT   4\r
74 #define PR_ALIGN_OF_DOUBLE  8\r
75 #define PR_ALIGN_OF_POINTER 8\r
76 #define PR_ALIGN_OF_WORD    8\r
78 #define PR_BYTES_PER_WORD_LOG2   3\r
79 #define PR_BYTES_PER_DWORD_LOG2  3\r
81 #elif defined(__powerpc__)\r
83 #ifdef __LITTLE_ENDIAN__\r
84 #define IS_LITTLE_ENDIAN 1\r
85 #undef  IS_BIG_ENDIAN\r
86 #else\r
87 #undef  IS_LITTLE_ENDIAN\r
88 #define IS_BIG_ENDIAN    1\r
89 #endif\r
91 #define PR_BYTES_PER_BYTE   1\r
92 #define PR_BYTES_PER_SHORT  2\r
93 #define PR_BYTES_PER_INT    4\r
94 #define PR_BYTES_PER_INT64  8\r
95 #define PR_BYTES_PER_LONG   4\r
96 #define PR_BYTES_PER_FLOAT  4\r
97 #define PR_BYTES_PER_DOUBLE 8\r
98 #define PR_BYTES_PER_WORD   4\r
99 #define PR_BYTES_PER_DWORD  8\r
101 #define PR_BITS_PER_BYTE    8\r
102 #define PR_BITS_PER_SHORT   16\r
103 #define PR_BITS_PER_INT     32\r
104 #define PR_BITS_PER_INT64   64\r
105 #define PR_BITS_PER_LONG    32\r
106 #define PR_BITS_PER_FLOAT   32\r
107 #define PR_BITS_PER_DOUBLE  64\r
108 #define PR_BITS_PER_WORD    32\r
110 #define PR_BITS_PER_BYTE_LOG2   3\r
111 #define PR_BITS_PER_SHORT_LOG2  4\r
112 #define PR_BITS_PER_INT_LOG2    5\r
113 #define PR_BITS_PER_INT64_LOG2  6\r
114 #define PR_BITS_PER_LONG_LOG2   5\r
115 #define PR_BITS_PER_FLOAT_LOG2  5\r
116 #define PR_BITS_PER_DOUBLE_LOG2 6\r
117 #define PR_BITS_PER_WORD_LOG2   5\r
119 #define PR_ALIGN_OF_SHORT   2\r
120 #define PR_ALIGN_OF_INT     4\r
121 #define PR_ALIGN_OF_LONG    4\r
122 #define PR_ALIGN_OF_INT64   8\r
123 #define PR_ALIGN_OF_FLOAT   4\r
124 #define PR_ALIGN_OF_DOUBLE  8\r
125 #define PR_ALIGN_OF_POINTER 4\r
126 #define PR_ALIGN_OF_WORD    4\r
128 #define PR_BYTES_PER_WORD_LOG2   2\r
129 #define PR_BYTES_PER_DWORD_LOG2  3\r
131 #elif defined(__alpha)\r
133 #define IS_LITTLE_ENDIAN 1\r
134 #undef  IS_BIG_ENDIAN\r
135 #define IS_64\r
137 #define PR_BYTES_PER_BYTE   1\r
138 #define PR_BYTES_PER_SHORT  2\r
139 #define PR_BYTES_PER_INT    4\r
140 #define PR_BYTES_PER_INT64  8\r
141 #define PR_BYTES_PER_LONG   8\r
142 #define PR_BYTES_PER_FLOAT  4\r
143 #define PR_BYTES_PER_DOUBLE 8\r
144 #define PR_BYTES_PER_WORD   8\r
145 #define PR_BYTES_PER_DWORD  8\r
147 #define PR_BITS_PER_BYTE    8\r
148 #define PR_BITS_PER_SHORT   16\r
149 #define PR_BITS_PER_INT     32\r
150 #define PR_BITS_PER_INT64   64\r
151 #define PR_BITS_PER_LONG    64\r
152 #define PR_BITS_PER_FLOAT   32\r
153 #define PR_BITS_PER_DOUBLE  64\r
154 #define PR_BITS_PER_WORD    64\r
156 #define PR_BITS_PER_BYTE_LOG2   3\r
157 #define PR_BITS_PER_SHORT_LOG2  4\r
158 #define PR_BITS_PER_INT_LOG2    5\r
159 #define PR_BITS_PER_INT64_LOG2  6\r
160 #define PR_BITS_PER_LONG_LOG2   6\r
161 #define PR_BITS_PER_FLOAT_LOG2  5\r
162 #define PR_BITS_PER_DOUBLE_LOG2 6\r
163 #define PR_BITS_PER_WORD_LOG2   6\r
165 #define PR_ALIGN_OF_SHORT   2\r
166 #define PR_ALIGN_OF_INT     4\r
167 #define PR_ALIGN_OF_LONG    8\r
168 #define PR_ALIGN_OF_INT64   8\r
169 #define PR_ALIGN_OF_FLOAT   4\r
170 #define PR_ALIGN_OF_DOUBLE  8\r
171 #define PR_ALIGN_OF_POINTER 8\r
172 #define PR_ALIGN_OF_WORD    8\r
174 #define PR_BYTES_PER_WORD_LOG2  3\r
175 #define PR_BYTES_PER_DWORD_LOG2 3\r
177 #elif defined(__ia64__)\r
179 #define IS_LITTLE_ENDIAN 1\r
180 #undef  IS_BIG_ENDIAN\r
181 #define IS_64\r
183 #define PR_BYTES_PER_BYTE   1\r
184 #define PR_BYTES_PER_SHORT  2\r
185 #define PR_BYTES_PER_INT    4\r
186 #define PR_BYTES_PER_INT64  8\r
187 #define PR_BYTES_PER_LONG   8\r
188 #define PR_BYTES_PER_FLOAT  4\r
189 #define PR_BYTES_PER_DOUBLE 8\r
190 #define PR_BYTES_PER_WORD   8\r
191 #define PR_BYTES_PER_DWORD  8\r
193 #define PR_BITS_PER_BYTE    8\r
194 #define PR_BITS_PER_SHORT   16\r
195 #define PR_BITS_PER_INT     32\r
196 #define PR_BITS_PER_INT64   64\r
197 #define PR_BITS_PER_LONG    64\r
198 #define PR_BITS_PER_FLOAT   32\r
199 #define PR_BITS_PER_DOUBLE  64\r
200 #define PR_BITS_PER_WORD    64\r
202 #define PR_BITS_PER_BYTE_LOG2   3\r
203 #define PR_BITS_PER_SHORT_LOG2  4\r
204 #define PR_BITS_PER_INT_LOG2    5\r
205 #define PR_BITS_PER_INT64_LOG2  6\r
206 #define PR_BITS_PER_LONG_LOG2   6\r
207 #define PR_BITS_PER_FLOAT_LOG2  5\r
208 #define PR_BITS_PER_DOUBLE_LOG2 6\r
209 #define PR_BITS_PER_WORD_LOG2   6\r
211 #define PR_ALIGN_OF_SHORT   2\r
212 #define PR_ALIGN_OF_INT     4\r
213 #define PR_ALIGN_OF_LONG    8\r
214 #define PR_ALIGN_OF_INT64   8\r
215 #define PR_ALIGN_OF_FLOAT   4\r
216 #define PR_ALIGN_OF_DOUBLE  8\r
217 #define PR_ALIGN_OF_POINTER 8\r
218 #define PR_ALIGN_OF_WORD    8\r
220 #define PR_BYTES_PER_WORD_LOG2  3\r
221 #define PR_BYTES_PER_DWORD_LOG2 3\r
223 #elif defined(__x86_64__)\r
225 #ifdef __ILP32__\r
227 #define IS_LITTLE_ENDIAN 1\r
228 #undef  IS_BIG_ENDIAN\r
230 #define PR_BYTES_PER_BYTE   1\r
231 #define PR_BYTES_PER_SHORT  2\r
232 #define PR_BYTES_PER_INT    4\r
233 #define PR_BYTES_PER_INT64  8\r
234 #define PR_BYTES_PER_LONG   4\r
235 #define PR_BYTES_PER_FLOAT  4\r
236 #define PR_BYTES_PER_DOUBLE 8\r
237 #define PR_BYTES_PER_WORD   4\r
238 #define PR_BYTES_PER_DWORD  8\r
240 #define PR_BITS_PER_BYTE    8\r
241 #define PR_BITS_PER_SHORT   16\r
242 #define PR_BITS_PER_INT     32\r
243 #define PR_BITS_PER_INT64   64\r
244 #define PR_BITS_PER_LONG    32\r
245 #define PR_BITS_PER_FLOAT   32\r
246 #define PR_BITS_PER_DOUBLE  64\r
247 #define PR_BITS_PER_WORD    32\r
249 #define PR_BITS_PER_BYTE_LOG2   3\r
250 #define PR_BITS_PER_SHORT_LOG2  4\r
251 #define PR_BITS_PER_INT_LOG2    5\r
252 #define PR_BITS_PER_INT64_LOG2  6\r
253 #define PR_BITS_PER_LONG_LOG2   5\r
254 #define PR_BITS_PER_FLOAT_LOG2  5\r
255 #define PR_BITS_PER_DOUBLE_LOG2 6\r
256 #define PR_BITS_PER_WORD_LOG2   5\r
258 #define PR_ALIGN_OF_SHORT   2\r
259 #define PR_ALIGN_OF_INT     4\r
260 #define PR_ALIGN_OF_LONG    4\r
261 #define PR_ALIGN_OF_INT64   8\r
262 #define PR_ALIGN_OF_FLOAT   4\r
263 #define PR_ALIGN_OF_DOUBLE  8\r
264 #define PR_ALIGN_OF_POINTER 4\r
265 #define PR_ALIGN_OF_WORD    4\r
267 #define PR_BYTES_PER_WORD_LOG2   2\r
268 #define PR_BYTES_PER_DWORD_LOG2  3\r
270 #else\r
272 #define IS_LITTLE_ENDIAN 1\r
273 #undef  IS_BIG_ENDIAN\r
274 #define IS_64\r
276 #define PR_BYTES_PER_BYTE   1\r
277 #define PR_BYTES_PER_SHORT  2\r
278 #define PR_BYTES_PER_INT    4\r
279 #define PR_BYTES_PER_INT64  8\r
280 #define PR_BYTES_PER_LONG   8\r
281 #define PR_BYTES_PER_FLOAT  4\r
282 #define PR_BYTES_PER_DOUBLE 8\r
283 #define PR_BYTES_PER_WORD   8\r
284 #define PR_BYTES_PER_DWORD  8\r
286 #define PR_BITS_PER_BYTE    8\r
287 #define PR_BITS_PER_SHORT   16\r
288 #define PR_BITS_PER_INT     32\r
289 #define PR_BITS_PER_INT64   64\r
290 #define PR_BITS_PER_LONG    64\r
291 #define PR_BITS_PER_FLOAT   32\r
292 #define PR_BITS_PER_DOUBLE  64\r
293 #define PR_BITS_PER_WORD    64\r
295 #define PR_BITS_PER_BYTE_LOG2   3\r
296 #define PR_BITS_PER_SHORT_LOG2  4\r
297 #define PR_BITS_PER_INT_LOG2    5\r
298 #define PR_BITS_PER_INT64_LOG2  6\r
299 #define PR_BITS_PER_LONG_LOG2   6\r
300 #define PR_BITS_PER_FLOAT_LOG2  5\r
301 #define PR_BITS_PER_DOUBLE_LOG2 6\r
302 #define PR_BITS_PER_WORD_LOG2   6\r
304 #define PR_ALIGN_OF_SHORT   2\r
305 #define PR_ALIGN_OF_INT     4\r
306 #define PR_ALIGN_OF_LONG    8\r
307 #define PR_ALIGN_OF_INT64   8\r
308 #define PR_ALIGN_OF_FLOAT   4\r
309 #define PR_ALIGN_OF_DOUBLE  8\r
310 #define PR_ALIGN_OF_POINTER 8\r
311 #define PR_ALIGN_OF_WORD    8\r
313 #define PR_BYTES_PER_WORD_LOG2  3\r
314 #define PR_BYTES_PER_DWORD_LOG2 3\r
316 #endif\r
318 #elif defined(__mc68000__)\r
320 #undef  IS_LITTLE_ENDIAN\r
321 #define IS_BIG_ENDIAN 1\r
323 #define PR_BYTES_PER_BYTE   1\r
324 #define PR_BYTES_PER_SHORT  2\r
325 #define PR_BYTES_PER_INT    4\r
326 #define PR_BYTES_PER_INT64  8\r
327 #define PR_BYTES_PER_LONG   4\r
328 #define PR_BYTES_PER_FLOAT  4\r
329 #define PR_BYTES_PER_DOUBLE 8\r
330 #define PR_BYTES_PER_WORD   4\r
331 #define PR_BYTES_PER_DWORD  8\r
333 #define PR_BITS_PER_BYTE    8\r
334 #define PR_BITS_PER_SHORT   16\r
335 #define PR_BITS_PER_INT     32\r
336 #define PR_BITS_PER_INT64   64\r
337 #define PR_BITS_PER_LONG    32\r
338 #define PR_BITS_PER_FLOAT   32\r
339 #define PR_BITS_PER_DOUBLE  64\r
340 #define PR_BITS_PER_WORD    32\r
342 #define PR_BITS_PER_BYTE_LOG2   3\r
343 #define PR_BITS_PER_SHORT_LOG2  4\r
344 #define PR_BITS_PER_INT_LOG2    5\r
345 #define PR_BITS_PER_INT64_LOG2  6\r
346 #define PR_BITS_PER_LONG_LOG2   5\r
347 #define PR_BITS_PER_FLOAT_LOG2  5\r
348 #define PR_BITS_PER_DOUBLE_LOG2 6\r
349 #define PR_BITS_PER_WORD_LOG2   5\r
351 #define PR_ALIGN_OF_SHORT   2\r
352 #define PR_ALIGN_OF_INT     2\r
353 #define PR_ALIGN_OF_LONG    2\r
354 #define PR_ALIGN_OF_INT64   2\r
355 #define PR_ALIGN_OF_FLOAT   2\r
356 #define PR_ALIGN_OF_DOUBLE  2\r
357 #define PR_ALIGN_OF_POINTER 2\r
358 #define PR_ALIGN_OF_WORD    2\r
360 #define PR_BYTES_PER_WORD_LOG2   2\r
361 #define PR_BYTES_PER_DWORD_LOG2  3\r
363 #elif defined(__sparc__) && defined (__arch64__)\r
365 #undef  IS_LITTLE_ENDIAN\r
366 #define IS_BIG_ENDIAN 1\r
367 #define IS_64\r
369 #define PR_BYTES_PER_BYTE   1\r
370 #define PR_BYTES_PER_SHORT  2\r
371 #define PR_BYTES_PER_INT    4\r
372 #define PR_BYTES_PER_INT64  8\r
373 #define PR_BYTES_PER_LONG   8\r
374 #define PR_BYTES_PER_FLOAT  4\r
375 #define PR_BYTES_PER_DOUBLE 8\r
376 #define PR_BYTES_PER_WORD   8\r
377 #define PR_BYTES_PER_DWORD  8\r
379 #define PR_BITS_PER_BYTE    8\r
380 #define PR_BITS_PER_SHORT   16\r
381 #define PR_BITS_PER_INT     32\r
382 #define PR_BITS_PER_INT64   64\r
383 #define PR_BITS_PER_LONG    64\r
384 #define PR_BITS_PER_FLOAT   32\r
385 #define PR_BITS_PER_DOUBLE  64\r
386 #define PR_BITS_PER_WORD    64\r
388 #define PR_BITS_PER_BYTE_LOG2   3\r
389 #define PR_BITS_PER_SHORT_LOG2  4\r
390 #define PR_BITS_PER_INT_LOG2    5\r
391 #define PR_BITS_PER_INT64_LOG2  6\r
392 #define PR_BITS_PER_LONG_LOG2   6\r
393 #define PR_BITS_PER_FLOAT_LOG2  5\r
394 #define PR_BITS_PER_DOUBLE_LOG2 6\r
395 #define PR_BITS_PER_WORD_LOG2   6\r
397 #define PR_ALIGN_OF_SHORT   2\r
398 #define PR_ALIGN_OF_INT     4\r
399 #define PR_ALIGN_OF_INT64   8\r
400 #define PR_ALIGN_OF_LONG    8\r
401 #define PR_ALIGN_OF_FLOAT   4\r
402 #define PR_ALIGN_OF_DOUBLE  8\r
403 #define PR_ALIGN_OF_POINTER 8\r
404 #define PR_ALIGN_OF_WORD    8\r
406 #define PR_BYTES_PER_WORD_LOG2   3\r
407 #define PR_BYTES_PER_DWORD_LOG2  3\r
409 #elif defined(__sparc__)\r
411 #undef  IS_LITTLE_ENDIAN\r
412 #define IS_BIG_ENDIAN 1\r
414 #define PR_BYTES_PER_BYTE   1\r
415 #define PR_BYTES_PER_SHORT  2\r
416 #define PR_BYTES_PER_INT    4\r
417 #define PR_BYTES_PER_INT64  8\r
418 #define PR_BYTES_PER_LONG   4\r
419 #define PR_BYTES_PER_FLOAT  4\r
420 #define PR_BYTES_PER_DOUBLE 8\r
421 #define PR_BYTES_PER_WORD   4\r
422 #define PR_BYTES_PER_DWORD  8\r
424 #define PR_BITS_PER_BYTE    8\r
425 #define PR_BITS_PER_SHORT   16\r
426 #define PR_BITS_PER_INT     32\r
427 #define PR_BITS_PER_INT64   64\r
428 #define PR_BITS_PER_LONG    32\r
429 #define PR_BITS_PER_FLOAT   32\r
430 #define PR_BITS_PER_DOUBLE  64\r
431 #define PR_BITS_PER_WORD    32\r
433 #define PR_BITS_PER_BYTE_LOG2   3\r
434 #define PR_BITS_PER_SHORT_LOG2  4\r
435 #define PR_BITS_PER_INT_LOG2    5\r
436 #define PR_BITS_PER_INT64_LOG2  6\r
437 #define PR_BITS_PER_LONG_LOG2   5\r
438 #define PR_BITS_PER_FLOAT_LOG2  5\r
439 #define PR_BITS_PER_DOUBLE_LOG2 6\r
440 #define PR_BITS_PER_WORD_LOG2   5\r
442 #define PR_ALIGN_OF_SHORT   2\r
443 #define PR_ALIGN_OF_INT     4\r
444 #define PR_ALIGN_OF_LONG    4\r
445 #define PR_ALIGN_OF_INT64   8\r
446 #define PR_ALIGN_OF_FLOAT   4\r
447 #define PR_ALIGN_OF_DOUBLE  8\r
448 #define PR_ALIGN_OF_POINTER 4\r
449 #define PR_ALIGN_OF_WORD    4\r
451 #define PR_BYTES_PER_WORD_LOG2   2\r
452 #define PR_BYTES_PER_DWORD_LOG2  3\r
454 #elif defined(__i386__)\r
456 #define IS_LITTLE_ENDIAN 1\r
457 #undef  IS_BIG_ENDIAN\r
459 #define PR_BYTES_PER_BYTE   1\r
460 #define PR_BYTES_PER_SHORT  2\r
461 #define PR_BYTES_PER_INT    4\r
462 #define PR_BYTES_PER_INT64  8\r
463 #define PR_BYTES_PER_LONG   4\r
464 #define PR_BYTES_PER_FLOAT  4\r
465 #define PR_BYTES_PER_DOUBLE 8\r
466 #define PR_BYTES_PER_WORD   4\r
467 #define PR_BYTES_PER_DWORD  8\r
469 #define PR_BITS_PER_BYTE    8\r
470 #define PR_BITS_PER_SHORT   16\r
471 #define PR_BITS_PER_INT     32\r
472 #define PR_BITS_PER_INT64   64\r
473 #define PR_BITS_PER_LONG    32\r
474 #define PR_BITS_PER_FLOAT   32\r
475 #define PR_BITS_PER_DOUBLE  64\r
476 #define PR_BITS_PER_WORD    32\r
478 #define PR_BITS_PER_BYTE_LOG2   3\r
479 #define PR_BITS_PER_SHORT_LOG2  4\r
480 #define PR_BITS_PER_INT_LOG2    5\r
481 #define PR_BITS_PER_INT64_LOG2  6\r
482 #define PR_BITS_PER_LONG_LOG2   5\r
483 #define PR_BITS_PER_FLOAT_LOG2  5\r
484 #define PR_BITS_PER_DOUBLE_LOG2 6\r
485 #define PR_BITS_PER_WORD_LOG2   5\r
487 #define PR_ALIGN_OF_SHORT   2\r
488 #define PR_ALIGN_OF_INT     4\r
489 #define PR_ALIGN_OF_LONG    4\r
490 #define PR_ALIGN_OF_INT64   4\r
491 #define PR_ALIGN_OF_FLOAT   4\r
492 #define PR_ALIGN_OF_DOUBLE  4\r
493 #define PR_ALIGN_OF_POINTER 4\r
494 #define PR_ALIGN_OF_WORD    4\r
496 #define PR_BYTES_PER_WORD_LOG2   2\r
497 #define PR_BYTES_PER_DWORD_LOG2  3\r
499 #elif defined(__mips__)\r
501 /* For _ABI64 */\r
502 #include <sgidefs.h>\r
504 #ifdef __MIPSEB__\r
505 #define IS_BIG_ENDIAN 1\r
506 #undef  IS_LITTLE_ENDIAN\r
507 #elif defined(__MIPSEL__)\r
508 #define IS_LITTLE_ENDIAN 1\r
509 #undef  IS_BIG_ENDIAN\r
510 #else\r
511 #error "Unknown MIPS endianness."\r
512 #endif\r
514 #if _MIPS_SIM == _ABI64\r
516 #define IS_64\r
518 #define PR_BYTES_PER_BYTE   1\r
519 #define PR_BYTES_PER_SHORT  2\r
520 #define PR_BYTES_PER_INT    4\r
521 #define PR_BYTES_PER_INT64  8\r
522 #define PR_BYTES_PER_LONG   8\r
523 #define PR_BYTES_PER_FLOAT  4\r
524 #define PR_BYTES_PER_DOUBLE 8\r
525 #define PR_BYTES_PER_WORD   8\r
526 #define PR_BYTES_PER_DWORD  8\r
528 #define PR_BITS_PER_BYTE    8\r
529 #define PR_BITS_PER_SHORT   16\r
530 #define PR_BITS_PER_INT     32\r
531 #define PR_BITS_PER_INT64   64\r
532 #define PR_BITS_PER_LONG    64\r
533 #define PR_BITS_PER_FLOAT   32\r
534 #define PR_BITS_PER_DOUBLE  64\r
535 #define PR_BITS_PER_WORD    64\r
537 #define PR_BITS_PER_BYTE_LOG2   3\r
538 #define PR_BITS_PER_SHORT_LOG2  4\r
539 #define PR_BITS_PER_INT_LOG2    5\r
540 #define PR_BITS_PER_INT64_LOG2  6\r
541 #define PR_BITS_PER_LONG_LOG2   6\r
542 #define PR_BITS_PER_FLOAT_LOG2  5\r
543 #define PR_BITS_PER_DOUBLE_LOG2 6\r
544 #define PR_BITS_PER_WORD_LOG2   6\r
546 #define PR_ALIGN_OF_SHORT   2\r
547 #define PR_ALIGN_OF_INT     4\r
548 #define PR_ALIGN_OF_LONG    8\r
549 #define PR_ALIGN_OF_INT64   8\r
550 #define PR_ALIGN_OF_FLOAT   4\r
551 #define PR_ALIGN_OF_DOUBLE  8\r
552 #define PR_ALIGN_OF_POINTER 8\r
553 #define PR_ALIGN_OF_WORD    8\r
555 #define PR_BYTES_PER_WORD_LOG2   3\r
556 #define PR_BYTES_PER_DWORD_LOG2  3\r
558 #else /* _ABI64 */\r
560 #define PR_BYTES_PER_BYTE   1\r
561 #define PR_BYTES_PER_SHORT  2\r
562 #define PR_BYTES_PER_INT    4\r
563 #define PR_BYTES_PER_INT64  8\r
564 #define PR_BYTES_PER_LONG   4\r
565 #define PR_BYTES_PER_FLOAT  4\r
566 #define PR_BYTES_PER_DOUBLE 8\r
567 #define PR_BYTES_PER_WORD   4\r
568 #define PR_BYTES_PER_DWORD  8\r
570 #define PR_BITS_PER_BYTE    8\r
571 #define PR_BITS_PER_SHORT   16\r
572 #define PR_BITS_PER_INT     32\r
573 #define PR_BITS_PER_INT64   64\r
574 #define PR_BITS_PER_LONG    32\r
575 #define PR_BITS_PER_FLOAT   32\r
576 #define PR_BITS_PER_DOUBLE  64\r
577 #define PR_BITS_PER_WORD    32\r
579 #define PR_BITS_PER_BYTE_LOG2   3\r
580 #define PR_BITS_PER_SHORT_LOG2  4\r
581 #define PR_BITS_PER_INT_LOG2    5\r
582 #define PR_BITS_PER_INT64_LOG2  6\r
583 #define PR_BITS_PER_LONG_LOG2   5\r
584 #define PR_BITS_PER_FLOAT_LOG2  5\r
585 #define PR_BITS_PER_DOUBLE_LOG2 6\r
586 #define PR_BITS_PER_WORD_LOG2   5\r
588 #define PR_ALIGN_OF_SHORT   2\r
589 #define PR_ALIGN_OF_INT     4\r
590 #define PR_ALIGN_OF_LONG    4\r
591 #define PR_ALIGN_OF_INT64   8\r
592 #define PR_ALIGN_OF_FLOAT   4\r
593 #define PR_ALIGN_OF_DOUBLE  8\r
594 #define PR_ALIGN_OF_POINTER 4\r
595 #define PR_ALIGN_OF_WORD    4\r
597 #define PR_BYTES_PER_WORD_LOG2   2\r
598 #define PR_BYTES_PER_DWORD_LOG2  3\r
600 #endif /* _ABI64 */\r
602 #elif defined(__arm__)\r
604 #ifdef __ARMEB__\r
605 #undef  IS_LITTLE_ENDIAN\r
606 #define IS_BIG_ENDIAN 1\r
607 #elif defined(__ARMEL__)\r
608 #define IS_LITTLE_ENDIAN 1\r
609 #undef  IS_BIG_ENDIAN\r
610 #else\r
611 #error "Unknown ARM endianness."\r
612 #endif\r
614 #define PR_BYTES_PER_BYTE   1\r
615 #define PR_BYTES_PER_SHORT  2\r
616 #define PR_BYTES_PER_INT    4\r
617 #define PR_BYTES_PER_INT64  8\r
618 #define PR_BYTES_PER_LONG   4\r
619 #define PR_BYTES_PER_FLOAT  4\r
620 #define PR_BYTES_PER_DOUBLE 8\r
621 #define PR_BYTES_PER_WORD   4\r
622 #define PR_BYTES_PER_DWORD  8\r
624 #define PR_BITS_PER_BYTE    8\r
625 #define PR_BITS_PER_SHORT   16\r
626 #define PR_BITS_PER_INT     32\r
627 #define PR_BITS_PER_INT64   64\r
628 #define PR_BITS_PER_LONG    32\r
629 #define PR_BITS_PER_FLOAT   32\r
630 #define PR_BITS_PER_DOUBLE  64\r
631 #define PR_BITS_PER_WORD    32\r
633 #define PR_BITS_PER_BYTE_LOG2   3\r
634 #define PR_BITS_PER_SHORT_LOG2  4\r
635 #define PR_BITS_PER_INT_LOG2    5\r
636 #define PR_BITS_PER_INT64_LOG2  6\r
637 #define PR_BITS_PER_LONG_LOG2   5\r
638 #define PR_BITS_PER_FLOAT_LOG2  5\r
639 #define PR_BITS_PER_DOUBLE_LOG2 6\r
640 #define PR_BITS_PER_WORD_LOG2   5\r
642 #define PR_ALIGN_OF_SHORT   2\r
643 #define PR_ALIGN_OF_INT     4\r
644 #define PR_ALIGN_OF_LONG    4\r
645 #define PR_ALIGN_OF_INT64   4\r
646 #define PR_ALIGN_OF_FLOAT   4\r
647 #define PR_ALIGN_OF_DOUBLE  4\r
648 #define PR_ALIGN_OF_POINTER 4\r
649 #define PR_ALIGN_OF_WORD    4\r
651 #define PR_BYTES_PER_WORD_LOG2   2\r
652 #define PR_BYTES_PER_DWORD_LOG2  3\r
654 #elif defined(__aarch64__)\r
656 #ifdef __AARCH64EB__\r
657 #undef  IS_LITTLE_ENDIAN\r
658 #define IS_BIG_ENDIAN 1\r
659 #elif defined(__AARCH64EL__)\r
660 #define IS_LITTLE_ENDIAN 1\r
661 #undef  IS_BIG_ENDIAN\r
662 #else\r
663 #error "Unknown Aarch64 endianness."\r
664 #endif\r
665 #define IS_64\r
667 #define PR_BYTES_PER_BYTE   1\r
668 #define PR_BYTES_PER_SHORT  2\r
669 #define PR_BYTES_PER_INT    4\r
670 #define PR_BYTES_PER_INT64  8\r
671 #define PR_BYTES_PER_LONG   8\r
672 #define PR_BYTES_PER_FLOAT  4\r
673 #define PR_BYTES_PER_DOUBLE 8\r
674 #define PR_BYTES_PER_WORD   8\r
675 #define PR_BYTES_PER_DWORD  8\r
677 #define PR_BITS_PER_BYTE    8\r
678 #define PR_BITS_PER_SHORT   16\r
679 #define PR_BITS_PER_INT     32\r
680 #define PR_BITS_PER_INT64   64\r
681 #define PR_BITS_PER_LONG    64\r
682 #define PR_BITS_PER_FLOAT   32\r
683 #define PR_BITS_PER_DOUBLE  64\r
684 #define PR_BITS_PER_WORD    64\r
686 #define PR_BITS_PER_BYTE_LOG2   3\r
687 #define PR_BITS_PER_SHORT_LOG2  4\r
688 #define PR_BITS_PER_INT_LOG2    5\r
689 #define PR_BITS_PER_INT64_LOG2  6\r
690 #define PR_BITS_PER_LONG_LOG2   6\r
691 #define PR_BITS_PER_FLOAT_LOG2  5\r
692 #define PR_BITS_PER_DOUBLE_LOG2 6\r
693 #define PR_BITS_PER_WORD_LOG2   6\r
695 #define PR_ALIGN_OF_SHORT   2\r
696 #define PR_ALIGN_OF_INT     4\r
697 #define PR_ALIGN_OF_LONG    8\r
698 #define PR_ALIGN_OF_INT64   8\r
699 #define PR_ALIGN_OF_FLOAT   4\r
700 #define PR_ALIGN_OF_DOUBLE  8\r
701 #define PR_ALIGN_OF_POINTER 8\r
702 #define PR_ALIGN_OF_WORD    8\r
704 #define PR_BYTES_PER_WORD_LOG2  3\r
705 #define PR_BYTES_PER_DWORD_LOG2 3\r
707 #elif defined(__hppa__)\r
709 #undef  IS_LITTLE_ENDIAN\r
710 #define IS_BIG_ENDIAN    1\r
712 #define PR_BYTES_PER_BYTE   1\r
713 #define PR_BYTES_PER_SHORT  2\r
714 #define PR_BYTES_PER_INT    4\r
715 #define PR_BYTES_PER_INT64  8\r
716 #define PR_BYTES_PER_LONG   4\r
717 #define PR_BYTES_PER_FLOAT  4\r
718 #define PR_BYTES_PER_DOUBLE 8\r
719 #define PR_BYTES_PER_WORD   4\r
720 #define PR_BYTES_PER_DWORD  8\r
722 #define PR_BITS_PER_BYTE    8\r
723 #define PR_BITS_PER_SHORT   16\r
724 #define PR_BITS_PER_INT     32\r
725 #define PR_BITS_PER_INT64   64\r
726 #define PR_BITS_PER_LONG    32\r
727 #define PR_BITS_PER_FLOAT   32\r
728 #define PR_BITS_PER_DOUBLE  64\r
729 #define PR_BITS_PER_WORD    32\r
731 #define PR_BITS_PER_BYTE_LOG2   3\r
732 #define PR_BITS_PER_SHORT_LOG2  4\r
733 #define PR_BITS_PER_INT_LOG2    5\r
734 #define PR_BITS_PER_INT64_LOG2  6\r
735 #define PR_BITS_PER_LONG_LOG2   5\r
736 #define PR_BITS_PER_FLOAT_LOG2  5\r
737 #define PR_BITS_PER_DOUBLE_LOG2 6\r
738 #define PR_BITS_PER_WORD_LOG2   5\r
740 #define PR_ALIGN_OF_SHORT   2\r
741 #define PR_ALIGN_OF_INT     4\r
742 #define PR_ALIGN_OF_LONG    4\r
743 #define PR_ALIGN_OF_INT64   8\r
744 #define PR_ALIGN_OF_FLOAT   4\r
745 #define PR_ALIGN_OF_DOUBLE  8\r
746 #define PR_ALIGN_OF_POINTER 4\r
747 #define PR_ALIGN_OF_WORD    4\r
749 #define PR_BYTES_PER_WORD_LOG2   2\r
750 #define PR_BYTES_PER_DWORD_LOG2  3\r
752 #elif defined(__s390x__)\r
754 #define IS_BIG_ENDIAN 1\r
755 #undef  IS_LITTLE_ENDIAN\r
756 #define IS_64\r
758 #define PR_BYTES_PER_BYTE   1\r
759 #define PR_BYTES_PER_SHORT  2\r
760 #define PR_BYTES_PER_INT    4\r
761 #define PR_BYTES_PER_INT64  8\r
762 #define PR_BYTES_PER_LONG   8\r
763 #define PR_BYTES_PER_FLOAT  4\r
764 #define PR_BYTES_PER_DOUBLE 8\r
765 #define PR_BYTES_PER_WORD   8\r
766 #define PR_BYTES_PER_DWORD  8\r
768 #define PR_BITS_PER_BYTE    8\r
769 #define PR_BITS_PER_SHORT   16\r
770 #define PR_BITS_PER_INT     32\r
771 #define PR_BITS_PER_INT64   64\r
772 #define PR_BITS_PER_LONG    64\r
773 #define PR_BITS_PER_FLOAT   32\r
774 #define PR_BITS_PER_DOUBLE  64\r
775 #define PR_BITS_PER_WORD    64\r
777 #define PR_BITS_PER_BYTE_LOG2   3\r
778 #define PR_BITS_PER_SHORT_LOG2  4\r
779 #define PR_BITS_PER_INT_LOG2    5\r
780 #define PR_BITS_PER_INT64_LOG2  6\r
781 #define PR_BITS_PER_LONG_LOG2   6\r
782 #define PR_BITS_PER_FLOAT_LOG2  5\r
783 #define PR_BITS_PER_DOUBLE_LOG2 6\r
784 #define PR_BITS_PER_WORD_LOG2   6\r
786 #define PR_ALIGN_OF_SHORT   2\r
787 #define PR_ALIGN_OF_INT     4\r
788 #define PR_ALIGN_OF_LONG    8\r
789 #define PR_ALIGN_OF_INT64   8\r
790 #define PR_ALIGN_OF_FLOAT   4\r
791 #define PR_ALIGN_OF_DOUBLE  8\r
792 #define PR_ALIGN_OF_POINTER 8\r
793 #define PR_ALIGN_OF_WORD    8\r
795 #define PR_BYTES_PER_WORD_LOG2   3\r
796 #define PR_BYTES_PER_DWORD_LOG2  3\r
798 #elif defined(__s390__)\r
800 #define IS_BIG_ENDIAN 1\r
801 #undef  IS_LITTLE_ENDIAN\r
803 #define PR_BYTES_PER_BYTE   1\r
804 #define PR_BYTES_PER_SHORT  2\r
805 #define PR_BYTES_PER_INT    4\r
806 #define PR_BYTES_PER_INT64  8\r
807 #define PR_BYTES_PER_LONG   4\r
808 #define PR_BYTES_PER_FLOAT  4\r
809 #define PR_BYTES_PER_DOUBLE 8\r
810 #define PR_BYTES_PER_WORD   4\r
811 #define PR_BYTES_PER_DWORD  8\r
813 #define PR_BITS_PER_BYTE    8\r
814 #define PR_BITS_PER_SHORT   16\r
815 #define PR_BITS_PER_INT     32\r
816 #define PR_BITS_PER_INT64   64\r
817 #define PR_BITS_PER_LONG    32\r
818 #define PR_BITS_PER_FLOAT   32\r
819 #define PR_BITS_PER_DOUBLE  64\r
820 #define PR_BITS_PER_WORD    32\r
822 #define PR_BITS_PER_BYTE_LOG2   3\r
823 #define PR_BITS_PER_SHORT_LOG2  4\r
824 #define PR_BITS_PER_INT_LOG2    5\r
825 #define PR_BITS_PER_INT64_LOG2  6\r
826 #define PR_BITS_PER_LONG_LOG2   5\r
827 #define PR_BITS_PER_FLOAT_LOG2  5\r
828 #define PR_BITS_PER_DOUBLE_LOG2 6\r
829 #define PR_BITS_PER_WORD_LOG2   5\r
831 #define PR_ALIGN_OF_SHORT   2\r
832 #define PR_ALIGN_OF_INT     4\r
833 #define PR_ALIGN_OF_LONG    4\r
834 #define PR_ALIGN_OF_INT64   4\r
835 #define PR_ALIGN_OF_FLOAT   4\r
836 #define PR_ALIGN_OF_DOUBLE  4\r
837 #define PR_ALIGN_OF_POINTER 4\r
838 #define PR_ALIGN_OF_WORD    4\r
840 #define PR_BYTES_PER_WORD_LOG2   2\r
841 #define PR_BYTES_PER_DWORD_LOG2  3\r
843 #elif defined(__sh__)\r
845 #define IS_LITTLE_ENDIAN 1\r
846 #undef  IS_BIG_ENDIAN\r
848 #define PR_BYTES_PER_BYTE   1\r
849 #define PR_BYTES_PER_SHORT  2\r
850 #define PR_BYTES_PER_INT    4\r
851 #define PR_BYTES_PER_INT64  8\r
852 #define PR_BYTES_PER_LONG   4\r
853 #define PR_BYTES_PER_FLOAT  4\r
854 #define PR_BYTES_PER_DOUBLE 8\r
855 #define PR_BYTES_PER_WORD   4\r
856 #define PR_BYTES_PER_DWORD  8\r
858 #define PR_BITS_PER_BYTE    8\r
859 #define PR_BITS_PER_SHORT   16\r
860 #define PR_BITS_PER_INT     32\r
861 #define PR_BITS_PER_INT64   64\r
862 #define PR_BITS_PER_LONG    32\r
863 #define PR_BITS_PER_FLOAT   32\r
864 #define PR_BITS_PER_DOUBLE  64\r
865 #define PR_BITS_PER_WORD    32\r
867 #define PR_BITS_PER_BYTE_LOG2   3\r
868 #define PR_BITS_PER_SHORT_LOG2  4\r
869 #define PR_BITS_PER_INT_LOG2    5\r
870 #define PR_BITS_PER_INT64_LOG2  6\r
871 #define PR_BITS_PER_LONG_LOG2   5\r
872 #define PR_BITS_PER_FLOAT_LOG2  5\r
873 #define PR_BITS_PER_DOUBLE_LOG2 6\r
874 #define PR_BITS_PER_WORD_LOG2   5\r
876 #define PR_ALIGN_OF_SHORT   2\r
877 #define PR_ALIGN_OF_INT     4\r
878 #define PR_ALIGN_OF_LONG    4\r
879 #define PR_ALIGN_OF_INT64   4\r
880 #define PR_ALIGN_OF_FLOAT   4\r
881 #define PR_ALIGN_OF_DOUBLE  4\r
882 #define PR_ALIGN_OF_POINTER 4\r
883 #define PR_ALIGN_OF_WORD    4\r
885 #define PR_BYTES_PER_WORD_LOG2   2\r
886 #define PR_BYTES_PER_DWORD_LOG2  3\r
888 #elif defined(__avr32__)\r
890 #undef  IS_LITTLE_ENDIAN\r
891 #define IS_BIG_ENDIAN 1\r
893 #define PR_BYTES_PER_BYTE   1\r
894 #define PR_BYTES_PER_SHORT  2\r
895 #define PR_BYTES_PER_INT    4\r
896 #define PR_BYTES_PER_INT64  8\r
897 #define PR_BYTES_PER_LONG   4\r
898 #define PR_BYTES_PER_FLOAT  4\r
899 #define PR_BYTES_PER_DOUBLE 8\r
900 #define PR_BYTES_PER_WORD   4\r
901 #define PR_BYTES_PER_DWORD  8\r
903 #define PR_BITS_PER_BYTE    8\r
904 #define PR_BITS_PER_SHORT   16\r
905 #define PR_BITS_PER_INT     32\r
906 #define PR_BITS_PER_INT64   64\r
907 #define PR_BITS_PER_LONG    32\r
908 #define PR_BITS_PER_FLOAT   32\r
909 #define PR_BITS_PER_DOUBLE  64\r
910 #define PR_BITS_PER_WORD    32\r
912 #define PR_BITS_PER_BYTE_LOG2   3\r
913 #define PR_BITS_PER_SHORT_LOG2  4\r
914 #define PR_BITS_PER_INT_LOG2    5\r
915 #define PR_BITS_PER_INT64_LOG2  6\r
916 #define PR_BITS_PER_LONG_LOG2   5\r
917 #define PR_BITS_PER_FLOAT_LOG2  5\r
918 #define PR_BITS_PER_DOUBLE_LOG2 6\r
919 #define PR_BITS_PER_WORD_LOG2   5\r
921 #define PR_ALIGN_OF_SHORT   2\r
922 #define PR_ALIGN_OF_INT     4\r
923 #define PR_ALIGN_OF_LONG    4\r
924 #define PR_ALIGN_OF_INT64   4\r
925 #define PR_ALIGN_OF_FLOAT   4\r
926 #define PR_ALIGN_OF_DOUBLE  4\r
927 #define PR_ALIGN_OF_POINTER 4\r
928 #define PR_ALIGN_OF_WORD    4\r
930 #define PR_BYTES_PER_WORD_LOG2   2\r
931 #define PR_BYTES_PER_DWORD_LOG2  3\r
933 #elif defined(__m32r__)\r
935 #undef  IS_LITTLE_ENDIAN\r
936 #define IS_BIG_ENDIAN 1\r
938 #define PR_BYTES_PER_BYTE   1\r
939 #define PR_BYTES_PER_SHORT  2\r
940 #define PR_BYTES_PER_INT    4\r
941 #define PR_BYTES_PER_INT64  8\r
942 #define PR_BYTES_PER_LONG   4\r
943 #define PR_BYTES_PER_FLOAT  4\r
944 #define PR_BYTES_PER_DOUBLE 8\r
945 #define PR_BYTES_PER_WORD   4\r
946 #define PR_BYTES_PER_DWORD  8\r
948 #define PR_BITS_PER_BYTE    8\r
949 #define PR_BITS_PER_SHORT   16\r
950 #define PR_BITS_PER_INT     32\r
951 #define PR_BITS_PER_INT64   64\r
952 #define PR_BITS_PER_LONG    32\r
953 #define PR_BITS_PER_FLOAT   32\r
954 #define PR_BITS_PER_DOUBLE  64\r
955 #define PR_BITS_PER_WORD    32\r
957 #define PR_BITS_PER_BYTE_LOG2   3\r
958 #define PR_BITS_PER_SHORT_LOG2  4\r
959 #define PR_BITS_PER_INT_LOG2    5\r
960 #define PR_BITS_PER_INT64_LOG2  6\r
961 #define PR_BITS_PER_LONG_LOG2   5\r
962 #define PR_BITS_PER_FLOAT_LOG2  5\r
963 #define PR_BITS_PER_DOUBLE_LOG2 6\r
964 #define PR_BITS_PER_WORD_LOG2   5\r
966 #define PR_ALIGN_OF_SHORT   2\r
967 #define PR_ALIGN_OF_INT     4\r
968 #define PR_ALIGN_OF_LONG    4\r
969 #define PR_ALIGN_OF_INT64   4\r
970 #define PR_ALIGN_OF_FLOAT   4\r
971 #define PR_ALIGN_OF_DOUBLE  4\r
972 #define PR_ALIGN_OF_POINTER 4\r
973 #define PR_ALIGN_OF_WORD    4\r
975 #define PR_BYTES_PER_WORD_LOG2   2\r
976 #define PR_BYTES_PER_DWORD_LOG2  3\r
978 #elif defined(__or1k__)\r
980 #undef  IS_LITTLE_ENDIAN\r
981 #define IS_BIG_ENDIAN 1\r
983 #define PR_BYTES_PER_BYTE   1\r
984 #define PR_BYTES_PER_SHORT  2\r
985 #define PR_BYTES_PER_INT    4\r
986 #define PR_BYTES_PER_INT64  8\r
987 #define PR_BYTES_PER_LONG   4\r
988 #define PR_BYTES_PER_FLOAT  4\r
989 #define PR_BYTES_PER_DOUBLE 8\r
990 #define PR_BYTES_PER_WORD   4\r
991 #define PR_BYTES_PER_DWORD  8\r
993 #define PR_BITS_PER_BYTE    8\r
994 #define PR_BITS_PER_SHORT   16\r
995 #define PR_BITS_PER_INT     32\r
996 #define PR_BITS_PER_INT64   64\r
997 #define PR_BITS_PER_LONG    32\r
998 #define PR_BITS_PER_FLOAT   32\r
999 #define PR_BITS_PER_DOUBLE  64\r
1000 #define PR_BITS_PER_WORD    32\r
1002 #define PR_BITS_PER_BYTE_LOG2   3\r
1003 #define PR_BITS_PER_SHORT_LOG2  4\r
1004 #define PR_BITS_PER_INT_LOG2    5\r
1005 #define PR_BITS_PER_INT64_LOG2  6\r
1006 #define PR_BITS_PER_LONG_LOG2   5\r
1007 #define PR_BITS_PER_FLOAT_LOG2  5\r
1008 #define PR_BITS_PER_DOUBLE_LOG2 6\r
1009 #define PR_BITS_PER_WORD_LOG2   5\r
1011 #define PR_ALIGN_OF_SHORT   2\r
1012 #define PR_ALIGN_OF_INT     4\r
1013 #define PR_ALIGN_OF_LONG    4\r
1014 #define PR_ALIGN_OF_INT64   4\r
1015 #define PR_ALIGN_OF_FLOAT   4\r
1016 #define PR_ALIGN_OF_DOUBLE  4\r
1017 #define PR_ALIGN_OF_POINTER 4\r
1018 #define PR_ALIGN_OF_WORD    4\r
1020 #define PR_BYTES_PER_WORD_LOG2   2\r
1021 #define PR_BYTES_PER_DWORD_LOG2  3\r
1023 #elif defined(__riscv) && (__riscv_xlen == 32)\r
1025 #undef  IS_BIG_ENDIAN\r
1026 #define IS_LITTLE_ENDIAN 1\r
1027 #undef  IS_64\r
1029 #define PR_BYTES_PER_BYTE   1\r
1030 #define PR_BYTES_PER_SHORT  2\r
1031 #define PR_BYTES_PER_INT    4\r
1032 #define PR_BYTES_PER_INT64  8\r
1033 #define PR_BYTES_PER_LONG   4\r
1034 #define PR_BYTES_PER_FLOAT  4\r
1035 #define PR_BYTES_PER_DOUBLE 8\r
1036 #define PR_BYTES_PER_WORD   4\r
1037 #define PR_BYTES_PER_DWORD  8\r
1039 #define PR_BITS_PER_BYTE    8\r
1040 #define PR_BITS_PER_SHORT   16\r
1041 #define PR_BITS_PER_INT     32\r
1042 #define PR_BITS_PER_INT64   64\r
1043 #define PR_BITS_PER_LONG    32\r
1044 #define PR_BITS_PER_FLOAT   32\r
1045 #define PR_BITS_PER_DOUBLE  64\r
1046 #define PR_BITS_PER_WORD    32\r
1048 #define PR_BITS_PER_BYTE_LOG2   3\r
1049 #define PR_BITS_PER_SHORT_LOG2  4\r
1050 #define PR_BITS_PER_INT_LOG2    5\r
1051 #define PR_BITS_PER_INT64_LOG2  6\r
1052 #define PR_BITS_PER_LONG_LOG2   5\r
1053 #define PR_BITS_PER_FLOAT_LOG2  5\r
1054 #define PR_BITS_PER_DOUBLE_LOG2 6\r
1055 #define PR_BITS_PER_WORD_LOG2   5\r
1057 #define PR_ALIGN_OF_SHORT   2\r
1058 #define PR_ALIGN_OF_INT     4\r
1059 #define PR_ALIGN_OF_LONG    4\r
1060 #define PR_ALIGN_OF_INT64   8\r
1061 #define PR_ALIGN_OF_FLOAT   4\r
1062 #define PR_ALIGN_OF_DOUBLE  8\r
1063 #define PR_ALIGN_OF_POINTER 4\r
1064 #define PR_ALIGN_OF_WORD    4\r
1066 #define PR_BYTES_PER_WORD_LOG2  2\r
1067 #define PR_BYTES_PER_DWORD_LOG2 3\r
1069 #elif defined(__riscv) && (__riscv_xlen == 64)\r
1071 #undef  IS_BIG_ENDIAN\r
1072 #define IS_LITTLE_ENDIAN 1\r
1073 #define IS_64\r
1075 #define PR_BYTES_PER_BYTE   1\r
1076 #define PR_BYTES_PER_SHORT  2\r
1077 #define PR_BYTES_PER_INT    4\r
1078 #define PR_BYTES_PER_INT64  8\r
1079 #define PR_BYTES_PER_LONG   8\r
1080 #define PR_BYTES_PER_FLOAT  4\r
1081 #define PR_BYTES_PER_DOUBLE 8\r
1082 #define PR_BYTES_PER_WORD   8\r
1083 #define PR_BYTES_PER_DWORD  8\r
1085 #define PR_BITS_PER_BYTE    8\r
1086 #define PR_BITS_PER_SHORT   16\r
1087 #define PR_BITS_PER_INT     32\r
1088 #define PR_BITS_PER_INT64   64\r
1089 #define PR_BITS_PER_LONG    64\r
1090 #define PR_BITS_PER_FLOAT   32\r
1091 #define PR_BITS_PER_DOUBLE  64\r
1092 #define PR_BITS_PER_WORD    64\r
1094 #define PR_BITS_PER_BYTE_LOG2   3\r
1095 #define PR_BITS_PER_SHORT_LOG2  4\r
1096 #define PR_BITS_PER_INT_LOG2    5\r
1097 #define PR_BITS_PER_INT64_LOG2  6\r
1098 #define PR_BITS_PER_LONG_LOG2   6\r
1099 #define PR_BITS_PER_FLOAT_LOG2  5\r
1100 #define PR_BITS_PER_DOUBLE_LOG2 6\r
1101 #define PR_BITS_PER_WORD_LOG2   6\r
1103 #define PR_ALIGN_OF_SHORT   2\r
1104 #define PR_ALIGN_OF_INT     4\r
1105 #define PR_ALIGN_OF_LONG    8\r
1106 #define PR_ALIGN_OF_INT64   8\r
1107 #define PR_ALIGN_OF_FLOAT   4\r
1108 #define PR_ALIGN_OF_DOUBLE  8\r
1109 #define PR_ALIGN_OF_POINTER 8\r
1110 #define PR_ALIGN_OF_WORD    8\r
1112 #define PR_BYTES_PER_WORD_LOG2  3\r
1113 #define PR_BYTES_PER_DWORD_LOG2 3\r
1115 #elif defined(__arc__)\r
1117 #define IS_LITTLE_ENDIAN 1\r
1118 #undef  IS_BIG_ENDIAN\r
1120 #define PR_BYTES_PER_BYTE   1\r
1121 #define PR_BYTES_PER_SHORT  2\r
1122 #define PR_BYTES_PER_INT    4\r
1123 #define PR_BYTES_PER_INT64  8\r
1124 #define PR_BYTES_PER_LONG   4\r
1125 #define PR_BYTES_PER_FLOAT  4\r
1126 #define PR_BYTES_PER_DOUBLE 8\r
1127 #define PR_BYTES_PER_WORD   4\r
1128 #define PR_BYTES_PER_DWORD  8\r
1130 #define PR_BITS_PER_BYTE    8\r
1131 #define PR_BITS_PER_SHORT   16\r
1132 #define PR_BITS_PER_INT     32\r
1133 #define PR_BITS_PER_INT64   64\r
1134 #define PR_BITS_PER_LONG    32\r
1135 #define PR_BITS_PER_FLOAT   32\r
1136 #define PR_BITS_PER_DOUBLE  64\r
1137 #define PR_BITS_PER_WORD    32\r
1139 #define PR_BITS_PER_BYTE_LOG2   3\r
1140 #define PR_BITS_PER_SHORT_LOG2  4\r
1141 #define PR_BITS_PER_INT_LOG2    5\r
1142 #define PR_BITS_PER_INT64_LOG2  6\r
1143 #define PR_BITS_PER_LONG_LOG2   5\r
1144 #define PR_BITS_PER_FLOAT_LOG2  5\r
1145 #define PR_BITS_PER_DOUBLE_LOG2 6\r
1146 #define PR_BITS_PER_WORD_LOG2   5\r
1148 #define PR_ALIGN_OF_SHORT   2\r
1149 #define PR_ALIGN_OF_INT     4\r
1150 #define PR_ALIGN_OF_LONG    4\r
1151 #define PR_ALIGN_OF_INT64   4\r
1152 #define PR_ALIGN_OF_FLOAT   4\r
1153 #define PR_ALIGN_OF_DOUBLE  4\r
1154 #define PR_ALIGN_OF_POINTER 4\r
1155 #define PR_ALIGN_OF_WORD    4\r
1157 #define PR_BYTES_PER_WORD_LOG2   2\r
1158 #define PR_BYTES_PER_DWORD_LOG2  3\r
1160 #elif defined(__nios2__) || defined(__microblaze__) || defined(__nds32__) || \\r
1161       defined(__xtensa__)\r
1163 #if defined(__microblaze__) && defined(__BIG_ENDIAN__)\r
1164 #define IS_BIG_ENDIAN 1\r
1165 #undef  IS_LITTLE_ENDIAN\r
1166 #else\r
1167 #define IS_LITTLE_ENDIAN 1\r
1168 #undef  IS_BIG_ENDIAN\r
1169 #endif\r
1171 #define PR_BYTES_PER_BYTE   1\r
1172 #define PR_BYTES_PER_SHORT  2\r
1173 #define PR_BYTES_PER_INT    4\r
1174 #define PR_BYTES_PER_INT64  8\r
1175 #define PR_BYTES_PER_LONG   4\r
1176 #define PR_BYTES_PER_FLOAT  4\r
1177 #define PR_BYTES_PER_DOUBLE 8\r
1178 #define PR_BYTES_PER_WORD   4\r
1179 #define PR_BYTES_PER_DWORD  8\r
1181 #define PR_BITS_PER_BYTE    8\r
1182 #define PR_BITS_PER_SHORT   16\r
1183 #define PR_BITS_PER_INT     32\r
1184 #define PR_BITS_PER_INT64   64\r
1185 #define PR_BITS_PER_LONG    32\r
1186 #define PR_BITS_PER_FLOAT   32\r
1187 #define PR_BITS_PER_DOUBLE  64\r
1188 #define PR_BITS_PER_WORD    32\r
1190 #define PR_BITS_PER_BYTE_LOG2   3\r
1191 #define PR_BITS_PER_SHORT_LOG2  4\r
1192 #define PR_BITS_PER_INT_LOG2    5\r
1193 #define PR_BITS_PER_INT64_LOG2  6\r
1194 #define PR_BITS_PER_LONG_LOG2   5\r
1195 #define PR_BITS_PER_FLOAT_LOG2  5\r
1196 #define PR_BITS_PER_DOUBLE_LOG2 6\r
1197 #define PR_BITS_PER_WORD_LOG2   5\r
1199 #define PR_ALIGN_OF_SHORT   2\r
1200 #define PR_ALIGN_OF_INT     4\r
1201 #define PR_ALIGN_OF_LONG    4\r
1202 #define PR_ALIGN_OF_INT64   4\r
1203 #define PR_ALIGN_OF_FLOAT   4\r
1204 #define PR_ALIGN_OF_DOUBLE  4\r
1205 #define PR_ALIGN_OF_POINTER 4\r
1206 #define PR_ALIGN_OF_WORD    4\r
1208 #define PR_BYTES_PER_WORD_LOG2   2\r
1209 #define PR_BYTES_PER_DWORD_LOG2  3\r
1211 #else\r
1213 #error "Unknown CPU architecture"\r
1215 #endif\r
1217 #ifndef HAVE_LONG_LONG\r
1218 #define HAVE_LONG_LONG\r
1219 #endif\r
1220 #if PR_ALIGN_OF_DOUBLE == 8\r
1221 #define HAVE_ALIGNED_DOUBLES\r
1222 #endif\r
1223 #if PR_ALIGN_OF_INT64 == 8\r
1224 #define HAVE_ALIGNED_LONGLONGS\r
1225 #endif\r
1227 #ifndef NO_NSPR_10_SUPPORT\r
1229 #define BYTES_PER_BYTE          PR_BYTES_PER_BYTE\r
1230 #define BYTES_PER_SHORT         PR_BYTES_PER_SHORT\r
1231 #define BYTES_PER_INT           PR_BYTES_PER_INT\r
1232 #define BYTES_PER_INT64         PR_BYTES_PER_INT64\r
1233 #define BYTES_PER_LONG          PR_BYTES_PER_LONG\r
1234 #define BYTES_PER_FLOAT         PR_BYTES_PER_FLOAT\r
1235 #define BYTES_PER_DOUBLE        PR_BYTES_PER_DOUBLE\r
1236 #define BYTES_PER_WORD          PR_BYTES_PER_WORD\r
1237 #define BYTES_PER_DWORD         PR_BYTES_PER_DWORD\r
1239 #define BITS_PER_BYTE           PR_BITS_PER_BYTE\r
1240 #define BITS_PER_SHORT          PR_BITS_PER_SHORT\r
1241 #define BITS_PER_INT            PR_BITS_PER_INT\r
1242 #define BITS_PER_INT64          PR_BITS_PER_INT64\r
1243 #define BITS_PER_LONG           PR_BITS_PER_LONG\r
1244 #define BITS_PER_FLOAT          PR_BITS_PER_FLOAT\r
1245 #define BITS_PER_DOUBLE         PR_BITS_PER_DOUBLE\r
1246 #define BITS_PER_WORD           PR_BITS_PER_WORD\r
1248 #define BITS_PER_BYTE_LOG2      PR_BITS_PER_BYTE_LOG2\r
1249 #define BITS_PER_SHORT_LOG2     PR_BITS_PER_SHORT_LOG2\r
1250 #define BITS_PER_INT_LOG2       PR_BITS_PER_INT_LOG2\r
1251 #define BITS_PER_INT64_LOG2     PR_BITS_PER_INT64_LOG2\r
1252 #define BITS_PER_LONG_LOG2      PR_BITS_PER_LONG_LOG2\r
1253 #define BITS_PER_FLOAT_LOG2     PR_BITS_PER_FLOAT_LOG2\r
1254 #define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2\r
1255 #define BITS_PER_WORD_LOG2      PR_BITS_PER_WORD_LOG2\r
1257 #define ALIGN_OF_SHORT          PR_ALIGN_OF_SHORT\r
1258 #define ALIGN_OF_INT            PR_ALIGN_OF_INT\r
1259 #define ALIGN_OF_LONG           PR_ALIGN_OF_LONG\r
1260 #define ALIGN_OF_INT64          PR_ALIGN_OF_INT64\r
1261 #define ALIGN_OF_FLOAT          PR_ALIGN_OF_FLOAT\r
1262 #define ALIGN_OF_DOUBLE         PR_ALIGN_OF_DOUBLE\r
1263 #define ALIGN_OF_POINTER        PR_ALIGN_OF_POINTER\r
1264 #define ALIGN_OF_WORD           PR_ALIGN_OF_WORD\r
1266 #define BYTES_PER_WORD_LOG2     PR_BYTES_PER_WORD_LOG2\r
1267 #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2\r
1268 #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2\r
1270 #endif /* NO_NSPR_10_SUPPORT */\r
1272 #endif /* nspr_cpucfg___ */\r