diff options
Diffstat (limited to 'contrib/libvpx/A03-avx-512-detection3.patch')
-rw-r--r-- | contrib/libvpx/A03-avx-512-detection3.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/contrib/libvpx/A03-avx-512-detection3.patch b/contrib/libvpx/A03-avx-512-detection3.patch new file mode 100644 index 000000000..6dc09e3a8 --- /dev/null +++ b/contrib/libvpx/A03-avx-512-detection3.patch @@ -0,0 +1,63 @@ +From ab71db65a5e8aeb107e0eb4d5fd3e03ec7452b86 Mon Sep 17 00:00:00 2001 +From: Tom Finegan <[email protected]> +Date: Fri, 15 Jun 2018 10:58:11 -0700 +Subject: [PATCH] Clean up avx512 compiler support test. + +Moves the check into a function, check_gcc_avx512_compiles, +that behaves somewhat similarly to check_gcc_machine_options. + +Change-Id: I2bef3ddd98e636eef12d9d5e548c43282fac7826 +--- + build/make/configure.sh | 32 +++++++++++++++++++++----------- + 1 file changed, 21 insertions(+), 11 deletions(-) + +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 37b410edb6..d2c6b26fa1 100644 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -426,6 +426,26 @@ check_gcc_machine_options() { + fi + } + ++check_gcc_avx512_compiles() { ++ if disabled gcc; then ++ return ++ fi ++ ++ check_cc -mavx512f <<EOF ++#include <immintrin.h> ++void f(void) { ++ __m512i x = _mm512_set1_epi16(0); ++ (void)x; ++} ++EOF ++ compile_result=$? ++ if [ ${compile_result} -ne 0 ]; then ++ log_echo " disabling avx512: not supported by compiler" ++ disable_feature avx512 ++ RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx512 " ++ fi ++} ++ + write_common_config_banner() { + print_webm_license config.mk "##" "" + echo '# This file automatically generated by configure. Do not edit!' >> config.mk +@@ -1333,17 +1353,7 @@ EOF + else + if [ "$ext" = "avx512" ]; then + check_gcc_machine_options $ext avx512f avx512cd avx512bw avx512dq avx512vl +- +- # Confirm that the compiler really supports avx512. +- if enabled gcc; then +- check_cc -mavx512f <<EOF || RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx512 " && soft_disable avx512 +-#include <immintrin.h> +-void f(void) { +- __m512i x = _mm512_set1_epi16(0); +- (void)x; +-} +-EOF +- fi ++ check_gcc_avx512_compiles + else + # use the shortened version for the flag: sse4_1 -> sse4 + check_gcc_machine_option ${ext%_*} $ext |