|
|
|
@ -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 |
|
|
|
|