chasingegg commented on issue #38623:
URL: https://github.com/apache/arrow/issues/38623#issuecomment-1801688195
> > 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 `-DARROW_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 #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`.
Thank you for your reply, sorry I don't make my case clear, I want to
compile it on a machine with avx and run it on SSE4.2 machine, it should work
right? Also as you mentioned, some compile time constant is `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]