test+fix: Add asm testing and fix core_hint_black_box
#147
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.
Per this zulip discussion and rust-lang/rust#140341 and in contrast to the discussion on #107,
read_volatile
(and all other equivalent functions in the standard library) should provide strict fewer optimization barriers thanblack_box
.In service of testing this, I've added a script which makes sure the assembly instructions of a simple case are approximately the expected length across most common architectures.
Also
read_volatile
is never going to beconst
, and it would be nice toconst
ify this library (which will hopefully be my next PR if this one is accepted).