Improved AVX512 support

This commit is contained in:
Benoit Steiner 2016-11-03 04:00:49 -07:00
parent c80587c92b
commit ca0ba0d9a4
3 changed files with 3 additions and 4 deletions

View File

@ -133,7 +133,6 @@ if(NOT MSVC)
if(COMPILER_SUPPORT_WERROR)
set(CMAKE_REQUIRED_FLAGS "-Werror")
endif()
ei_add_cxx_compiler_flag("-static")
ei_add_cxx_compiler_flag("-pedantic")
ei_add_cxx_compiler_flag("-Wall")
ei_add_cxx_compiler_flag("-Wextra")
@ -233,7 +232,7 @@ if(NOT MSVC)
option(EIGEN_TEST_AVX512 "Enable/Disable AVX512 in tests/examples" OFF)
if(EIGEN_TEST_AVX512)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -fabi-version=6")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -fabi-version=6" -DEIGEN_ENABLE_AVX512)
message(STATUS "Enabling AVX512 in tests/examples")
endif()

View File

@ -157,7 +157,7 @@
#ifdef __FMA__
#define EIGEN_VECTORIZE_FMA
#endif
#ifdef __AVX512F__
#ifdef __AVX512F__ && EIGEN_ENABLE_AVX512
#define EIGEN_VECTORIZE_AVX512
#define EIGEN_VECTORIZE_AVX2
#define EIGEN_VECTORIZE_AVX

View File

@ -659,7 +659,7 @@ namespace Eigen {
// If the user explicitly disable vectorization, then we also disable alignment
#if defined(EIGEN_DONT_VECTORIZE)
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 0
#elif defined(__AVX512F__)
#elif defined(EIGEN_VECTORIZE_AVX512)
// 64 bytes static alignmeent is preferred only if really required
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 64
#elif defined(__AVX__)