diff --git a/configure b/configure index 2dc71efed3..5e8e70e962 100755 --- a/configure +++ b/configure @@ -1253,7 +1253,6 @@ HAVE_LIST=" cdio_paranoia_h cdio_paranoia_paranoia_h closesocket - cmov CommandLineToArgvW cpunop CryptGenRandom @@ -1287,6 +1286,7 @@ HAVE_LIST=" gettimeofday gnu_as gsm_h + i686 ibm_asm inet_aton io_h @@ -1470,7 +1470,7 @@ ppc4xx_deps="ppc" vis_deps="sparc" -x86_64_suggest="cmov fast_cmov" +x86_64_suggest="fast_cmov i686" amd3dnow_deps="mmx" amd3dnowext_deps="amd3dnow" @@ -2870,21 +2870,21 @@ elif enabled x86; then cpuflags="-march=$cpu" disable mmx ;; - # targets that do NOT support conditional mov (cmov) + # targets that do NOT support nopl and conditional mov (cmov) pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3) cpuflags="-march=$cpu" - disable cmov + disable i686 ;; - # targets that do support conditional mov (cmov) + # targets that do support nopl and conditional mov (cmov) i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) cpuflags="-march=$cpu" - enable cmov + enable i686 enable fast_cmov ;; # targets that do support conditional mov but on which it's slow pentium4|pentium4m|prescott|nocona) cpuflags="-march=$cpu" - enable cmov + enable i686 disable fast_cmov ;; esac @@ -3895,7 +3895,7 @@ if enabled x86; then echo "SSSE3 enabled ${ssse3-no}" echo "AVX enabled ${avx-no}" echo "FMA4 enabled ${fma4-no}" - echo "CMOV enabled ${cmov-no}" + echo "i686 features enabled ${i686-no}" echo "CMOV is fast ${fast_cmov-no}" echo "EBX available ${ebx_available-no}" echo "EBP available ${ebp_available-no}" diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h index cd408ac5a6..32c88705e5 100644 --- a/libavcodec/x86/mathops.h +++ b/libavcodec/x86/mathops.h @@ -68,7 +68,7 @@ static av_always_inline av_const int64_t MUL64(int a, int b) #endif /* ARCH_X86_32 */ -#if HAVE_CMOV +#if HAVE_I686 /* median of 3 */ #define mid_pred mid_pred static inline av_const int mid_pred(int a, int b, int c) @@ -87,9 +87,7 @@ static inline av_const int mid_pred(int a, int b, int c) ); return i; } -#endif -#if HAVE_CMOV #define COPY3_IF_LT(x, y, a, b, c, d)\ __asm__ volatile(\ "cmpl %0, %3 \n\t"\ @@ -99,7 +97,7 @@ __asm__ volatile(\ : "+&r" (x), "+&r" (a), "+r" (c)\ : "r" (y), "r" (b), "r" (d)\ ); -#endif +#endif /* HAVE_I686 */ #define MASK_ABS(mask, level) \ __asm__ ("cltd \n\t" \