跳到主要内容

TPACK

Pack two low-order raw byte fields into Local U32 CUBE words.

PTO-TILE-TPACK

汇编格式

1. 高层汇编

TPACK <LB0, LB1, LB2, Layout> SrcTile0, SrcTile1, Scalar0 -> DstTile
显示高层汇编 operand 到 owning ASL 的映射
高层汇编 operand 的 source binding
分组Operand含义ASL 来源
参数LB0dimensionB.DIM LB0 (optional)
参数LB1dimensionB.DIM LB0/LB1/LB2 (optional)
参数LB2dimensionB.DIM LB0/LB1/LB2 (optional)
参数LayoutlayoutB.DATR Layout (optional)
输入SrcTile0source0contract.operands[1].source0
输入SrcTile1source1contract.operands[2].source1
输入Scalar0pack-controlcontract.operands[3].scalar0
输出DstTiledestinationcontract.operands[0].destination0

2. 完整 Bundle Assembly

直接来自 owner metadata

BSTART.SFU TPACK, U32

  1. 1BSTART.SFU TPACK, U32必选
  2. 2B.DATR Layout (optional)可选
  3. 3B.DIM LB0 (optional)可选
  4. 4B.IOT source0, source1, ->destination必选
  5. 5B.IOR pack_control必选
  6. 6BSTOP必选
最短 source-declared bundle
BSTART.SFU TPACK, U32B.IOT source0, source1, ->destinationB.IOR pack_controlBSTOP
展开 Bundle 规则、互斥关系与示例
  • BSTART.SFU TPACK, U32
  • B.DATR Layout (optional)
  • B.DIM LB0/LB1/LB2 (optional)
  • B.IOT source0, source1, ->destination
  • B.IOR pack_control
  • BSTOP
BSTART.SFU TPACK, U32; B.DATR Layout; B.IOT source0, source1, ->destination; B.IOR a0; BSTOP

汇编符号

汇编字段与架构角色
字段位宽有符号性架构角色编码零
DataType5encoding-defined——
Mode2encoding-defined——
Function5encoding-defined——
destination0——destination—
source0——source0—
source1——source1—
scalar0——pack-control—

编码

Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.

Encoding fields as an accessible table
Generated encoding fields for BSTART.TEPL Mode, Function, DataType
Decoded itemBit rangeValue
DataType31:27variable
Mode26:25variable
Function24:20variable
Constant19:020'b00011001000110000001
WaveJSON source
{
  "reg": [
    {
      "bits": 20,
      "name": "20'b00011001000110000001"
    },
    {
      "bits": 5,
      "name": "Function"
    },
    {
      "bits": 2,
      "name": "Mode"
    },
    {
      "bits": 5,
      "name": "DataType"
    }
  ],
  "config": {
    "bits": 32,
    "fontsize": 13,
    "hspace": 900,
    "lanes": 1,
    "offset": 0
  }
}

BSTART.TEPL Mode, Function, DataType

指令契约

操作数与参数

destination0
destination
source0
source0
source1
source1
scalar0
pack-control

约束、检查与 Fault

  • TPACK accepts only Local U32 CUBE_M16 or CUBE_M32 sources and a fresh matching destination.
  • The control selects two low-order byte fields with widths 1..3 whose sum is at most four.
  • The result is raw zero-filled field assembly with no numeric conversion.
  • Illegal field widths reject with Fault_TileLegality before effects.
  • CompleteBundleAtWithAcceptedApplicabilityRules supplies restart and completion behavior.

状态读取、写入与结果

  • Pack corresponding source U32 words independently in every active CUBE word group.
  • none
  • Control and source validation precede destination publication.

ASL 伪代码

下面是该指令所有者中的 Operation;页面没有重写这段行为。

Decode 源绑定

readonly func InstructionContractOperation_TPACK() => TileOperationbegin    return TileOperation_TPACK;end;

Operation 源绑定

