Refactor and consolidate all SIMD handlers #3352
Draft
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.
simd_shared.h
, but stuff here was pointlessly duplicated across various headers, and this header was not being used everywhere either. This PR fixes that.ifdef
, and then at runtime is just the underlying SDL SIMD feature check function. Why? This ensures that we don't call the runtime check when compile time support is missing, even accidentally. Doing so would now result in a compile time error after this PR (instead of runtime error with the current code). This solves the issue I mentioned in the above point.PG_DISABLE_SIMD
that can be set (in one place only) to disable all SIMD at compile time.How to test this PR? This is probably the hard part of reviewing/approving this PR, but: