]> git.sesse.net Git - fjl/commitdiff
Fix our bswap trick on i386.
authorSteinar H. Gunderson <sesse@debian.org>
Mon, 1 Jun 2009 10:26:28 +0000 (12:26 +0200)
committerSteinar H. Gunderson <sesse@debian.org>
Mon, 1 Jun 2009 10:26:28 +0000 (12:26 +0200)
bitsource.h

index f2f164db43821652acaf281c76f2b050f4041c7a..4126a618d34dedbfa90940696f0489602712cceb 100644 (file)
@@ -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