diff --git a/CMakeLists.txt b/CMakeLists.txt index 1292e26580..5f215254fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,9 +317,6 @@ IF (WIN32) INCLUDE(gnu) ELSE() set(EMBREE_SYCL_SUPPORT OFF) - IF (EMBREE_ISA_AVX512) - MESSAGE(FATAL_ERROR "Microsoft Visual C++ Compiler does not support AVX512. Please use Intel Compiler or Clang.") - ENDIF() MESSAGE("-- MSVC detected") INCLUDE (msvc) ENDIF() @@ -403,7 +400,7 @@ IF (EMBREE_MAX_ISA STREQUAL "NONE") OPTION(EMBREE_ISA_SSE42 "Enables SSE4.2 ISA." ON) OPTION(EMBREE_ISA_AVX "Enables AVX ISA." ${COMPILER_SUPPORTS_AVX}) OPTION(EMBREE_ISA_AVX2 "Enables AVX2 ISA." ${COMPILER_SUPPORTS_AVX2}) - IF (WIN32 OR APPLE) + IF (APPLE) OPTION(EMBREE_ISA_AVX512 "Enables AVX512 ISA." OFF) ELSE() OPTION(EMBREE_ISA_AVX512 "Enables AVX512 ISA." ${COMPILER_SUPPORTS_AVX512}) diff --git a/common/cmake/msvc.cmake b/common/cmake/msvc.cmake index aa384f619e..9f08cd0f03 100644 --- a/common/cmake/msvc.cmake +++ b/common/cmake/msvc.cmake @@ -5,6 +5,7 @@ SET(FLAGS_SSE2 "/D__SSE__ /D__SSE2__") SET(FLAGS_SSE42 "${FLAGS_SSE2} /D__SSE3__ /D__SSSE3__ /D__SSE4_1__ /D__SSE4_2__") SET(FLAGS_AVX "${FLAGS_SSE42} /arch:AVX") SET(FLAGS_AVX2 "${FLAGS_SSE42} /arch:AVX2") +SET(FLAGS_AVX512 "${FLAGS_AVX2} /arch:AVX512") SET(COMMON_CXX_FLAGS "") SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} /EHsc") # catch C++ exceptions only and extern "C" functions never throw a C++ exception