js8544 commented on issue #38623:
URL: https://github.com/apache/arrow/issues/38623#issuecomment-1801670897
> is it supposed to run any x86_64 platforms even without sse4_2
It depends. Do you plan to compile it on a machine with SSE4.2 support and
run it on machines without? Then you should propably pass
`-DARROW_C_FLAGS_${BUILD_TYPE}=-march=<your target architecture>` (i.e. cross
compiling) to CMake to disable auto-generated SSE4.2 instructions (see
[this](https://arrow.apache.org/docs/developers/cpp/building.html#manual-configuration)),
as well as `ARROW_HAVE_SSE4_2=OFF` for arrow's explicit SSE4.2 intrinsics.
Also if you plan to use it on Windows, `POPCNT` may be a required
instruction (see https://github.com/apache/arrow/issues/21840).
> it will dynamically choose max simd level we can use
Nope. Only the compute functions do this. Other places use the compile time
constant `ARROW_HAVE_SSE4_2`.
--
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]