ref: 393f7856587d58292febb0a3e82edc405aab4498
parent: e32f0bf2399bfba4cda1f04f56bc2b05a2d34354
author: Tom Finegan <tomfinegan@google.com>
date: Thu Jun 7 08:35:05 EDT 2018
Add avx512 compile test. Some compiler releases allow the -mavx512f arg without actually implementing support. Test for this situation, and disable avx512 when it is detected by configure. BUG=webm:1536 Change-Id: I63952153bb4b24aa9f25267ed47a0fe845d61f8b
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -1333,6 +1333,15 @@
else
if [ "$ext" = "avx512" ]; then
check_gcc_machine_options $ext avx512f avx512cd avx512bw avx512dq avx512vl
+
+ # Confirm that the compiler really supports avx512.
+ 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
else
# use the shortened version for the flag: sse4_1 -> sse4
check_gcc_machine_option ${ext%_*} $ext