Operands and parameters
SrcSelect- selects source0 or source1 carrier
RegSrc- absolute GPR selector
uimm11- unsigned XLEN addend
SubviewSizeCode- decoded source tile range size
Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.
PTO-BLOCK-B-SUBVIEWB.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
SrcSelect | 1 | encoding-defined | selects source0 or source1 carrier | Zero selects source role zero. |
uimm11 | 11 | unsigned | unsigned XLEN addend | Zero is a real zero displacement. |
RegSrc | 5 | encoding-defined | absolute GPR selector | Zero names the architectural zero GPR. |
SubviewSizeCode | 4 | encoding-defined | decoded source tile range size | Zero is reserved. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| SrcSelect | 31 | variable |
| uimm11 | 30:20 | variable |
| RegSrc | 19:15 | variable |
| Constant | 14:11 | 4'b0000 |
| SubviewSizeCode | 10:7 | variable |
| Constant | 6:0 | 7'b1010011 |
{
"reg": [
{
"bits": 7,
"name": "7'b1010011"
},
{
"bits": 4,
"name": "SubviewSizeCode"
},
{
"bits": 4,
"name": "4'b0000"
},
{
"bits": 5,
"name": "RegSrc"
},
{
"bits": 11,
"name": "uimm11"
},
{
"bits": 1,
"name": "SrcSelect"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode
SrcSelectRegSrcuimm11SubviewSizeCodeDecode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_B_SUBVIEW(operation: CommandOperation) => booleanbegin return operation == CommandOperation_b_subview_32_122000000001;end;pure func InstructionContractSubviewSizeCodeIsAssigned_B_SUBVIEW(code: integer {0..15}) => booleanbegin return 1 <= code && code <= 12;end;
readonly func InstructionContractHandler_B_SUBVIEW() => CommandSemanticHandlerbegin return CommandHandler_ApplyBundleSubview;end;// PTO-INSTRUCTION: {"assembly":["B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"],"block":[],"catalog_indices":[74],"catalog_records":[{"asm":"B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode","constraints":[{"field":"SrcSelect","operator":"one-of","values":[0,1]},{"field":"RegSrc","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]},{"field":"SubviewSizeCode","operator":"one-of","values":[1,2,3,4,5,6,7,8,9,10,11,12]}],"encoding":[{"index":0,"mask":"0x0000787f","match":"0x00000053","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"SrcSelect","pieces":[{"instruction_lsb":31,"value_lsb":0,"width":1}],"signedness":"encoding-defined","width":1},{"name":"uimm11","pieces":[{"instruction_lsb":20,"value_lsb":0,"width":11}],"signedness":"unsigned","width":11},{"name":"RegSrc","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"SubviewSizeCode","pieces":[{"instruction_lsb":7,"value_lsb":0,"width":4}],"signedness":"encoding-defined","width":4}],"form_id":"b_subview_32_122000000001","length_bits":32,"mnemonic":"B.SUBVIEW","semantic_family":"CMD","semantic_group":"Bundle Range Modifier","semantic_handler":"ApplyBundleSubview","semantic_summary":"Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.","status":"accepted"}],"classification":["operands"],"contract":{"block_composition":["Immediately follows B.IOT or B.IOS and is contiguous with the associated modifier group."],"canonical_assembly":["B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"],"defaults":["uimm11 is unsigned and zero-extended. RegSrc zero names the architectural zero GPR."],"encoding_class":"standalone-encoded","examples":["B.IOT T0, mask=1111; B.SUBVIEW 0, a0, 0, 1"],"exceptions":["Reserved funct3/bit11/opcode, RegSrc24..31, and SubviewSizeCode0/13..15 raise Fault_IllegalInstruction before GPR reads, carrier updates, or TPC advance.","Missing, reversed, duplicate, intervening, or role-incompatible groups raise Fault_BundleControl before carrier updates."],"field_contracts":{},"field_zero_meanings":{"SrcSelect":"Zero selects source role zero.","uimm11":"Zero is a real zero displacement.","RegSrc":"Zero names the architectural zero GPR.","SubviewSizeCode":"Zero is reserved."},"legality":["RegSrc accepts only absolute GPR selectors 0..23.","SubviewSizeCode accepts 1..12 for both Local and Shared groups.","A modifier is legal only in the contiguous immediately preceding B.IOT/B.IOS group and follows source0, source1, destination role order."],"memory_effects":["none"],"operands":[{"field":"SrcSelect","role":"selects source0 or source1 carrier"},{"field":"RegSrc","role":"absolute GPR selector"},{"field":"uimm11","role":"unsigned XLEN addend"},{"field":"SubviewSizeCode","role":"decoded source tile range size"}],"ordering":["Decode fixed/reserved fields and raw ranges before any GPR read; compute GPR[RegSrc]+ZeroExtend(uimm11) modulo 2^XLEN after group legality."],"state_effects":["Store raw RegSrc/uimm11/size and the derived XLEN offset in the source carrier of the open binder group.","PEMode=000 on the binder opens a discarded syntactic group; every raw-legal contiguous modifier advances TPC without reads, state, role, or fault effects."],"standalone_opcode":true},"depends_on":["PTO-BLOCK-B-IOT","PTO-BLOCK-B-IOS","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS"],"id":"PTO-BLOCK-B-SUBVIEW","mnemonic":"B.SUBVIEW","summary":"Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-B-SUBVIEW-RANGE-001// ndf: kind=contract level=L1 layer=block status=accepted// B.SUBVIEW MUST decode the exact 0x53 form, preserve raw fields and the// XLEN-wrapped GPR-plus-uimm11 offset, and apply only to its preceding// contiguous B.IOT/B.IOS group.// NDF-END: PTO-B-SUBVIEW-RANGE-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_B_SUBVIEW(operation: CommandOperation) => booleanbegin return operation == CommandOperation_b_subview_32_122000000001;end;// DOC-END: decode// DOC-BEGIN: operationpure func InstructionContractSubviewSizeCodeIsAssigned_B_SUBVIEW(code: integer {0..15}) => booleanbegin return 1 <= code && code <= 12;end;
readonly func InstructionContractHandler_B_SUBVIEW() => CommandSemanticHandlerbegin return CommandHandler_ApplyBundleSubview;end;// DOC-END: operation
B.SUBVIEW is a 32-bit block header command that attaches one source-subview modifier to an open Local or Shared binder group. It changes pending block metadata rather than executing a tile body operation immediately.
The modifier is valid only while it remains contiguous with the B.IOT or B.IOS binder group that opened its carrier. Intervening, reversed, or duplicate modifiers are rejected before carrier state changes.
The command records its raw selector and range fields in the open binder carrier together with the derived XLEN offset. A binder whose decoded PE mask is zero keeps only a discarded syntactic group and performs no source read or role effect.
SrcSelect selects source carrier zero or one; its exact assigned domain remains in the generated contract below.RegSrc selects the named absolute GPR role; its exact assigned domain remains in the generated contract below.uimm11 supplies the encoded offset or addend; its exact assigned domain remains in the generated contract below.SubviewSizeCode supplies the subview range size code; its exact assigned domain remains in the generated contract below.An accepted header command changes only its pending record or carrier. Architectural tile, Shared, GPR, memory, and completion effects remain deferred to the completed block unless this owner's contract explicitly identifies an immediate header-state update.
Reserved encodings are rejected before reads or pending-state changes. Placement, duplicate, role, or completed-schema mismatches fail before body effects.
This worked example is illustrative; it illustrates the current owner without replacing it.
B.IOT SrcTile0, mask=PE_MASK, <last>
B.SUBVIEW 0, RegSrc, uimm11, SubviewSizeCodeThe source form of B.IOT opens a group whose source-zero carrier is exact. The immediately following B.SUBVIEW 0 modifies that source carrier only; it cannot be separated from the binder or redirected to a destination carrier.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
B.SUBVIEW MUST decode the exact 0x53 form, preserve raw fields and the XLEN-wrapped GPR-plus-uimm11 offset, and apply only to its preceding contiguous B.IOT/B.IOS group.
PTO-B-SUBVIEW-RANGE-001asl/block/operands/B.SUBVIEW.aslb0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c839e9b051af0b50093407ada5cb2859bbf27eb733ddb6dc205de1eee5d250a9ecd15 matching entries
PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001tests/asl/block/model/operands/portable-carriers/block-exec-assemble-portable-carriers-001.asl11e59453724fa2271ae8b7528829da24f05d34eabc7fe8d3d2a71ecb2b3ef63fPTO-AVS-BLOCK-B-SUBVIEW-DECODE-001tests/asl/block/operands/B.SUBVIEW/block-decode-b-subview-canonical-001.asl1d61c7c6587fee8f7daa9974fc56a84426f2578842292c70c1dd8ee6b767173bPTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001tests/asl/block/operands/B.SUBVIEW/block-exec-b-subview-001.asl8acbb34ecde853e4efb05584e88aae47f7157611499481ef6cffbeeb3c67e1c3PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001tests/asl/block/model/operands/range-modifiers/block-fault-range-group-order-001.asl8d6507c8048a569186bcca2ddca9e49e38f43538f3705a3544aa690fdd878284PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001tests/asl/block/model/operands/range-modifiers/block-exec-range-pemode-zero-001.asl97391c16c8e7f937b1a1bb2e06dab80f8c66a2a4aed84f8ccda354b917cb7abfPTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001tests/asl/block/model/operands/subview-descriptor/block-exec-subview-cube-descriptor-001.asl1c39e0e37eee9c1d48681b747be931b5a2b4a19f8ef52a33bb77da3bbb536671PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0098…
ADR-0098docs/status/decisions/0098-b-range-modifiers.mde194ccc6b6922fd4b65066b533f5e4b0eba094e099970059bca8e25b4e466fbaLoading ADR-0099…
ADR-0099docs/status/decisions/0099-0583-to-0584-compatibility.mdf130ce243d978a85dc641580d71505a950a34ce1a561402e74946ed6903ad2a0Loading ADR-0106…
ADR-0106docs/status/decisions/0106-shared-source-subview-per-pe.mdccbc429a05b5dc0cf1e810b2062672f3858edba86176fe2408f4a99a3d1137ee{
"classification": [
"operands"
],
"documentation": "docs/block/operands/B.SUBVIEW.md",
"id": "PTO-BLOCK-B-SUBVIEW",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "B.SUBVIEW",
"ndf_clause": "PTO-INST-BLOCK-B-SUBVIEW"
},
"mnemonic": "B.SUBVIEW",
"readiness_subjects": [
"ADR-0098",
"ADR-0099",
"ADR-0106"
],
"semantic_tests": [
"PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001"
],
"source": "asl/block/operands/B.SUBVIEW.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001",
"PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812b0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c834ad4c3a7cf07bf34d8a75174f4b70dbec8e984c0850414a463a9b05a59b8203basl/block/operands/B.SUBVIEW.aslasl/block/operands/B.SUBVIEW.aslasl/block/operands/B.SUBVIEW.asl