Skip to content

Add support for non-Neon ARM #351

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
aaronfranke opened this issue Dec 8, 2021 · 0 comments
Open

Add support for non-Neon ARM #351

aaronfranke opened this issue Dec 8, 2021 · 0 comments

Comments

@aaronfranke
Copy link

aaronfranke commented Dec 8, 2021

https://github.com/embree/embree/blob/master/common/sys/intrinsics.h

#if defined(__ARM_NEON)
#include "../simd/arm/emulation.h"
#else
#include <immintrin.h>
#endif

When compiling for Windows for ARM using MSVC, __ARM_NEON is not defined so it tries to #include <immintrin.h> which fails because this isn't x86, and if I force #include "../simd/arm/emulation.h" then it also fails because Embree uses the sse2neon library which does not support MSVC yet.

Would it be possible to allow Embree to run on ARM without Neon? Or maybe just add an option that replaces the SSE instructions with a software-only mode that doesn't depend on specific CPU instructions, so it will compile on any CPU?

At the very least, the above code snippet should be changed to detect if neither x86 nor ARM Neon is the case and error with a descriptive message such as "Only x86 and ARM Neon are supported".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant