From: Eric Biggers <ebiggers@xxxxxxxxxx> libblkid contains 32-bit x86 assembly language implementations of 16-bit and 32-bit byteswaps. However, modern compilers can easily generate the bswap instruction automatically from the corresponding C expression. And no one ever bothered to add assembly for x86_64 or other architectures, anyway. So let's just remove this outdated code, which was maybe useful in the 90s, but is no longer useful. Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> --- lib/blkid/probe.h | 43 ------------------------------------------- 1 file changed, 43 deletions(-) diff --git a/lib/blkid/probe.h b/lib/blkid/probe.h index dea4081d0..063a5b5c0 100644 --- a/lib/blkid/probe.h +++ b/lib/blkid/probe.h @@ -814,46 +814,6 @@ struct exfat_entry_label { #define _INLINE_ static inline #endif -static __u16 blkid_swab16(__u16 val); -static __u32 blkid_swab32(__u32 val); -static __u64 blkid_swab64(__u64 val); - -#if ((defined __GNUC__) && \ - (defined(__i386__) || defined(__i486__) || defined(__i586__))) - -#define _BLKID_HAVE_ASM_BITOPS_ - -_INLINE_ __u32 blkid_swab32(__u32 val) -{ -#ifdef EXT2FS_REQUIRE_486 - __asm__("bswap %0" : "=r" (val) : "0" (val)); -#else - __asm__("xchgb %b0,%h0\n\t" /* swap lower bytes */ - "rorl $16,%0\n\t" /* swap words */ - "xchgb %b0,%h0" /* swap higher bytes */ - :"=q" (val) - : "0" (val)); -#endif - return val; -} - -_INLINE_ __u16 blkid_swab16(__u16 val) -{ - __asm__("xchgb %b0,%h0" /* swap bytes */ \ - : "=q" (val) \ - : "0" (val)); \ - return val; -} - -_INLINE_ __u64 blkid_swab64(__u64 val) -{ - return (blkid_swab32(val >> 32) | - (((__u64) blkid_swab32(val & 0xFFFFFFFFUL)) << 32)); -} -#endif - -#if !defined(_BLKID_HAVE_ASM_BITOPS_) - _INLINE_ __u16 blkid_swab16(__u16 val) { return (val >> 8) | (val << 8); @@ -870,9 +830,6 @@ _INLINE_ __u64 blkid_swab64(__u64 val) return (blkid_swab32(val >> 32) | (((__u64) blkid_swab32(val & 0xFFFFFFFFUL)) << 32)); } -#endif - - #ifdef WORDS_BIGENDIAN #define blkid_le16(x) blkid_swab16(x) -- 2.39.0