configure/swr: add KNL and SKX architecture targets
Not built by default. Currently only builds with icc.
v2:
* document knl,skx possibilities for swr_archs
* merge with changed loader lib selection code
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
diff --git a/configure.ac b/configure.ac
index cfc53de..38cd127 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2357,7 +2357,7 @@
AC_ARG_WITH([swr-archs],
[AS_HELP_STRING([--with-swr-archs@<:@=DIRS...@:>@],
[comma delimited swr architectures list, e.g.
- "avx,avx2" @<:@default="avx,avx2"@:>@])],
+ "avx,avx2,knl,skx" @<:@default="avx,avx2"@:>@])],
[with_swr_archs="$withval"],
[with_swr_archs="avx,avx2"])
@@ -2521,6 +2521,20 @@
AC_SUBST([SWR_AVX2_CXXFLAGS])
HAVE_SWR_AVX2=yes
;;
+ xknl)
+ swr_require_cxx_feature_flags "KNL" "defined(__AVX512F__) && defined(__AVX512ER__)" \
+ ",-march=knl,-xMIC-AVX512" \
+ SWR_KNL_CXXFLAGS
+ AC_SUBST([SWR_KNL_CXXFLAGS])
+ HAVE_SWR_KNL=yes
+ ;;
+ xskx)
+ swr_require_cxx_feature_flags "SKX" "defined(__AVX512F__) && defined(__AVX512BW__)" \
+ ",-march=skylake-avx512,-xCORE-AVX512" \
+ SWR_SKX_CXXFLAGS
+ AC_SUBST([SWR_SKX_CXXFLAGS])
+ HAVE_SWR_SKX=yes
+ ;;
*)
AC_MSG_ERROR([unknown SWR build architecture '$arch'])
;;
@@ -2528,7 +2542,9 @@
done
if test "x$HAVE_SWR_AVX" != xyes -a \
- "x$HAVE_SWR_AVX2" != xyes; then
+ "x$HAVE_SWR_AVX2" != xyes -a \
+ "x$HAVE_SWR_KNL" != xyes -a \
+ "x$HAVE_SWR_SKX" != xyes -a; then
AC_MSG_ERROR([swr enabled but no swr architectures selected])
fi
@@ -2571,6 +2587,8 @@
AM_CONDITIONAL(HAVE_SWR_AVX, test "x$HAVE_SWR_AVX" = xyes)
AM_CONDITIONAL(HAVE_SWR_AVX2, test "x$HAVE_SWR_AVX2" = xyes)
+AM_CONDITIONAL(HAVE_SWR_KNL, test "x$HAVE_SWR_KNL" = xyes)
+AM_CONDITIONAL(HAVE_SWR_SKX, test "x$HAVE_SWR_SKX" = xyes)
dnl We need to validate some needed dependencies for renderonly drivers.