readonly func InstructionContractHandler_TPACK() => TileSemanticHandlerbegin    return TileHandler_TPACK;end;
pure func InstructionContractDataTypeLegal_TPACK(    data_type: TileDataType) => booleanbegin    return data_type == TileDataType_U32;end;
readonly func InstructionContractOperandsLegal_TPACK(    destination: TileIndex, source0: TileIndex,    source1: TileIndex, control: Word) => booleanbegin    return TileOperandsLegal_TPACK(destination, source0, source1, control);end;
func InstructionContractExecute_TPACK(    destination: TileIndex, source0: TileIndex,    source1: TileIndex, control: Word)begin    assert InstructionContractOperandsLegal_TPACK(        destination, source0, source1, control);    TPACK(destination, source0, source1, control);end;
查看完整 ASL 所有者
// PTO-INSTRUCTION: {"assembly":["TPACK <bundle operands>"],"block":["BSTART.SFU TPACK, U32","B.DATR Layout (optional)","B.DIM LB0 (optional)","B.IOT source0, source1, ->destination","B.IOR pack_control","BSTOP"],"catalog_indices":[105],"catalog_records":[{"arguments":[{"operand":"destination0"},{"operand":"source0"},{"operand":"source1"},{"operand":"scalar0"}],"command_mnemonic":"BSTART.TEPL","contract_status":"reviewed-complete","datr_contract":{"allowed_nonzero_fields":["Layout"],"pad_union":"must-zero"},"disposition":"accepted-direct-operation","effect_contract":"TPACK","family":"TEPL","fault_contract":"ExecuteTileInstruction","function":23,"legality_handler":"TileOperandsLegal_TPACK","mode":3,"name":"TPACK","operands":[{"field":"destination0","role":"destination"},{"field":"source0","role":"source0"},{"field":"source1","role":"source1"},{"field":"scalar0","role":"pack-control"}],"restart_contract":"CompleteBundleAtWithAcceptedApplicabilityRules","selector":"0x077","semantic_handler":"TPACK","state_effects":["operand:destination0:destination","operand:source0:source0","operand:source1:source1","operand:scalar0:pack-control"]}],"classification":["layout-and-rearrangement","layout"],"contract":{"block_composition":["BSTART.SFU TPACK, U32","B.DATR Layout (optional)","B.DIM LB0/LB1/LB2 (optional)","B.IOT source0, source1, ->destination","B.IOR pack_control","BSTOP"],"canonical_assembly":["TPACK <bundle operands>"],"defaults":["A nonzero PE mask requires exactly one B.IOR control input; RegSrc1, RegSrc2, and RegDst are zero."],"encoding_class":"selector-encoded-block-operation","examples":["BSTART.SFU TPACK, U32; B.DATR Layout; B.IOT source0, source1, ->destination; B.IOR a0; BSTOP"],"exceptions":["Illegal field widths reject with Fault_TileLegality before effects.","CompleteBundleAtWithAcceptedApplicabilityRules supplies restart and completion behavior."],"field_contracts":{},"field_zero_meanings":{},"legality":["TPACK accepts only Local U32 CUBE_M16 or CUBE_M32 sources and a fresh matching destination.","The control selects two low-order byte fields with widths 1..3 whose sum is at most four.","The result is raw zero-filled field assembly with no numeric conversion."],"memory_effects":["none"],"operands":[{"field":"destination0","role":"destination"},{"field":"source0","role":"source0"},{"field":"source1","role":"source1"},{"field":"scalar0","role":"pack-control"}],"ordering":["Control and source validation precede destination publication."],"standalone_opcode":false,"state_effects":["Pack corresponding source U32 words independently in every active CUBE word group."]},"depends_on":["PTO-TILE-MODEL-EXECUTION-REARRANGEMENT","PTO-TILE-MODEL-LEGALITY-LAYOUT-REARRANGEMENT"],"engine":"SFU","id":"PTO-TILE-TPACK","mnemonic":"TPACK","summary":"Pack two low-order raw byte fields into Local U32 CUBE words.","surface":"tile"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-TPACK-CONTRACT-001// ndf: kind=contract level=L1 layer=tile status=accepted// TPACK assembles two low-order byte fields into each corresponding U32 word.// Widths are explicit control bytes in 1..3 with total width at most four;// all unselected result bits are zero.// NDF-END: PTO-TPACK-CONTRACT-001// DOC-BEGIN: decodereadonly func InstructionContractOperation_TPACK() => TileOperationbegin    return TileOperation_TPACK;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_TPACK() => TileSemanticHandlerbegin    return TileHandler_TPACK;end;
pure func InstructionContractDataTypeLegal_TPACK(    data_type: TileDataType) => booleanbegin    return data_type == TileDataType_U32;end;
readonly func InstructionContractOperandsLegal_TPACK(    destination: TileIndex, source0: TileIndex,    source1: TileIndex, control: Word) => booleanbegin    return TileOperandsLegal_TPACK(destination, source0, source1, control);end;
func InstructionContractExecute_TPACK(    destination: TileIndex, source0: TileIndex,    source1: TileIndex, control: Word)begin    assert InstructionContractOperandsLegal_TPACK(        destination, source0, source1, control);    TPACK(destination, source0, source1, control);end;// DOC-END: operation

