fix: support linux/arm64 builds#1090
Conversation
The previous directives supported macos arm but did not correctly trigger off of macosx, this applies the same codepaths for linux arm, supporting them natively.
There was a problem hiding this comment.
Code Review
This pull request restricts the compilation of x86-specific SIMD pybind modules (SSE, AVX2, AVX512) to x86 architectures in CMakeLists.txt and updates the instruction detection preprocessor checks in decide.cpp. Feedback on the changes points out that the updated preprocessor check using defined(_WIN32) will incorrectly evaluate to true on Windows ARM64, where the x86-specific cpuid intrinsic is unsupported, and suggests restricting the Windows check to x86/x64 architectures to prevent compilation failures.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
I /think/ the failures are unrelated to the changes I've made here, but let me know if they should be looked into 🫡 For context this change is useful for me to be able to support multi-arch docker images for qsim across arm/amd, the support for macos seems to prove out that the CPU is OK, this resulted from me looking into what would be needed to close the gap. No urgency on my part so if there are requested changes/improvements I'm all ears! |
The previous directives supported macos arm but did not correctly trigger off of macosx, this applies the same codepaths for linux arm, supporting them natively.