Replies: 3 comments 13 replies
-
It's how the SW renderer/IPU/etc have multiple codepaths for SSE4/AVX/AVX2, since they benefit the most from the wider vector width. I see no reason to rename the variable, it wouldn't really provide any benefit, since it's not something users should be messing with. The compile flags are not duplicated as far as I can tell. |
Beta Was this translation helpful? Give feedback.
-
The relevant cmake magic is here. Lines 749 to 762 in 72787d1 |
Beta Was this translation helpful? Give feedback.
-
if (DISABLE_ADVANCE_SIMD)
message("setting individual flags")
add_compile_options("-msse" "-msse2" "-msse4.1" "-mfxsr")
else()
# Can't use march=native on Apple Silicon.
if(NOT APPLE OR "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
message("setting march=native")
add_compile_options("-march=native")
endif()
endif() The march=native is clearly in the else of the |
Beta Was this translation helpful? Give feedback.
-
Most response that most helps to elucidate how multi-ISA works is this.
The other issue appears to be some parallelism/race condition in
cmake
that I will ask about elsewhere.What is multi-ISA? How is it supposed to work? Should
DISABLE_ADVANCE_SIMD
be renamed?Notably, by adding a
message
commands before lines 93 and 97:pcsx2/cmake/BuildParameters.cmake
Lines 92 to 99 in 72787d1
When
DISABLE_ADVANCE_SIMD=ON
,-march=native
appears to be added three times.Where/How is
cmake
being told to make multiple passes? Where/How is it being used?Beta Was this translation helpful? Give feedback.
All reactions