summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authordante <dante19031999@gmail.com>2021-05-16 16:04:20 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2021-08-26 08:48:35 +0200
commit5b9cf5881ef53fac5f1d8376f687dbadf9d3cf2b (patch)
treeff16b0dcf62236c48fed6ca87e7d584959ed1841 /configure.ac
parentfb1233d77500413ba237c335a84773d8a6f8e381 (diff)
tdf#142307 - Upgrade SSE2 sum to AVX512 sum with Neumaier 1
This part focuses on allowing it on replacing arrayfunctor By thefault it will try AVX512F (1,17%) If not available will use AVX (94,77%) Use of AVX2 (82,28%) has been avoided even if the code could been more compact Source of hardware statistics: https://store.steampowered.com/hwsurvey Change-Id: Iae737a565379e82c5f84f3fdee6321ac74f59d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115675 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac9
1 files changed, 9 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 9e5708cd49d4..bd929450971c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7631,6 +7631,7 @@ CXXFLAGS_INTRINSICS_SSE42=
CXXFLAGS_INTRINSICS_AVX=
CXXFLAGS_INTRINSICS_AVX2=
CXXFLAGS_INTRINSICS_AVX512=
+CXXFLAGS_INTRINSICS_AVX512F=
CXXFLAGS_INTRINSICS_F16C=
CXXFLAGS_INTRINSICS_FMA=
@@ -7643,6 +7644,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
flag_avx=-mavx
flag_avx2=-mavx2
flag_avx512="-mavx512f -mavx512vl -mavx512bw -mavx512dq -mavx512cd"
+ flag_avx512f=-mavx512f
flag_f16c=-mf16c
flag_fma=-mfma
else
@@ -7658,6 +7660,7 @@ else
flag_avx=-arch:AVX
flag_avx2=-arch:AVX2
flag_avx512=-arch:AVX512
+ flag_avx512f=-arch:AVX512
# These are part of -arch:AVX2
flag_f16c=-arch:AVX2
flag_fma=-arch:AVX2
@@ -7807,6 +7810,7 @@ CXXFLAGS=$save_CXXFLAGS
AC_MSG_RESULT([${can_compile_avx512}])
if test "${can_compile_avx512}" = "yes" ; then
CXXFLAGS_INTRINSICS_AVX512="$flag_avx512"
+ CXXFLAGS_INTRINSICS_AVX512F="$flag_avx512f"
fi
AC_MSG_CHECKING([whether $CXX can compile F16C intrinsics])
@@ -7859,6 +7863,7 @@ AC_SUBST([CXXFLAGS_INTRINSICS_SSE42])
AC_SUBST([CXXFLAGS_INTRINSICS_AVX])
AC_SUBST([CXXFLAGS_INTRINSICS_AVX2])
AC_SUBST([CXXFLAGS_INTRINSICS_AVX512])
+AC_SUBST([CXXFLAGS_INTRINSICS_AVX512F])
AC_SUBST([CXXFLAGS_INTRINSICS_F16C])
AC_SUBST([CXXFLAGS_INTRINSICS_FMA])
@@ -12013,6 +12018,7 @@ LO_CLANG_CXXFLAGS_INTRINSICS_SSE42=
LO_CLANG_CXXFLAGS_INTRINSICS_AVX=
LO_CLANG_CXXFLAGS_INTRINSICS_AVX2=
LO_CLANG_CXXFLAGS_INTRINSICS_AVX512=
+LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F=
LO_CLANG_CXXFLAGS_INTRINSICS_F16C=
LO_CLANG_CXXFLAGS_INTRINSICS_FMA=
@@ -12066,6 +12072,7 @@ if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE -a ! \( "$_os" = "WINNT
flag_avx=-mavx
flag_avx2=-mavx2
flag_avx512="-mavx512f -mavx512vl -mavx512bw -mavx512dq -mavx512cd"
+ flag_avx512f=-mavx512f
flag_f16c=-mf16c
flag_fma=-mfma
@@ -12213,6 +12220,7 @@ if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != TRUE -a ! \( "$_os" = "WINNT
AC_MSG_RESULT([${can_compile_avx512}])
if test "${can_compile_avx512}" = "yes" ; then
LO_CLANG_CXXFLAGS_INTRINSICS_AVX512="$flag_avx512"
+ LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F="$flag_avx512f"
fi
AC_MSG_CHECKING([whether $CXX can compile F16C intrinsics])
@@ -12319,6 +12327,7 @@ AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_SSE42)
AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX)
AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX2)
AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512)
+AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F)
AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_F16C)
AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_FMA)
AC_SUBST(CLANG_USE_LD)