LinxISA v0.57.1 Encoding Decisions¶
This page records the Linx projection of the normative PTO ISA 0.57.1 assignments. Encodings not named here remain defined by the canonical v0.57 opcode catalog and the locked PTO truth source.
Stability Rule¶
Established byte encodings, decode legality, and reserved behavior remain stable for every form not listed here. Legacy compatibility spellings are not revived; active sources accept only canonical v0.57 spellings.
TMA Function Window¶
All rows below use the TMA header pattern:
31..27=DataType, 26..25=00, 24..20=Function,
19..15=00010, 14..0 fixed block-split tail.
The mask excludes DataType and includes the function selector and fixed tail:
mask=0x07ffffff.
| Function | Alias | Match | Decision |
|---|---|---|---|
| 0 | BSTART.TLOAD |
0x00011181 |
canonical |
| 1 | BSTART.TSTORE |
0x00111181 |
canonical |
| 2 | BSTART.TMOV |
0x00211181 |
canonical |
| 3 | BSTART.TPREFETCH |
0x00311181 |
new v0.57 selector |
| 4 | BSTART.MGATHER |
0x00411181 |
new v0.57 selector |
| 5 | BSTART.MSCATTER |
0x00511181 |
new v0.57 selector |
| 6 | BSTART.MGATHER.MASK |
0x00611181 |
new v0.57 selector |
| 7 | BSTART.MSCATTER.MASK |
0x00711181 |
new v0.57 selector |
| 8 | BSTART.MGATHER.CAS |
0x00811181 |
new v0.57 selector |
| 9..31 | reserved | — | illegal instruction |
BSTART.TPREFETCH deliberately occupies the adjacent function slot after
TLOAD, TSTORE, and TMOV. It is not allocated in a distant extension
window.
TPREFETCH Encoding Contract¶
BSTART.TPREFETCH is encoded as TMA Function=3:
- mask:
0x07ffffff - match:
0x00311181 DataTyperemains the existing 5-bit TMA data-type field.
Architecturally, TPREFETCH is TLOAD without destinations. It uses the same
address-generation and memory contract as TLOAD, but it must not allocate or
write a tile destination.
PTO selector manifest rule¶
The exact 120-operation PTO map (98 TEPL, 9 TMA, and 13 CUBE) is the reviewed projection in:
isa/v0.57/state/pto_encoding_map.json
Its normative input is the commit and hashes frozen by
isa/v0.57/pto-spec.lock.json; no workbook allocates an encoding. TEPL uses
the raw two-bit Mode plus five-bit Function fields, so the logical selector
is (Mode << 5) | Function. Exactly 98 of the 128 selector positions are
accepted and the other 30 are reserved. The generator rejects any attempt to
recover the retired 10-bit selector ABI.
CUBE Function Map¶
The PTO matrix rows use the inherited CUBE family plus named aliases:
| Function | Canonical alias | PTO spelling |
|---|---|---|
| 0 | BSTART.TMATMUL |
TMATMUL |
| 1 | BSTART.TMATMUL.BIAS |
TMATMUL_BIAS |
| 2 | BSTART.TMATMUL.ACC |
TMATMUL_ACC |
| 4 | BSTART.TMATMULMX |
TMATMUL_MX |
| 5 | BSTART.TMATMULMX.BIAS |
TMATMUL_MX_BIAS |
| 6 | BSTART.TMATMULMX.ACC |
TMATMUL_MX_ACC |
| 8 | BSTART.ACCCVT |
ACCCVT |
| 16 | BSTART.TGEMV |
TGEMV |
| 17 | BSTART.TGEMV.BIAS |
TGEMV_BIAS |
| 18 | BSTART.TGEMV.ACC |
TGEMV_ACC |
| 20 | BSTART.TGEMVMX |
TGEMV_MX |
| 21 | BSTART.TGEMVMX.BIAS |
TGEMV_MX_BIAS |
| 22 | BSTART.TGEMVMX.ACC |
TGEMV_MX_ACC |
Only these 13 assigned named CUBE functions are legal. Every unassigned
function is an illegal instruction; there is no generic executable
BSTART.CUBE Function, DataType form. ACC is implicit architectural state and
is never named by a B.IOT source or destination field.
Scalar Encoding Evidence¶
v0.57 adds the following 32-bit encodings from LinxISA/linx-isa#139 while
leaving the existing 48-bit HL.CAS* forms unchanged:
| Form | Mask | Match | v0.57 decision |
|---|---|---|---|
CASB |
0x0000707f |
0x0000001b |
32-bit local byte compare-and-swap |
CASH |
0x0000707f |
0x0000101b |
32-bit local halfword compare-and-swap |
CASW |
0x0000707f |
0x0000201b |
32-bit local word compare-and-swap |
CASD |
0x0000707f |
0x0000301b |
32-bit local doubleword compare-and-swap |
DMA |
0xfe007fff |
0x0000700b |
32-bit encoding of the inherited fixed 64-byte copy |
For DMA, SrcL remains the source address and SrcR remains the destination
address. PR #139 does not allocate a control-word format; its provisional
“control parameters” wording is non-normative.
Rejection Rules¶
Assemblers, decoders, and tests must reject:
- generic mixed TMA source forms,
- unassigned TMA functions,
- all 30 reserved TEPL Mode/Function selectors,
- generic
BSTART.CUBEandBSTART.FIXP, - the retired B.ARG Tile descriptor carrier,
TFMA,TFMOD,TFMODS,TADDC,TSUBC,TADDSC,TSUBSC,TLRELU, andTRANDOM,- retired compatibility spellings from pre-v0.57 sources,
- PTO operations not present in the frozen 0.57.1 manifest.