swr: switch from overriding -march to selecting features
authorTim Rowley <timothy.o.rowley@intel.com>
Thu, 16 Jun 2016 19:56:39 +0000 (14:56 -0500)
committerTim Rowley <timothy.o.rowley@intel.com>
Fri, 17 Jun 2016 15:34:17 +0000 (10:34 -0500)
Acked-by: Chuck Atkins <chuck.atkins@kitware.com>
Tested-by: Chuck Atkins <chuck.atkins@kitware.com>
configure.ac
src/gallium/drivers/swr/Makefile.am

index c492e158f7659aaaa6f60375eff0c7a95deab366..cc9bc4758b82ef9bb2693c7e954b8a4912b787d7 100644 (file)
@@ -2400,8 +2400,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"
@@ -2411,18 +2411,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)
index 8151e4a64f0e39af3ea6224601126769ad95ed47..d8961541bea3584fec85add69878c3e51b0fef09 100644 (file)
@@ -125,7 +125,7 @@ COMMON_LDFLAGS = \
 lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
 
 libswrAVX_la_CXXFLAGS = \
-       -march=core-avx-i \
+       $(SWR_AVX_CXXFLAGS) \
        -DKNOB_ARCH=KNOB_ARCH_AVX \
        $(COMMON_CXXFLAGS)
 
@@ -139,7 +139,7 @@ libswrAVX_la_LDFLAGS = \
        $(COMMON_LDFLAGS)
 
 libswrAVX2_la_CXXFLAGS = \
-       -march=core-avx2 \
+       $(SWR_AVX2_CXXFLAGS) \
        -DKNOB_ARCH=KNOB_ARCH_AVX2 \
        $(COMMON_CXXFLAGS)