pitrou commented on code in PR #49756:
URL: https://github.com/apache/arrow/pull/49756#discussion_r3124084383
##########
cpp/cmake_modules/SetupCxxFlags.cmake:
##########
@@ -541,7 +563,7 @@ if(ARROW_CPU_FLAG STREQUAL "aarch64")
add_definitions(-DARROW_HAVE_SVE_SIZELESS)
endif()
endif()
- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -march=${ARROW_ARMV8_MARCH}")
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} ${ARROW_SVE_FLAGS}")
Review Comment:
I think this is the source of the problem: SVE should only be enabled when
compiling the dynamically-dispatched variants. Otherwise this might generate
SVE instructions in the rest of the codebase.
##########
cpp/cmake_modules/SetupCxxFlags.cmake:
##########
@@ -528,8 +552,6 @@ if(ARROW_CPU_FLAG STREQUAL "aarch64")
if(NOT CXX_SUPPORTS_SVE)
message(FATAL_ERROR "SVE required but compiler doesn't support it.")
endif()
- # -march=armv8-a+sve
- set(ARROW_ARMV8_MARCH "${ARROW_ARMV8_MARCH}+sve")
Review Comment:
This was ok: it was enabling SVE unconditionally only if `ARROW_SIMD_LEVEL`
was set to SVE.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]