]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/x86/bswap.h
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavutil / x86 / bswap.h
index b0d62b248aaa83dd23fbab2a89bf3304aa04990b..52ffb4dbf818a00cabd9b902876c753dad12e67f 100644 (file)
 #include "config.h"
 #include "libavutil/attributes.h"
 
+#if !AV_GCC_VERSION_AT_LEAST(4,1)
 #define av_bswap16 av_bswap16
 static av_always_inline av_const unsigned av_bswap16(unsigned x)
 {
     __asm__("rorw $8, %w0" : "+r"(x));
     return x;
 }
+#endif /* !AV_GCC_VERSION_AT_LEAST(4,1) */
 
+#if !AV_GCC_VERSION_AT_LEAST(4,5)
 #define av_bswap32 av_bswap32
 static av_always_inline av_const uint32_t av_bswap32(uint32_t x)
 {
-#if HAVE_BSWAP
     __asm__("bswap   %0" : "+r" (x));
-#else
-    __asm__("rorw    $8,  %w0 \n\t"
-            "rorl    $16, %0  \n\t"
-            "rorw    $8,  %w0"
-            : "+r"(x));
-#endif
     return x;
 }
 
@@ -57,5 +53,6 @@ static inline uint64_t av_const av_bswap64(uint64_t x)
     return x;
 }
 #endif
+#endif /* !AV_GCC_VERSION_AT_LEAST(4,5) */
 
 #endif /* AVUTIL_X86_BSWAP_H */