Add Neon support to glm #945
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi there,
I'd like to add some Neon to the simd support in GLM.
We at Magic Leap use glm quite a bit on Aarch64 (aka Arm64) cores, but we noticed that the compiler (prebuilt Android O llvm-clang base) does not generate enough of Neon to take advantage of the full potential of our architecture.
For now, this PR enables the SIMD path only if GLM_FORCE_NEON is defined. But the goal is maybe to enable it by default.
We don't expect a big performance gain (or loss) from this PR, but if it can be merged, a few other PRs can take care of the matrix operations (like multiply or inverse). For the inverse case, we can get a 2x improvement on an Aarch64 core.
Thanks