summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/make/configure.sh32
1 files changed, 21 insertions, 11 deletions
diff --git a/build/make/configure.sh b/build/make/configure.sh
index 37b410edb..d2c6b26fa 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