6. PTO 汇编(PTO-AS)¶
6.1 范围¶
本章定义 PTO-AS 作为 PTO 程序文本形态的虚拟 ISA 契约。 规范文法仍以以下文档为准:
docs/assembly/PTO-AS_zh.mddocs/assembly/PTO-AS.bnf
6.2 核心形式¶
PTO-AS 采用面向指令的 SSA 风格文本形式。 典型语句形态如下:
%dst = tadd %src0, %src1 : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>;
文本形式在往返工具链下 SHOULD 保持确定性。
6.3 操作数类别¶
PTO-AS 操作数包括:
- Tile 操作数
- 内存/全局操作数
- 标量/立即数操作数
- 事件/依赖操作数(如适用)
- 以属性字典表示的修饰符
每个指令族 MUST 定义必需操作数类别与位置约束。
6.4 属性与修饰符契约¶
属性 MUST 定义:
- 名称与类型
- 合法取值域
- 默认值策略(如存在)
- 语义影响
- 非法值的诊断行为
6.5 结构合法性规则¶
结构合法的 PTO-AS 程序 MUST 满足:
- 操作数/结果元数一致
- 操作契约要求的类型类别兼容
- 必需属性存在
- 语句可解析且满足 schema 约束
6.6 诊断契约¶
PTO-AS 诊断 MUST 满足:
- 解析与结构错误具备定位信息
- 对等价输入具备确定性
- 提供期望约束与实际输入的可执行信息
6.7 兼容与演进¶
PTO-AS 演进 SHOULD 以增量扩展为主。 破坏性语法变更 MUST 版本化并提供迁移说明。 工具链 MUST 对不支持语法给出确定性拒绝诊断。