diff options
author | Bradley Sepos <[email protected]> | 2019-01-07 19:08:48 -0500 |
---|---|---|
committer | Bradley Sepos <[email protected]> | 2019-01-07 19:09:12 -0500 |
commit | e3817b13cfebce6f7542be6761bd9fa8b51e1005 (patch) | |
tree | 4f5bfa47ea93baaa719457ff03472be5b2d5ade3 /contrib/libvpx/A04-avx-512-clang.patch | |
parent | 76f14dad963db46961ce3d425a102ac3d898ce10 (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.patch | 46 |
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) && \ |