Repository navigation
Add typed PredicateCell composition, views and selection (spec #406) - #297
Merged
Merged
Conversation
Adopt PTO spec #406 for logical PredicateCell results, mixed Numeric U8 outputs, basis-independent selection, CELL-aligned typed views and closed two-writer concatenation. Keep indexed memory restricted to M32 and document matching LLVM requirements.
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.
Summary
Adopt PTO-ISA/pto-spec#406 for explicit typed PredicateCell composition. Refs PTO-ISA/pto-spec#349 (remains open for runtime and broader adoption).
Required compiler: LinxISA/llvm-project commit
1ff282e03713b9138aab5b75e916efe7e0cc3bc2, published todev-llvm15_56before this PR. Existing CI resolves that branch SHA when building the matching toolchain.logical_and/or/xorreturning U8-basis PredicateCell, and explicitlogical_numeric<6/7/8>returning Numeric U8 for mixed S8/U8 inputs. Numeric results cannot masquerade as typed predicates.select/select_scalarand typed CELL-alignedsubview.concatenate; no arbitrary OPEN parent or masked-logical MERGE API.ISA contract
At spec merge
149c3a56c130bb6a13cb9f91e1565f084103cb96, double PredicateCell U8 logical inputs produce U8-basis PredicateCell, mixed Numeric produces Numeric U8, typed views preserve basis, and select consumers do not require predicate basis to equal payload type. No new opcode or relaxed model checks.Validation layers
test_reject_unsupported_dtype,test_weight_bundle_uses_shared_nk_contract, importtest_static_valid_shape_lowering. Do not claim this suite is green. Final 15-case suite includes the two subsequently added cases.linxc5a8d19 (feat(tileop): support PTO spec #398 and #399 #296); rerun focused adapters/engine-contract before branch publication.Not claimed
No model/benchmark/ISA modifications; no runtime or TopK numerical PASS. Canonical/defined bytes, inactive no-event behavior, ZERO/MERGE pinned-Q wait/trap recovery still need current-model execution evidence. Main SDK installation is not overwritten with headers requiring a newer compiler. Do not close spec #349 based on compilation alone.
Merge only through the existing required gate and auto-merge workflow; no direct push to
linx.