行为

用途

使用场景。 TPACK 将两个对应的 Local U32 CUBE 字中的低位字节字段拼接起来,适用于按原始存储形式重排字段而不进行数值转换的场景。

执行过程

工作方式。 对于每个活动字位置,source0 中选定的低位字节占据目标的低位字节,source1 中选定的低位字节紧随其后,目标中其余所有位均为零。

输入与输出

输入与结果。 source0 和 source1 是布局与几何形状匹配的 Local U32 CUBE_M16 或 CUBE_M32 Tile,pack_control 提供两个字段宽度,destination 是具有匹配布局与几何形状的新 Tile。

架构效果

效果。 完整的控制信息与源数据校验先于完整定义的目标有效区域发布;源 Tile 保持不变,目标填充为 Null,且该操作不产生内存效果。

约束与非法情形

拒绝条件。 每个字段宽度必须在 1 到 3 之间,两者之和不得超过 4,控制位 63:32 必须为零,并且目标不得与任一源重叠;任何拒绝都发生在目标产生效果之前。

示例演示

具体示例。 对于对应的源字 0x00001234 和 0x00ABCDEF,控制值 0x00000202 从每个源中选择两个低位字节,得到 0xCDEF1234。

NDF 条款

正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。

    1. surfaceTILE
    2. ownerTPACK
    3. categoryCONTRACT
    4. case001

    规范契约

    contract · L1 · accepted

    TPACK assembles two low-order byte fields into each corresponding U32 word. Widths are explicit control bytes in 1..3 with total width at most four; all unselected result bits are zero.

    来源与引用
    完整稳定 ID
    PTO-TPACK-CONTRACT-001
    来源路径
    asl/tile/layout-and-rearrangement/layout/TPACK.asl
    适用单元
    PTO-TILE-TPACK
    源 SHA-256
    3744e3f592f0b88d44806845a029be372fc48a8565a8ff4702d07a3631a5a7a0
    条款 SHA-256
    441a5b19f6da84cc48f6c4786b6df464a581b0920a8d42e73616e314b468ed3c
    打开精确 canonical source ↗

Evidence index

9 matching entries

