// Note: We return bitreservoir_t here, so we can get implicit zero extension on amd64.
static inline bitreservoir_t read_bitreservoir_fill(uint8_t* source)
{
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
+#if defined(__GNUC__) && defined(__x86_64__)
bitreservoir_t ret;
asm("bswapl %1" : "=r" (ret) : "0" (*(bitreservoir_fill_t*)(source)));
return ret;
+#elif defined(__GNUC__) && defined(__i386__)
+ bitreservoir_fill_t ret;
+ asm("bswapl %1" : "=r" (ret) : "0" (*(bitreservoir_fill_t*)(source)));
+ return ret;
#else
return ntohl(*(bitreservoir_fill_t*)(source));
#endif