-
Notifications
You must be signed in to change notification settings - Fork 0
blackboard: record the W1a-#9 masking-primitive ship (PR #285) #286
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,7 +3,31 @@ | |
| > **Read this first.** The "Polyglot Notebook" architecture below is a | ||
| > separate/older program, not the current epoch. | ||
|
|
||
| ## 2026-07-29 (latest) β blake3 dependency DROPPED: call sites swapped to the in-tree module | ||
| ## 2026-08-31 (latest) β W1a-#9 masking primitives SHIPPED on every dispatch arm (PR #285) | ||
|
|
||
| `U64x8`/`U32x16` gained `andnot` (set difference, `self & !other` β argument | ||
| order deliberately differs from the raw Intel intrinsic, same direction on | ||
| every backend) and `ternlog::<IMM>` (any 3-input boolean via the VPTERNLOG | ||
| truth-table immediate; single VPTERNLOGQ/D on avx512, const-folded minterm | ||
| composition elsewhere). Review round forced the completion that mattered: | ||
| the methods exist on ALL SIX arms (scalar, avx2, avx512, neon `U32x16`, | ||
| wasm `U32x16` via per-part `v128_andnot`, nightly via core::simd), the | ||
| named immediates live on the always-compiled facade as | ||
| `crate::simd::ternlog` (their first home in the scalar backend was compiled | ||
| out on x86 β three bots caught it independently), and every portable arm | ||
| carries the avx512-equivalent compile-time IMM domain guard. Doc examples | ||
| on all twelve method sites; the avx512 ones execute in this environment's | ||
| doc-test run. Declined finding, reasons on the PR thread: extending the | ||
|
Comment on lines
+19
to
+20
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
On the repository's default x86-64-v3 doctest build, each example imports AGENTS.md reference: AGENTS.md:L22-L22 Useful? React with πΒ / π. |
||
| pre-existing off-by-default nightly arm is REQUIRED (not extending it is | ||
| the E0599 hole), and the stable-only rule governs the default build graph, | ||
| which is untouched. Loose end, deliberate: whole-crate wasm compile-check | ||
| is blocked by the pre-existing getrandom wasm dependency gap β the | ||
| wasm-simd-parity sibling crate remains the verification home for that arm. | ||
| Consumer side: lance-graph's mask-algebra arc (D-MAR-1, #1099) is the | ||
| first caller; the codegen probe measured `vpternlogq $0x80` / `vandnps` | ||
| single-instruction lowering under v4. | ||
|
|
||
| ## 2026-07-29 β blake3 dependency DROPPED: call sites swapped to the in-tree module | ||
|
|
||
| Operator: "go ahead" on the rung-3a swap, with the measured cost table in | ||
| hand. This closes the only rung of `the-simd-ladder.md` that carried a cargo | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the scalar backend's
U64x8only,src/simd_scalar.rs:2087enters the minterm logic without theconst { assert!(IMM >= 0 && IMM <= 255, ...) }present onU32x16and the other portable implementations. Consequently, calls such asU64x8::ternlog::<256>compile and silently ignore the out-of-domain bits, so this entry incorrectly records the IMM-domain work as complete; either add that guard or retain this as a loose end.Useful? React with πΒ / π.