mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-28 10:22:10 +00:00
configure: Add check_x86asm() helper function to simplify some expressions
This commit is contained in:
parent
17ee5b0c13
commit
8c7554e6a9
40
configure
vendored
40
configure
vendored
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user