Executable evidence2
  • TPACK assembles two low-order byte fields per U32 word.
    1. surfaceTILE
    2. ownerTPACK
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TPACK-FIELDS-001
    Path
    tests/asl/tile/layout-and-rearrangement/layout/TPACK/tile-exec-tpack-fields-001.asl
    Kind / role
    execution
    Requirements
    PTO-TPACK-CONTRACT-001, PTO-INST-TILE-TPACK
    Pass condition
    The destination contains the selected source fields with zeroed upper bits.
    SHA-256
    f3269ea2913bebdd8053337720a0a8da08e97661a112006f849efd8eff9c7e2f
    Open exact source ↗ for PTO-AVS-TILE-TPACK-FIELDS-001
  • canonical TPACK catalog and ASL contract remain aligned
    1. surfaceTILE
    2. ownerTPACK
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TPACK-STATIC-001
    Path
    tests/asl/tile/layout-and-rearrangement/layout/TPACK/tile-static-tpack-contract-001.asl
    Kind / role
    static-invariant
    Requirements
    PTO-INST-TILE-TPACK
    Pass condition
    all canonical decode and contract assertions hold
    SHA-256
    94f5ade767e412e858f01a8b835ff9a28f429817e6c9daa71f951574c5b7851c
    Open exact source ↗ for PTO-AVS-TILE-TPACK-STATIC-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST
