[dpdk-dev] [PATCH] buildtools: Check GCC version to avoid GCC 6.3.0 avx512 bug
Liang Ma
liangma at liangbit.com
Sat Jul 17 19:08:30 CEST 2021
From: Liang Ma <liangma at 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: stable at dpdk.org
Reported-by: Liang Ma <liangma at liangbit.com>
Signed-off-by: Liang Ma <liangma at 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
More information about the dev
mailing list