check for x86 bswap instruction
authorMåns Rullgård <mans@mansr.com>
Sat, 8 Mar 2008 18:33:07 +0000 (18:33 +0000)
committerMåns Rullgård <mans@mansr.com>
Sat, 8 Mar 2008 18:33:07 +0000 (18:33 +0000)
Originally committed as revision 12375 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavutil/bswap.h

index 52a31f5..097cb35 100755 (executable)
--- a/configure
+++ b/configure
@@ -708,6 +708,7 @@ HAVE_LIST="
     $THREADS_LIST
     altivec_h
     arpa_inet_h
+    bswap
     byteswap_h
     closesocket
     cmov
@@ -1504,6 +1505,8 @@ EOF
 
     # check whether binutils is new enough to compile SSSE3
     enabled ssse3 && check_asm ssse3 '"pabsw %xmm0, %xmm0"'
+
+    check_asm bswap '"bswap %%eax" ::: "%eax"'
 fi
 
 # check for assembler specific support
@@ -1989,9 +1992,6 @@ if enabled bigendian; then
     echo "WORDS_BIGENDIAN=yes" >> config.mak
     echo "#define WORDS_BIGENDIAN 1" >> $TMPH
 fi
-if enabled mmx; then
-    echo "#define __CPU__ 586" >> $TMPH
-fi
 
 if enabled sdl; then
     echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
index ee75f88..8a0df7a 100644 (file)
@@ -56,7 +56,7 @@ static av_always_inline uint16_t bswap_16(uint16_t x)
 static av_always_inline uint32_t bswap_32(uint32_t x)
 {
 #if defined(ARCH_X86)
-#if __CPU__ != 386
+#ifdef HAVE_BSWAP
     __asm("bswap   %0":
           "=r" (x)    :
 #else