Decision history2
  • Private CUBE vector execution and CELL rearrangement · accepted
    1. decision recordADR
    2. case0103

    Decision record

    Loading ADR-0103…

    Sources and references
    Complete stable ID
    ADR-0103
    Path
    docs/status/decisions/0103-private-cube-vector-and-cell-rearrangement.md
    Affected units
    PTO-TILE-TPACK, PTO-TILE-TPERMUTE, PTO-TILE-TSHUF, PTO-TILE-TUNPACK
    Affected NDF
    PTO-TPACK-CONTRACT-001, PTO-TPERMUTE-CONTRACT-001, PTO-TSHUF-CONTRACT-001, PTO-TUNPACK-CONTRACT-001
    SHA-256
    3b3d67683fb0987dc85ba20c2d2effef9e7e1b170d3950cb505cc1f3ab6109d7
    Open exact decision source ↗ for ADR-0103
  • PTO ISA 0.58.4.1 to 0.58.5 compatibility boundary · accepted
    1. decision recordADR
    2. case0108

    Decision record

    Loading ADR-0108…

    Sources and references
    Complete stable ID
    ADR-0108
    Path
    docs/status/decisions/0108-0584-1-to-0585-compatibility.md
    Affected units
    PTO-ARCH-FEATURES-TILE-ALLOCATION, PTO-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS, PTO-ARCH-OVERVIEW-ENCODING-OWNERSHIP, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-BSTART-TLOAD, PTO-BLOCK-BSTART-TMATMUL, PTO-BLOCK-BSTART-TMATMUL-ACC, PTO-BLOCK-BSTART-TMATMUL-BIAS, PTO-BLOCK-BSTART-TMATMULMX, PTO-BLOCK-BSTART-TMATMULMX-ACC, PTO-BLOCK-BSTART-TMATMULMX-BIAS, PTO-BLOCK-BSTART-TMOV, PTO-BLOCK-BSTART-TSTORE, PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL, PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY, PTO-BLOCK-MODEL-DISPATCH-DESTINATION-SHAPE, PTO-BLOCK-MODEL-DISPATCH-PARTIAL-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SHARED-CUBE-MATRIX, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TLSU-LAYOUT-CONVERSION, PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-TILE-GMOV, PTO-TILE-MGATHER, PTO-TILE-MGATHER-CAS, PTO-TILE-MGATHER-MASK, PTO-TILE-MSCATTER, PTO-TILE-MSCATTER-MASK, PTO-TILE-TCI, PTO-TILE-TCONCAT, PTO-TILE-TDEQUANT, PTO-TILE-TEXTRACT, PTO-TILE-TFILLPAD, PTO-TILE-TGATHER, PTO-TILE-TGEMV, PTO-TILE-TGEMV-ACC, PTO-TILE-TGEMV-BIAS, PTO-TILE-TGEMV-MX, PTO-TILE-TGEMV-MX-ACC, PTO-TILE-TGEMV-MX-BIAS, PTO-TILE-THISTOGRAM, PTO-TILE-TINSERT, PTO-TILE-TLOAD, PTO-TILE-TMATMUL, PTO-TILE-TMATMUL-ACC, PTO-TILE-TMATMUL-BIAS, PTO-TILE-TMATMUL-MX, PTO-TILE-TMATMUL-MX-ACC, PTO-TILE-TMATMUL-MX-BIAS, PTO-TILE-TMOV, PTO-TILE-TMRGSORT, PTO-TILE-TPACK, PTO-TILE-TPARTADD, PTO-TILE-TPARTMAX, PTO-TILE-TPARTMIN, PTO-TILE-TPARTMUL, PTO-TILE-TPERMUTE, PTO-TILE-TPREFETCH, PTO-TILE-TQUANT, PTO-TILE-TSCATTER, PTO-TILE-TSHUF, PTO-TILE-TSORT, PTO-TILE-TSTORE, PTO-TILE-TTRANS, PTO-TILE-TTRI, PTO-TILE-TUNPACK, PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX, PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT, PTO-TILE-MODEL-EXECUTION-COMPLEX, PTO-TILE-MODEL-EXECUTION-GENERATION, PTO-TILE-MODEL-EXECUTION-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-ALLOCATION-CAPACITY, PTO-TILE-MODEL-LEGALITY-DTYPE-LAYOUT, PTO-TILE-MODEL-LEGALITY-INDEXED-LAYOUT, PTO-TILE-MODEL-LEGALITY-LAYOUT-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-OPERAND-SCHEMA, PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT, PTO-TILE-MODEL-STATE-DESCRIPTORS, PTO-TILE-MODEL-STATE-SHARED-REGISTERS, PTO-TILE-MODEL-STATE-TYPES
    Affected NDF
    PTO-ARCH-GM-ACCESS-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-IOT-STREAM-001, PTO-B-SHARED-WHOLE-PARENT-READY-001, PTO-B-SUBVIEW-SHARED-PER-PE-001, PTO-BSTART-TLOAD-MEMORY-001, PTO-BSTART-TMOV-SHARED-001, PTO-BSTART-TSTORE-MEMORY-001, PTO-INST-BLOCK-B-IOS, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-BSTART-TLOAD, PTO-INST-BLOCK-BSTART-TMATMUL, PTO-INST-BLOCK-BSTART-TMATMUL-ACC, PTO-INST-BLOCK-BSTART-TMATMUL-BIAS, PTO-INST-BLOCK-BSTART-TMATMULMX, PTO-INST-BLOCK-BSTART-TMATMULMX-ACC, PTO-INST-BLOCK-BSTART-TMATMULMX-BIAS, PTO-INST-BLOCK-BSTART-TMOV, PTO-INST-BLOCK-BSTART-TSTORE, PTO-INST-TILE-GMOV, PTO-INST-TILE-MGATHER, PTO-INST-TILE-MGATHER-CAS, PTO-INST-TILE-MGATHER-MASK, PTO-INST-TILE-MSCATTER, PTO-INST-TILE-MSCATTER-MASK, PTO-INST-TILE-TCI, PTO-INST-TILE-TCONCAT, PTO-INST-TILE-TDEQUANT, PTO-INST-TILE-TEXTRACT, PTO-INST-TILE-TFILLPAD, PTO-INST-TILE-TGATHER, PTO-INST-TILE-TGEMV, PTO-INST-TILE-TGEMV-ACC, PTO-INST-TILE-TGEMV-BIAS, PTO-INST-TILE-TGEMV-MX, PTO-INST-TILE-TGEMV-MX-ACC, PTO-INST-TILE-TGEMV-MX-BIAS, PTO-INST-TILE-THISTOGRAM, PTO-INST-TILE-TINSERT, PTO-INST-TILE-TLOAD, PTO-INST-TILE-TMATMUL, PTO-INST-TILE-TMATMUL-ACC, PTO-INST-TILE-TMATMUL-BIAS, PTO-INST-TILE-TMATMUL-MX, PTO-INST-TILE-TMATMUL-MX-ACC, PTO-INST-TILE-TMATMUL-MX-BIAS, PTO-INST-TILE-TMOV, PTO-INST-TILE-TMRGSORT, PTO-INST-TILE-TPACK, PTO-INST-TILE-TPARTADD, PTO-INST-TILE-TPARTMAX, PTO-INST-TILE-TPARTMIN, PTO-INST-TILE-TPARTMUL, PTO-INST-TILE-TPERMUTE, PTO-INST-TILE-TPREFETCH, PTO-INST-TILE-TQUANT, PTO-INST-TILE-TSCATTER, PTO-INST-TILE-TSHUF, PTO-INST-TILE-TSORT, PTO-INST-TILE-TSTORE, PTO-INST-TILE-TTRANS, PTO-INST-TILE-TTRI, PTO-INST-TILE-TUNPACK, PTO-ISA-LEGACY-SHARED-MOVEMENT-001, PTO-TFILLPAD-CONTRACT-001, PTO-TLOAD-MEMORY-001, PTO-TMATMUL-ACC-CONTRACT-001, PTO-TMATMUL-BIAS-CONTRACT-001, PTO-TMATMUL-CONTRACT-001, PTO-TMATMUL-MX-ACC-CONTRACT-001, PTO-TMATMUL-MX-BIAS-CONTRACT-001, PTO-TMATMUL-MX-CONTRACT-001, PTO-TPACK-CONTRACT-001, PTO-TPARTADD-CONTRACT-001, PTO-TPARTMAX-CONTRACT-001, PTO-TPARTMIN-CONTRACT-001, PTO-TPARTMUL-CONTRACT-001, PTO-TPERMUTE-CONTRACT-001, PTO-TSHUF-CONTRACT-001, PTO-TSTORE-MEMORY-001, PTO-TTRANS-CONTRACT-001, PTO-TUNPACK-CONTRACT-001
    SHA-256
    5689fa78a7291b6ae88d55197205e4cf79e9719ee5ba18ebf186f5c6871c350d
    Open exact decision source ↗ for ADR-0108

