From: Steinar H. Gunderson Date: Mon, 1 Jun 2009 10:26:28 +0000 (+0200) Subject: Fix our bswap trick on i386. X-Git-Url: https://git.sesse.net/?p=fjl;a=commitdiff_plain;h=14b1acede3591e4d34042a0e867269eb17e90373 Fix our bswap trick on i386. --- diff --git a/bitsource.h b/bitsource.h index f2f164d..4126a61 100644 --- a/bitsource.h +++ b/bitsource.h @@ -18,10 +18,14 @@ typedef uint32_t bitreservoir_fill_t; // 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