| 242 | #endif /* MEM_FORCE_MEMORY_ACCESS */ |
| 243 | |
| 244 | MEM_STATIC U32 MEM_swap32(U32 in) |
| 245 | { |
| 246 | #if defined(_MSC_VER) /* Visual Studio */ |
| 247 | return _byteswap_ulong(in); |
| 248 | #elif (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \ |
| 249 | || (defined(__clang__) && __has_builtin(__builtin_bswap32)) |
| 250 | return __builtin_bswap32(in); |
| 251 | #else |
| 252 | return ((in << 24) & 0xff000000 ) | |
| 253 | ((in << 8) & 0x00ff0000 ) | |
| 254 | ((in >> 8) & 0x0000ff00 ) | |
| 255 | ((in >> 24) & 0x000000ff ); |
| 256 | #endif |
| 257 | } |
| 258 | |
| 259 | MEM_STATIC U64 MEM_swap64(U64 in) |
| 260 | { |
no outgoing calls
no test coverage detected