Repository navigation
Unify active identity to PTO ISA 0.59.0.0 and add TLEA wrapper - #286
Merged
Merged
Conversation
Move the active encoding identity (ABI, encoding-projection SHA-256, ELF release field) from the PTO 0.58.7 development golden to the published PTO ISA v0.59.0.0 release (commit b016532); unify the 0.58.7/v058 active naming; add the TLEA JCORE inline-asm wrapper and its usage page. - Identity carriers -> 0.59.0: verify_pto_identity.py ELF note, pto_tileop_api_revision.hpp, Makefile, engine-ops pto_source, engine-contract test. Rework the sync tool to read the release manifest (fail-closed), renamed sync_linxisa_v058_contract.py -> sync_pto_isa_0590_contract.py. - Keep the real LinxISA v0.58 source (no 0.59 profile) and record the development-golden lock under pto_source.development_lock. The 119-op Tile catalog is byte-identical between 0.58.7 and 0.59.0.0; only the encoding identity moved. Release manifest status is draft and numeric conformance is limited; recorded faithfully. - Rename contracts/pto-isa-0.58.7-tile-operations.json -> pto-isa-0.59.0-tile-operations.json; historical/migration material keeps its old-version identity. - TLEA (selector 0x2E, VEC; S32/U32/S64/U64 -> S64/U64 byte offsets, RowMajor; fail-closed on CUBE_M32/Shared): wrapper in jcore/template_asm.hpp, usage page, support-status, engine-contract + capability tests, positive/negative target fixtures. Backends declared separately (JCORE only; no CPU sim/AArch64). Verified: make check (exit 0); host-shim template instantiation; and on the updated Linx toolchain, real target compile + disassembly of the TLEA bundle and all 8 TLEA negative static_asserts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reconcile with upstream #282 (TLEA binding) / #283 (0.59.0 display relabel) / #284 while keeping the full active-identity migration to the PTO ISA v0.59.0.0 release. - Identity/naming (this PR's delta): keep the full move — ABI pto-isa-0.59.0-mode-function-v1, encoding-projection SHA 91509080..., ELF note, contracts/pto-isa-0.59.0-tile-operations.json, engine-ops pto_source release provenance, reworked sync_pto_isa_0590_contract.py. This supersedes #283's display-only relabel, which left verify_pto_identity / the contract filename / engine-ops at 0.58.7. - TLEA: adopt upstream #282's wrapper and TLEA.md; drop this branch's duplicate TLEA wrapper, its TLEA-specific tests, and the Tlea/TleaNegatives target fixtures + harness wiring (upstream's binding is canonical). Keep the shared selector-46 reassignment in the engine-contract test. - support-status TLEA row updated to upstream's wrapper (RowMajor + CUBE_M32). - Regenerated generated/engines.md. make check passes (exit 0). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
目标
将活动编码身份统一到 PTO ISA v0.59.0.0 发布基线,统一
0.58.7/v058的活动命名,并为 TLEA 增加 wrapper 与 usage 页。变更
① 编码身份 / ABI / projection-SHA → PTO v0.59.0.0
0.59.0:verify_pto_identity.py的 ELF note、pto_tileop_api_revision.hpp、Makefile、engine-ops 的pto_source、engine 契约测试。sync_linxisa_v058_contract.py→sync_pto_isa_0590_contract.py。PTO-ISA/pto-specv0.59.0.0(commitb016532)核验:ABIpto-isa-0.59.0-mode-function-v1、projection SHA91509080…、release 字段0.59.0。pto_source.development_lock;发布 manifest 自身为draft、数值 conformance 受限,均如实记录。119 操作 catalog 与 0.58.7 逐字节一致,仅 encoding identity 变化。②
0.58.7/v058命名统一contracts/pto-isa-0.58.7-tile-operations.json→pto-isa-0.59.0-tile-operations.json,并更新全部引用。历史/迁移材料保留旧版本身份,未做机械替换。③ TLEA wrapper + usage 页 + 解卡文档生成器
TLEA.asl、lea-operands.asl)在jcore/template_asm.hpp新增 JCORE wrapper:selector0x2E、VEC、S32/U32/S64/U64 → S64/U64 字节偏移、仅 RowMajor,对 CUBE_M32/Shared 编译期 fail-closed。support-status.md(按后端分别声明:仅 JCORE,无 CPU-sim/AArch64)、新增契约与能力测试、正/负向目标 fixture。验证
make check:exit 0(catalog alignment = PTO 0.59.0.0 release 119 项;120 个 usage 示例编译通过,含 TLEA)。static_assert拒绝。dev-llvm15_56@084bbc311):Tlea编到对象,反汇编确认BSTART.TEPL 46字节偏移 bundle 正确;run_negatives.sh中 8 个 TLEA 用例全部通过。🤖 Generated with Claude Code