diff options
author | Diego Biurrun <diego@biurrun.de> | 2017-10-21 01:07:34 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2018-03-26 18:59:43 +0200 |
commit | 8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1 (patch) | |
tree | 9e2d786a3fe34e9b5df3bc02b0dbb262ed1d94a0 | |
parent | 17ee5b0c13bc17465b71bc9ca1cde9f0eed8b3ff (diff) | |
download | ffmpeg-8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1.tar.gz |
configure: Add check_x86asm() helper function to simplify some expressions
-rwxr-xr-x | configure | 40 |
1 files changed, 24 insertions, 16 deletions
@@ -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 |