From cd10b86026b0ee8b502ca89d9e807356b3e417ac Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Thu, 16 Jun 2016 14:56:39 -0500 Subject: [PATCH] swr: switch from overriding -march to selecting features Acked-by: Chuck Atkins Tested-by: Chuck Atkins (cherry picked from commit 5a64549f54bf1f67a4d0d098ab480affaaabd8ab) --- configure.ac | 11 +++++++---- src/gallium/drivers/swr/Makefile.am | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 352c7261a05..ddb43fe14d1 100644 --- a/configure.ac +++ b/configure.ac @@ -2402,8 +2402,8 @@ if test -n "$with_gallium_drivers"; then swr_llvm_check "swr" AC_MSG_CHECKING([whether $CXX supports c++11/AVX/AVX2]) - AVX_CXXFLAGS="-march=core-avx-i" - AVX2_CXXFLAGS="-march=core-avx2" + SWR_AVX_CXXFLAGS="-mavx" + SWR_AVX2_CXXFLAGS="-mavx2 -mfma -mbmi2 -mf16c" AC_LANG_PUSH([C++]) save_CXXFLAGS="$CXXFLAGS" @@ -2413,18 +2413,21 @@ if test -n "$with_gallium_drivers"; then CXXFLAGS="$save_CXXFLAGS" save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$AVX_CXXFLAGS $CXXFLAGS" + CXXFLAGS="$SWR_AVX_CXXFLAGS $CXXFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[], [AC_MSG_ERROR([AVX compiler support not detected])]) CXXFLAGS="$save_CXXFLAGS" save_CFLAGS="$CXXFLAGS" - CXXFLAGS="$AVX2_CXXFLAGS $CXXFLAGS" + CXXFLAGS="$SWR_AVX2_CXXFLAGS $CXXFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[], [AC_MSG_ERROR([AVX2 compiler support not detected])]) CXXFLAGS="$save_CXXFLAGS" AC_LANG_POP([C++]) + AC_SUBST([SWR_AVX_CXXFLAGS]) + AC_SUBST([SWR_AVX2_CXXFLAGS]) + HAVE_GALLIUM_SWR=yes ;; xvc4) diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am index b67413a23ff..e1ee6df580b 100644 --- a/src/gallium/drivers/swr/Makefile.am +++ b/src/gallium/drivers/swr/Makefile.am @@ -148,7 +148,7 @@ distclean-local: lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la libswrAVX_la_CXXFLAGS = \ - -march=core-avx-i \ + $(SWR_AVX_CXXFLAGS) \ -DKNOB_ARCH=KNOB_ARCH_AVX \ $(COMMON_CXXFLAGS) @@ -171,7 +171,7 @@ libswrAVX_la_LDFLAGS = \ $(COMMON_LDFLAGS) libswrAVX2_la_CXXFLAGS = \ - -march=core-avx2 \ + $(SWR_AVX2_CXXFLAGS) \ -DKNOB_ARCH=KNOB_ARCH_AVX2 \ $(COMMON_CXXFLAGS)