2 /* { dg-options "-Wall" } */
6 #define MAKE_FUN(suffix, type) \
7 type my_bswap##suffix(type x) { \
10 for (shift = 0; shift < 8 * sizeof (type); shift += 8) \
13 result |= (x >> shift) & 0xff; \
18 MAKE_FUN(32, uint32_t);
19 MAKE_FUN(64, uint64_t);
21 extern void abort (void);
32 0x0000000000000000ULL, \
33 0x1122334455667788ULL, \
34 0xffffffffffffffffULL, \
37 uint32_t uint32_ts[] =
40 uint64_t uint64_ts[] =
43 #define N(table) (sizeof (table) / sizeof (table[0]))
50 for (i = 0; i < N(uint32_ts); i++)
51 if (__builtin_bswap32 (uint32_ts[i]) != my_bswap32 (uint32_ts[i]))
54 for (i = 0; i < N(uint64_ts); i++)
55 if (__builtin_bswap64 (uint64_ts[i]) != my_bswap64 (uint64_ts[i]))