shithub: libvpx

Download patch

ref: 393f7856587d58292febb0a3e82edc405aab4498
parent: e32f0bf2399bfba4cda1f04f56bc2b05a2d34354
author: Tom Finegan <[email protected]>
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