Skip to content
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

Optimize BE load and store of uint256 #281

Merged
merged 5 commits into from
Dec 12, 2022
Merged

Optimize BE load and store of uint256 #281

merged 5 commits into from
Dec 12, 2022

Conversation

chfast
Copy link
Owner

@chfast chfast commented Dec 10, 2022

This is critical for EVM MSTORE and MLOAD. GCC was not properly optimizing these because of the https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107837 bug.

load_store_be<uint128>_mean                  +0.0115         +0.0114             2             2             2             2
load_store_be<uint256>_mean                  -0.8506         -0.8506            23             3            23             3
load_store_be<uint512>_mean                  -0.4334         -0.4335            40            23            40            23

@codecov-commenter
Copy link

codecov-commenter commented Dec 10, 2022

Codecov Report

Merging #281 (857bfe6) into master (15e3a02) will not change coverage.
The diff coverage is 100.00%.

❗ Current head 857bfe6 differs from pull request most recent head b590752. Consider uploading reports for the commit b590752 to get more accurate results

@@            Coverage Diff            @@
##            master      #281   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines         1941      1951   +10     
=========================================
+ Hits          1941      1951   +10     
Flag Coverage Δ
32bit 100.00% <100.00%> (ø)
gcc 99.48% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
include/intx/intx.hpp 100.00% <100.00%> (ø)
test/unittests/test_intx.cpp 100.00% <100.00%> (ø)

@chfast chfast force-pushed the load_store branch 2 times, most recently from 857bfe6 to b590752 Compare December 11, 2022 11:21
@chfast chfast merged commit 1a1911e into master Dec 12, 2022
@chfast chfast deleted the load_store branch December 12, 2022 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants