fix compilation of 3dnowext instinsincs, both on ia32 and AMD64.
authorGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 16 May 2006 14:24:45 +0000 (14:24 +0000)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 16 May 2006 14:24:45 +0000 (14:24 +0000)
3dnow intrinsincs are for now only compiled if 3dnowext support is available. (I should add smth that
checks for plain 3dnow later)

Originally committed as revision 5386 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavcodec/Makefile

index ea24e7d..f491f2a 100755 (executable)
--- a/configure
+++ b/configure
@@ -1114,13 +1114,19 @@ fi
 cat > $TMPC << EOF
 #include <mm3dnow.h>
 int main(void) {
+__m64 b1;
+b1 = _m_pswapd(b1);
 _m_femms();
 return 0;
 }
 EOF
 
 mm3dnow=no
-if $cc -m3dnow -o $TMPO $TMPC 2> /dev/null ; then
+march=athlon
+if test "$cpu" = "x86_64"; then
+  march=k8
+fi
+if $cc -march=$march -o $TMPO $TMPC 2> /dev/null ; then
   mm3dnow=yes
 fi
 
index 6f82a5b..afc63b7 100644 (file)
@@ -350,7 +350,12 @@ depend: CFLAGS+= -msse
 endif
 ifdef TARGET_BUILTIN_3DNOW
 i386/fft_3dn.o: CFLAGS+= -m3dnow
-i386/fft_3dn2.o: CFLAGS+= -m3dnow
+ifeq ($(TARGET_ARCH_X86),yes)
+i386/fft_3dn2.o: CFLAGS+= -march=athlon
+endif
+ifeq ($(TARGET_ARCH_X86_64),yes)
+i386/fft_3dn2.o: CFLAGS+= -march=k8
+endif
 endif
 endif