forked from svenpeter42/fastfilters
-
Notifications
You must be signed in to change notification settings - Fork 0
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
sync devel #9
Merged
sync devel #9
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compiler switch
Make building with -ofast non-default option
added USE_SIMDE_ON_ARM variable, that activates SIMDE headers if set
* conditional execution of compilation flags for non-simde builds * only include the most "advanced" instruction variants on arm (so exclude anything avx if avx2 or avx+fma is there. * cpu.c variants for intel (arm will be added later) copied dynamically
with "fake" functions that all return true if queried for cpu features. With SIMDE we want to use the most "advanced" versions always, so all features are enabled at runtime.
for arm we can omit all the magic that compiles for different kinds of simd instruction sets like avx, avx2 is done for intel. For arm we use simde with the avx2 instruction set versions. Hence, this commit adds two switches to the cmake interface: * `USE_SIMDE_ON_ARM`: to activate using SIMDE to translate to whatever target architecture (that is supported) * `APPLE_ARM64`: for explicit clang targeting m1/m2 compilation flags foreseeing that it might be slightly different for arch64 Then, throughout the code, there are now splattered `_USE_SIMDE_ON_ARM_` conditionals. E.g., the various `*_init` functions that would check for certain processor capabilities at runtime to activate the most effective code path. These all point to the avx2 versions when SIMDE is active. All in all not very pretty - might want to clean this up a bit in the future...
Add arm 64 build
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.