Add more expressive ZMIJ_AMD64_LEVEL variable. - #160
Open
TobiSchluter wants to merge 1 commit into
Open
TobiSchluter wants to merge 1 commit into
TobiSchluter wants to merge 1 commit into
Conversation
Allows to encode more than just SSE2, SSE4.1. Mainly for the benefit of itoa which brings AVX2 variants.
TobiSchluter
force-pushed
the
reorganize_levels
branch
from
September 17, 2026 13:22
9aa77d0 to
195cc05
Compare
This file contains hidden or 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
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.
Allows to encode more than just SSE2, SSE4.1. Mainly for the benefit of itoa which brings AVX2 variants.
This is mainly driven by @vitaut's question here #156 (comment) If the user can input random combinations of x64 features it becomes unwieldy to check every site against all possibilities.
I kept the SSE and SSE4_1 macros as backwards-compatible user-interface. They are also still used in the tests.
Built and tested across the levels, also inspected that the various combinations come out correctly.
ps I was missing a few checks in the first commit. I think it's not worth identifying the exact combinations of flags that will work with the code and only require those features, instead the code now hews closely to the microarchitecture level definitions.