Revision 367e86e8 thunk.h
b/thunk.h | ||
---|---|---|
28 | 28 |
|
29 | 29 |
#define bswap_64(x) \ |
30 | 30 |
({ \ |
31 |
__u64 __x = (x); \
|
|
32 |
((__u64)( \
|
|
33 |
(__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | \
|
|
34 |
(__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | \
|
|
35 |
(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | \
|
|
36 |
(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) | \
|
|
37 |
(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) | \
|
|
38 |
(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | \
|
|
39 |
(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | \
|
|
40 |
(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); \
|
|
31 |
uint64_t __x = (x); \
|
|
32 |
((uint64_t)( \
|
|
33 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \
|
|
34 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
|
|
35 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
|
|
36 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
|
|
37 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
|
|
38 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
|
|
39 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
|
|
40 |
(uint64_t)(((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56) )); \
|
|
41 | 41 |
}) |
42 | 42 |
|
43 | 43 |
#endif |
... | ... | |
51 | 51 |
#define BSWAP_NEEDED |
52 | 52 |
#endif |
53 | 53 |
|
54 |
/* XXX: auto autoconf */
|
|
54 |
/* XXX: autoconf */ |
|
55 | 55 |
#define TARGET_I386 |
56 | 56 |
#define TARGET_LONG_BITS 32 |
57 | 57 |
|
Also available in: Unified diff