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]

Reply via email to