The goal is to make the capapility slightly more general and have it
cover the availability of the nopl instruction in addition to cmov.
---
configure | 16 ++++++++--------
libavcodec/x86/mathops.h | 6 ++----
2 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/configure b/configure
index e798cf6..eb7770c 100755
--- a/configure
+++ b/configure
@@ -1248,7 +1248,6 @@ HAVE_LIST="
cdio_paranoia_h
cdio_paranoia_paranoia_h
closesocket
- cmov
CommandLineToArgvW
cpunop
CryptGenRandom
@@ -1282,6 +1281,7 @@ HAVE_LIST="
gettimeofday
gnu_as
gsm_h
+ i686
ibm_asm
inet_aton
io_h
@@ -1465,7 +1465,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"
@@ -2861,21 +2861,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
@@ -3882,7 +3882,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 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 cd408ac..32c8870 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" \
--
1.7.2.5
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel