From d37e3550f47dee5c657123b0a6f244cac58f5765 Mon Sep 17 00:00:00 2001 From: Christoph Riesinger Date: Tue, 12 May 2026 15:43:33 +0200 Subject: [PATCH] Adding treatment of ARM platforms if a SYCL-compatible compiler is detected. --- common/cmake/dpcpp.cmake | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/common/cmake/dpcpp.cmake b/common/cmake/dpcpp.cmake index a15c179ab9..fac8c77199 100644 --- a/common/cmake/dpcpp.cmake +++ b/common/cmake/dpcpp.cmake @@ -7,11 +7,28 @@ MACRO(_SET_IF_EMPTY VAR VALUE) ENDIF() ENDMACRO() -_SET_IF_EMPTY(FLAGS_SSE2 "-msse2") -_SET_IF_EMPTY(FLAGS_SSE42 "-msse4.2") -_SET_IF_EMPTY(FLAGS_AVX "-mavx") -_SET_IF_EMPTY(FLAGS_AVX2 "-mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2") -_SET_IF_EMPTY(FLAGS_AVX512 "-march=skx") +IF (EMBREE_ARM) + IF ("x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES) + # set ARM an x86 flags for macOS universal binary build + SET(FLAGS_SSE2 "-D__SSE__ -D__SSE2__ -msse -msse2 -mno-sse4.2") + SET(FLAGS_SSE42 "-D__SSE4_2__ -D__SSE4_1__ -msse4.2") + SET(FLAGS_AVX "-D__AVX__ -D__SSE4_2__ -D__SSE4_1__ -D__BMI__ -D__BMI2__ -D__LZCNT__ -mavx") + SET(FLAGS_AVX2 "-D__AVX2__ -D__AVX__ -D__SSE4_2__ -D__SSE4_1__ -D__BMI__ -D__BMI2__ -D__LZCNT__ -mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2") + _SET_IF_EMPTY(FLAGS_AVX512 "-march=skx") + ELSE () + SET(FLAGS_SSE2 "-D__SSE__ -D__SSE2__") + SET(FLAGS_SSE42 "-D__SSE4_2__ -D__SSE4_1__") + SET(FLAGS_AVX "-D__AVX__ -D__SSE4_2__ -D__SSE4_1__ -D__BMI__ -D__BMI2__ -D__LZCNT__") + SET(FLAGS_AVX2 "-D__AVX2__ -D__AVX__ -D__SSE4_2__ -D__SSE4_1__ -D__BMI__ -D__BMI2__ -D__LZCNT__") + ENDIF () +ELSE () + # for `thread` keyword + _SET_IF_EMPTY(FLAGS_SSE2 "-msse -msse2 -mno-sse4.2") + _SET_IF_EMPTY(FLAGS_SSE42 "-msse4.2") + _SET_IF_EMPTY(FLAGS_AVX "-mavx") + _SET_IF_EMPTY(FLAGS_AVX2 "-mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2") + _SET_IF_EMPTY(FLAGS_AVX512 "-march=skx") +ENDIF () IF (NOT WIN32) OPTION(EMBREE_IGNORE_CMAKE_CXX_FLAGS "When enabled Embree ignores default CMAKE_CXX_FLAGS." ON)