older gcc doesn't know about __builtin_bswap32