Skip to content

Commit e8db1fe

Browse files
authored
Merge pull request #3943 from martin-frbg/llvm15
Add clang option to avoid running out of registers in AVX512 assembly
2 parents f3d2103 + de937b3 commit e8db1fe

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

cmake/system.cmake

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,9 @@ if (DEFINED TARGET)
172172
endif()
173173
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang")
174174
if (${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 8.99)
175-
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=cooperlake")
175+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=cooperlake -exhaustive-register-search")
176176
else()
177-
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
177+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512 -exhaustive-register-search")
178178
endif()
179179
endif()
180180
endif()
@@ -188,14 +188,17 @@ if (DEFINED TARGET)
188188
endif()
189189
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang")
190190
if (${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 12.0)
191-
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=sapphirerapids")
191+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=sapphirerapids -exhaustive-register-search")
192192
else()
193-
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
193+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512 -exhaustive-register-search")
194194
endif()
195195
endif()
196196
endif()
197197
if (${TARGET} STREQUAL SKYLAKEX AND NOT NO_AVX512)
198198
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
199+
if (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang")
200+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -exhaustive-register-search")
201+
endif()
199202
endif()
200203

201204
if (((${TARGET} STREQUAL ZEN) AND HAVE_AVX512VL) AND NOT NO_AVX512)
@@ -212,6 +215,7 @@ if (DEFINED TARGET)
212215
else()
213216
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
214217
endif()
218+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -exhaustive-register-search")
215219
endif()
216220
endif()
217221

0 commit comments

Comments
 (0)