ADR 0035: VEC/SFU carrier totality and profile boundary
Historical-evidence note: test paths named below record the evidence used when this ADR was accepted; they are not active architecture or release owners. Current ownership is the four-surface ASL tree, with per-ID AVS coverage projected into
spec/evidence/release-traceability-readiness.json.
Context
S4-T8 requires every accepted VEC/SFU carrier selector to have a decoded, executable,
pre-effect legality path and a deterministic PTO-v0 reference effect. TEPL also
contains arithmetic and conversion mnemonics whose target numerical behavior is
not yet a closed conformance claim.
The Stage 4 closure therefore needs to separate two questions:
- whether each selector is accepted, reaches one checked handler, rejects illegal operands before effects, and has deterministic raw-carrier behavior;
- whether that raw-carrier behavior matches a future hardware or numerical profile for floating-point, quantization, rounding, saturation, and exceptional values.
Only the first question is closed by this decision. The second remains assigned
to S5-T2.
Decision
PTO-v0 TEPL accepts all 98 catalogued VEC/SFU carrier selectors as raw XLEN-carrier
operations. All 25 architectural TileDataType values are legal carriers under
the reference profile. Floating, quantized, rounded, saturated, and exceptional
numeric interpretations remain named profile hooks and are not promoted to
target conformance by this ADR.
Generic TEPL indexing accepts row-major and column-major tile layouts wherever
the operation's shape rule permits them. TileLayout_ImplementationDefined is
legal configured state, but generic TEPL operations reject it because the
portable row/column mapping is undefined.
Single-destination TEPL source/destination aliases are legal. Handlers snapshot source payloads before destination writes, so these aliases have read-before-write behavior. Same-output aliases on multi-destination TEPL are rejected:
TDEINTERLEAVErejectsdestination_even == destination_odd;TPARTARGMAXandTPARTARGMINrejectdestination == destination_indices.
Partial-region updates preserve existing destination elements outside the
written region. TINSERT and TSCATTER therefore require the destination
valid region to be defined before the update. Replacement operations define
their destination valid region atomically after writing all selected elements.
Index and ordering corners are fixed as follows:
TGATHERindexes source elements;TGATHERBindexes byte offsets aligned to the source element width.TSCATTERapplies source elements in source linear order; duplicate destination indices are legal and the last write wins.TSORTis deterministic and stable under the reference ordering helper.TMRGSORTis stable and left-biased on equal keys.THISTOGRAMwrites cumulative per-row byte histograms. U16 sources may use byte 0 or 1; U32 sources may use byte 0 through 3 with the existing higher-byte filter rows.TPRELUis a PTO TEPL extension, not imported from another ISA. PTO-v0 gives it raw signed-negative slope multiplication; numerical profile conformance remainsS5-T2.
Consequences
Stage 4 can evaluate TEPL totality by selector, legality, alias, layout, index, histogram, sort/merge, and preserved-region evidence without claiming final target numerical accuracy.
Reviewers must not read the PTO-v0 raw-carrier behavior as an IEEE, hardware, or accelerator profile. Any future target profile must either preserve these raw reference results as its debug/portable mode or add explicit profile overrides and differential conformance evidence.
Evidence
tests/asl/tile/model/dispatch/top-level/tile-bound-vec-sfu-carrier-totality-001.aslspec/catalog/tile-operations.jsonspec/evidence/release-traceability-readiness.json