-
Notifications
You must be signed in to change notification settings - Fork 776
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
Refactor to improve code size, fix GCC 12 #802
Draft
easyaspi314
wants to merge
11
commits into
Cyan4973:dev
Choose a base branch
from
easyaspi314:streaming-refactor
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Commits on Feb 23, 2023
-
- Fix the state structs to use unsigned char, update names - Extract the algorithm steps into inline subroutines - Fix a theoretical integer overflow bug - Reroll XXH64 on 32-bit (it is going to run like crap anyway)
Configuration menu - View commit details
-
Copy full SHA for 0a9db72 - Browse repository at this point
Copy the full SHA 0a9db72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 810498e - Browse repository at this point
Copy the full SHA 810498eView commit details -
- Add `XXH_32BIT_OPT` which is enabled for targets without 64-bit arithmetic - Add a 64-bit only inline hint, apply it to the functions that need them - TODO benchmark them more - Tail call XXH3_64bits_update instead of inlining XXH3_update - Reroll midrange on 32-bit (ARM is the only one that doesn't choke on the 128-bit multiplies) - Extract the copy-pasted midrange finalization code in XXH128
Configuration menu - View commit details
-
Copy full SHA for 183d69e - Browse repository at this point
Copy the full SHA 183d69eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18e28a9 - Browse repository at this point
Copy the full SHA 18e28a9View commit details -
Refactor and simplify XXH3_update
XXH3_consumeStripes can now process multiple blocks, greatly simplifying the logic and making it resemble XXH32 and XXH64. This also reduces code size by a solid amount.
Configuration menu - View commit details
-
Copy full SHA for cc4c915 - Browse repository at this point
Copy the full SHA cc4c915View commit details -
Add XXH_INLINE, force inline some things on sizeopt
- XXH_SIZE_OPT now, instead of disabling inline hints, turns off *most* inline hints - Things like acc512 and utilities remain force inline - XXH_FORCE_INLINE now always force inlines for functions that need it.
Configuration menu - View commit details
-
Copy full SHA for 9b82f8b - Browse repository at this point
Copy the full SHA 9b82f8bView commit details -
Force GCC 12 -O2/-Og to -O3 to fix -Og bug
Not the best solution, but not force inlining the accumulate functions is more of a problem than forcing GCC to -O3.
Configuration menu - View commit details
-
Copy full SHA for 05a972c - Browse repository at this point
Copy the full SHA 05a972cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e3776e2 - Browse repository at this point
Copy the full SHA e3776e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3778858 - Browse repository at this point
Copy the full SHA 3778858View commit details -
Configuration menu - View commit details
-
Copy full SHA for c590089 - Browse repository at this point
Copy the full SHA c590089View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98be0b9 - Browse repository at this point
Copy the full SHA 98be0b9View commit details
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.