Repository navigation
3DES PPC64LE: drop the bitsliced S-boxes' redundant #guard and its allocator - #4723
Merged
Merged
Conversation
…locator The `#guard` in `Impl/TripleDes/PPC64LE/Bitsliced.lean` checked that the written-out S-box code is what the register allocator produces. The proofs check that code against the S-boxes directly (`Proof/TripleDes/PPC64LE/Bitsliced/Sbox.lean`), so the check pinned down nothing they don't, and the allocator (`BitsliceAlloc.lean`) and `freeRegs` were used by it alone. The generated code is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TKUFHFbSpgWBYWAsEnfUks
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Nov 8, 2026
Member
Author
|
The merge queue's run (42522838991) failed only in Rust (macOS, AArch64, stable), at Generated by Claude Code |
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.
This removes a check that duplicates what the proofs already establish. It cleans up my merged PRs (#4666 and #4693), under the new rule that a
#guardstays only if it pins down something nothing else does.What changes
The
#guardinImpl/TripleDes/PPC64LE/Bitsliced.lean, added in #4666, checked one thing: that the written-out S-box code is what the register allocator (compile) produces. The proofs check that same code directly against the S-boxes, so the#guardwas redundant:sbox_checkandsboxLiteral_eqinProof/TripleDes/PPC64LE/Bitsliced/Sbox.lean;taint_decidefor constant time.It isn't a TCB check either.
Removed:
#guard;Impl/TripleDes/PPC64LE/BitsliceAlloc.lean, the allocator, which only that#guardused;freeRegs, which likewise had no other use.Two doc comments no longer mention them.
The generated code is unchanged:
EmitOne.lean --check TripleDes.PPC64LEemits identical assembly.The rest of the audit
None of my PRs added Rust tests:
All four are covered by the existing Wycheproof and published vectors. #4693 and #4711 added no
#guard. #4694 carries #4666's commits, so it drops the#guardwhen it is restacked ontomain.Testing
EmitOne --checkshows the same code.No Rust or TCB change.
Generated by Claude Code