]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
lib/blkid: remove 32-bit x86 byteswap assembly
authorEric Biggers <ebiggers@google.com>
Sat, 21 Jan 2023 20:31:59 +0000 (12:31 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 27 Jan 2023 17:33:59 +0000 (12:33 -0500)
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@google.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/blkid/probe.h

index dea4081d023ac6751225f971d78a84f7f161c60b..063a5b5c07cffe0f7416ab1fdeb63213f52e7dc9 100644 (file)
@@ -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)