From: Liang Ma <lian...@bytedance.com>

GCC 6.3.0 has a known bug which related to _mm512_extracti64x4_epi64.
Please reference https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82887

Some DPDK PMD avx512 version heavily use _mm512_extracti64x4_epi6,
which casue building failure with debug buildtype.

Therefore, it's helpful to disable avx512 for GCC 6.3.0

Bugzilla ID: 717
Fixes: e6a6a138919f (net/i40e: add AVX512 vector path)
Fixes: 808a17b3c1e6 (net/ice: add Rx AVX512 offload path)
Fixes: 4b64ccb328c9 (net/iavf: fix VLAN extraction in AVX512 path)
Cc: sta...@dpdk.org

Reported-by: Liang Ma <lian...@liangbit.com>
Signed-off-by: Liang Ma <lian...@bytedance.com>
---
 buildtools/binutils-avx512-check.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/buildtools/binutils-avx512-check.sh 
b/buildtools/binutils-avx512-check.sh
index 2a833b64b7..b86d0b179e 100755
--- a/buildtools/binutils-avx512-check.sh
+++ b/buildtools/binutils-avx512-check.sh
@@ -5,6 +5,13 @@
 AS=${AS:-as}
 OBJFILE=$(mktemp -t dpdk.binutils-check.XXXXXX)
 trap 'rm -f "$OBJFILE"' EXIT
+
+# from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82887
+GCC_VER=6.3.0
+gcc --version|grep $GCC_VER && {
+    echo "GCC 6.3.0 is broken with  _mm512_extracti64x4_epi64"
+    exit 1
+}
 # from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
 GATHER_PARAMS='0x8(,%ymm1,1),%ymm0{%k2}'
 
-- 
2.17.1

Reply via email to