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