Add ARM NEON instructions BIF and REV32 (vector)#406
Open
nebeid wants to merge 2 commits into
Open
Conversation
Add decode patterns, semantic definitions, and simulator entries for: - BIF (Bitwise Insert if False): complement of BIT, inserts source bits where mask is 0. Supports 64-bit and 128-bit datasize. - REV32 (vector): reverses byte/halfword order within each 32-bit element. Supports esize=8 and esize=16, Q=1 (128-bit) only. These are needed for verification of the AES-GCM optimised implementation. Tested: focused sematest with 13,413 random instances (4 processes), 0 failures. Both instructions match hardware cosimulation on AArch64. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
d1e80c4 to
47174ef
Compare
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
47174ef to
f24e276
Compare
Contributor
|
I believe this is all absolutely functionally correct, thank you! However, I would like to suggest a stylistic modification to the core This is using the word library's |
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.
Adds decode + semantics + simulator entries for two ARM NEON instructions
needed for verification of the AES-GCM optimised implementation:
0q101110111 Rm 000111 Rn Rd0q101110 size 100000000010 Rn RdChanges
arm/proofs/decode.ml: bit-pattern decode entriesarm/proofs/instruction.ml: semantic definitions, ALT rules, operation listarm/proofs/simulator_iclasses.ml: sematest entriesTesting
Focused sematest (only BIF + REV32 in iclasses): 13,413 random instances
across 4 parallel processes, 0 failures. Cosimulated against hardware on
AArch64.