Unit metadata

Open 12 generated metadata fields
assembly
[
  "TPACK <bundle operands>"
]
block
[
  "BSTART.SFU TPACK, U32",
  "B.DATR Layout (optional)",
  "B.DIM LB0 (optional)",
  "B.IOT source0, source1, ->destination",
  "B.IOR pack_control",
  "BSTOP"
]
catalog_indices
[
  105
]
catalog_records
[
  {
    "arguments": [
      {
        "operand": "destination0"
      },
      {
        "operand": "source0"
      },
      {
        "operand": "source1"
      },
      {
        "operand": "scalar0"
      }
    ],
    "command_mnemonic": "BSTART.TEPL",
    "contract_status": "reviewed-complete",
    "datr_contract": {
      "allowed_nonzero_fields": [
        "Layout"
      ],
      "pad_union": "must-zero"
    },
    "disposition": "accepted-direct-operation",
    "effect_contract": "TPACK",
    "family": "TEPL",
    "fault_contract": "ExecuteTileInstruction",
    "function": 23,
    "legality_handler": "TileOperandsLegal_TPACK",
    "mode": 3,
    "name": "TPACK",
    "operands": [
      {
        "field": "destination0",
        "role": "destination"
      },
      {
        "field": "source0",
        "role": "source0"
      },
      {
        "field": "source1",
        "role": "source1"
      },
      {
        "field": "scalar0",
        "role": "pack-control"
      }
    ],
    "restart_contract": "CompleteBundleAtWithAcceptedApplicabilityRules",
    "selector": "0x077",
    "semantic_handler": "TPACK",
    "state_effects": [
      "operand:destination0:destination",
      "operand:source0:source0",
      "operand:source1:source1",
      "operand:scalar0:pack-control"
    ]
  }
]
classification
[
  "layout-and-rearrangement",
  "layout"
]
contract
{
  "block_composition": [
    "BSTART.SFU TPACK, U32",
    "B.DATR Layout (optional)",
    "B.DIM LB0/LB1/LB2 (optional)",
    "B.IOT source0, source1, ->destination",
    "B.IOR pack_control",
    "BSTOP"
  ],
  "canonical_assembly": [
    "TPACK <bundle operands>"
  ],
  "defaults": [
    "A nonzero PE mask requires exactly one B.IOR control input; RegSrc1, RegSrc2, and RegDst are zero."
  ],
  "encoding_class": "selector-encoded-block-operation",
  "examples": [
    "BSTART.SFU TPACK, U32; B.DATR Layout; B.IOT source0, source1, ->destination; B.IOR a0; BSTOP"
  ],
  "exceptions": [
    "Illegal field widths reject with Fault_TileLegality before effects.",
    "CompleteBundleAtWithAcceptedApplicabilityRules supplies restart and completion behavior."
  ],
  "field_contracts": {},
  "field_zero_meanings": {},
  "legality": [
    "TPACK accepts only Local U32 CUBE_M16 or CUBE_M32 sources and a fresh matching destination.",
    "The control selects two low-order byte fields with widths 1..3 whose sum is at most four.",
    "The result is raw zero-filled field assembly with no numeric conversion."
  ],
  "memory_effects": [
    "none"
  ],
  "operands": [
    {
      "field": "destination0",
      "role": "destination"
    },
    {
      "field": "source0",
      "role": "source0"
    },
    {
      "field": "source1",
      "role": "source1"
    },
    {
      "field": "scalar0",
      "role": "pack-control"
    }
  ],
  "ordering": [
    "Control and source validation precede destination publication."
  ],
  "standalone_opcode": false,
  "state_effects": [
    "Pack corresponding source U32 words independently in every active CUBE word group."
  ]
}
depends_on
[
  "PTO-TILE-MODEL-EXECUTION-REARRANGEMENT",
  "PTO-TILE-MODEL-LEGALITY-LAYOUT-REARRANGEMENT"
]
engine
SFU
id
PTO-TILE-TPACK
mnemonic
TPACK
summary
Pack two low-order raw byte fields into Local U32 CUBE words.
surface
tile
Open generated traceability record
{
  "classification": [
    "layout-and-rearrangement",
    "layout"
  ],
  "documentation": "docs/tile/layout-and-rearrangement/layout/TPACK.md",
  "id": "PTO-TILE-TPACK",
  "instruction_contract": {
    "artifact": "spec/evidence/instruction-contract-closure.json",
    "mnemonic": "TPACK",
    "ndf_clause": "PTO-INST-TILE-TPACK"
  },
  "mnemonic": "TPACK",
  "readiness_subjects": [
    "ADR-0103",
    "ADR-0108"
  ],
  "semantic_tests": [
    "PTO-AVS-TILE-TPACK-FIELDS-001"
  ],
  "source": "asl/tile/layout-and-rearrangement/layout/TPACK.asl",
  "surface": "tile",
  "tests": [
    "PTO-AVS-TILE-TPACK-FIELDS-001",
    "PTO-AVS-TILE-TPACK-STATIC-001"
  ]
}

来源与发布信息

展开 commit、路径、hash、版本和规范所有者
发布
0.58.5 · 候选发布
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
3744e3f592f0b88d44806845a029be372fc48a8565a8ff4702d07a3631a5a7a0
文档 SHA-256
7bb3478e653c3adedcc5772c58ca84364cf2fa1bf8f686c3f9b53303eac46e95

精确所有者