aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2017-10-21 01:07:34 +0200
committerDiego Biurrun <diego@biurrun.de>2018-03-26 18:59:43 +0200
commit8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1 (patch)
tree9e2d786a3fe34e9b5df3bc02b0dbb262ed1d94a0
parent17ee5b0c13bc17465b71bc9ca1cde9f0eed8b3ff (diff)
downloadffmpeg-8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1.tar.gz
configure: Add check_x86asm() helper function to simplify some expressions
-rwxr-xr-xconfigure40
1 files changed, 24 insertions, 16 deletions
diff --git a/configure b/configure
index 844c3beb07..4e6b880b14 100755
--- a/configure
+++ b/configure
@@ -808,6 +808,18 @@ test_as(){
test_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPS
}
+x86asm_o(){
+ eval printf '%s\\n' $X86ASM_O
+}
+
+test_x86asm(){
+ log test_x86asm "$@"
+ echo "$1" > $TMPASM
+ log_file $TMPASM
+ shift
+ test_cmd $x86asmexe $X86ASMFLAGS "$@" $(x86asm_o $TMPO) $TMPASM
+}
+
check_cmd(){
log check_cmd "$@"
cmd=$1
@@ -844,16 +856,12 @@ check_insn(){
check_as ${1}_external "$2"
}
-x86asm_o(){
- eval printf '%s\\n' $X86ASM_O
-}
-
-test_x86asm(){
- log test_x86asm "$@"
- echo "$1" > $TMPASM
- log_file $TMPASM
- shift 1
- test_cmd $x86asmexe $X86ASMFLAGS "$@" $(x86asm_o $TMPO) $TMPASM
+check_x86asm(){
+ log check_x86asm "$@"
+ name=$1
+ shift
+ disable $name
+ test_x86asm "$@" && enable $name
}
ld_o(){
@@ -4425,7 +4433,7 @@ EOF
X86ASMDEP='$(DEPX86ASM) $(X86ASMFLAGS) -M $(X86ASM_O) $< > $(@:.o=.d)'
X86ASM_DEPFLAGS=
fi
- test_x86asm "movbe ecx, [5]" && enable x86asm
+ check_x86asm x86asm "movbe ecx, [5]"
}
if ! disabled_any asm mmx x86asm; then
@@ -4441,11 +4449,11 @@ EOF
elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;;
esac
- test_x86asm "vextracti128 xmm0, ymm0, 0" || disable avx2_external
- test_x86asm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external
- test_x86asm "vfmadd132ps ymm0, ymm1, ymm2" || disable fma3_external
- test_x86asm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external
- test_x86asm "CPU amdnop" || disable cpunop
+ check_x86asm avx2_external "vextracti128 xmm0, ymm0, 0"
+ check_x86asm xop_external "vpmacsdd xmm0, xmm1, xmm2, xmm3"
+ check_x86asm fma3_external "vfmadd132ps ymm0, ymm1, ymm2"
+ check_x86asm fma4_external "vfmaddps ymm0, ymm1, ymm2, ymm3"
+ check_x86asm cpunop "CPU amdnop"
fi
case "$cpu" in