summaryrefslogtreecommitdiffstats
path: root/contrib/libvpx/A04-avx-512-clang.patch
diff options
context:
space:
mode:
authorBradley Sepos <[email protected]>2019-01-07 19:08:48 -0500
committerBradley Sepos <[email protected]>2019-01-07 19:09:12 -0500
commite3817b13cfebce6f7542be6761bd9fa8b51e1005 (patch)
tree4f5bfa47ea93baaa719457ff03472be5b2d5ade3 /contrib/libvpx/A04-avx-512-clang.patch
parent76f14dad963db46961ce3d425a102ac3d898ce10 (diff)
contrib: Fix potential assembly issues with libvpx and AVX-512.
Fixes cross compilation with gcc 8 and where clang is acting weird.
Diffstat (limited to 'contrib/libvpx/A04-avx-512-clang.patch')
-rw-r--r--contrib/libvpx/A04-avx-512-clang.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/libvpx/A04-avx-512-clang.patch b/contrib/libvpx/A04-avx-512-clang.patch
new file mode 100644
index 000000000..76bd5f03d
--- /dev/null
+++ b/contrib/libvpx/A04-avx-512-clang.patch
@@ -0,0 +1,46 @@
+From bb286cd851bd16efa32fe6fba5a9c2d0a160efa5 Mon Sep 17 00:00:00 2001
+From: Johann <[email protected]>
+Date: Thu, 28 Jun 2018 06:08:03 -0700
+Subject: [PATCH] libyuv: disable AVX512 in clang
+
+ARGBToRGB24Row_AVX512VBMI fails to compile on Mac:
+row_gcc.cc: instruction requires: AVX-512 VBMI ISA AVX-512 VL ISA
+
+BUG=libyuv:789
+
+Change-Id: Ibd584e8c82e3ce86ec5460b4243f84f5dbdf4c81
+---
+ third_party/libyuv/README.libvpx | 1 +
+ third_party/libyuv/include/libyuv/row.h | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/third_party/libyuv/README.libvpx b/third_party/libyuv/README.libvpx
+index 1216ee9f54..9519dc4bee 100644
+--- a/third_party/libyuv/README.libvpx
++++ b/third_party/libyuv/README.libvpx
+@@ -13,6 +13,7 @@ example which down-samples the original input video (f.g. 1280x720) a number of
+ times in order to encode multiple resolution bit streams.
+
+ Local Modifications:
++Disable ARGBToRGB24Row_AVX512VBMI due to build failure on Mac.
+ rm libyuv/include/libyuv.h libyuv/include/libyuv/compare_row.h
+ mv libyuv/include tmp/
+ mv libyuv/source tmp/
+diff --git a/third_party/libyuv/include/libyuv/row.h b/third_party/libyuv/include/libyuv/row.h
+index 646a6abb10..65ef448b8c 100644
+--- a/third_party/libyuv/include/libyuv/row.h
++++ b/third_party/libyuv/include/libyuv/row.h
+@@ -57,11 +57,13 @@ extern "C" {
+
+ // clang >= 6.0.0 required for AVX512.
+ // TODO(fbarchard): fix xcode 9 ios b/789.
++#if 0 // Build fails in libvpx on Mac
+ #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
+ #if (__clang_major__ >= 7) && !defined(__APPLE_EMBEDDED_SIMULATOR__)
+ #define CLANG_HAS_AVX512 1
+ #endif // clang >= 7
+ #endif // __clang__
++#endif // 0
+
+ // Visual C 2012 required for AVX2.
+ #if defined(_M_IX86) && !defined(__clang__) && defined(_MSC_VER) && \