From 14b1acede3591e4d34042a0e867269eb17e90373 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Mon, 1 Jun 2009 12:26:28 +0200 Subject: [PATCH] Fix our bswap trick on i386. --- bitsource.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 2.39.2