fix: emit canonical two-binding TSEL and restore check closure - #41
fix: emit canonical two-binding TSEL and restore check closure#41zhoubot wants to merge 3 commits into
Conversation
Hosted gate resultRequired check is green on run 33359574673: Exact evidence from the run: The first run exposed a pre-existing cache correctness bug: the cache key included only LLVM SHA but also restored installed TileOP headers. Commit |
|
@VV0003 跟进提醒:PR #41 的 API-side canonical TSEL lowering 已通过现有 Build/validation check,但仍未合入。 当前 ASL 已明确拒绝旧的单 B.IOT、destination 隐式 false-source 流;SuperScalarModel #338 不会为该 legacy ELF 放宽 validator,并会以“模型侧无待办”关闭。请推进本 PR 合入/安装,随后重编 |
Summary
B.IOTbindings:lastor destination;lastand the new destination;B.IOR.RegSrc1row stride is expressed in bytes.The PTO ISA contract is unchanged. The model's rejection of the previous single-
B.IOTbundle remains correct fail-closed behavior.Root cause
The public in-place API
TSEL(dst, mask, true_src)emitted one terminatingB.IOTand implicitly treated the destination's prior value as the false source. Current PTO-SPEC requires that false source to be bound explicitly. SuperScalarModel therefore rejected the generated ELF before execution.The existing target frontend script also loaded the packaged TileOP API before the checkout under test, so it could not prove source changes. The resource overlay in this PR preserves Clang builtin headers while replacing only
tileop-apiwith the current repository.Validation
The TSEL probe disassembles to:
Tracking
Fixes #39.
Related to #31.
Cross-repository context: