Skip to main content

B.SUBVIEW

Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.

PTO-BLOCK-B-SUBVIEW

Assembly syntax

B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode

Assembler symbols

Assembly fields and architectural roles
FieldBitsSignednessArchitectural roleEncoded zero
SrcSelect1encoding-definedselects source0 or source1 carrierZero selects source role zero.
uimm1111unsignedunsigned XLEN addendZero is a real zero displacement.
RegSrc5encoding-definedabsolute GPR selectorZero names the architectural zero GPR.
SubviewSizeCode4encoding-defineddecoded source tile range sizeZero is reserved.

Encoding

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

Encoding fields as an accessible table
Generated encoding fields for B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode
Decoded itemBit rangeValue
SrcSelect31variable
uimm1130:20variable
RegSrc19:15variable
Constant14:114'b0000
SubviewSizeCode10:7variable
Constant6:07'b1010011
WaveJSON source
{
  "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

Instruction contract

Operands and parameters

SrcSelect
selects source0 or source1 carrier
RegSrc
absolute GPR selector
uimm11
unsigned XLEN addend
SubviewSizeCode
decoded source tile range size

Constraints, checks, and faults

  • 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.
  • 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.

State reads, writes, and result

  • 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.
  • none
  • Decode fixed/reserved fields and raw ranges before any GPR read; compute GPR[RegSrc]+ZeroExtend(uimm11) modulo 2^XLEN after group legality.

ASL pseudocode

Decode and Operation come directly from the instruction owner and remain separated by execution phase.

Decode ASL

readonly func InstructionContractMatches_B_SUBVIEW(operation: CommandOperation) => booleanbegin    return operation == CommandOperation_b_subview_32_122000000001;end;

Operation source binding

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;
View the complete ASL owner
// 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

Behavior

purpose

What B.SUBVIEW contributes

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.

mechanism

Placement and mechanism

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.

inputs outputs

Operands and header roles

  • 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.
effects

Pending state and completion

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.

constraints

Legality and fault boundary

Reserved encodings are rejected before reads or pending-state changes. Placement, duplicate, role, or completed-schema mismatches fail before body effects.

example

illustrative worked example

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, SubviewSizeCode

The 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.

NDF clauses

Bodies come from owning ASL. Dragging or buttons change only this page-session view order.

    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryRANGE
    4. case001

    Normative contract

    contract · L1 · 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.

    Sources and references
    Complete stable ID
    PTO-B-SUBVIEW-RANGE-001
    Source path
    asl/block/operands/B.SUBVIEW.asl
    Affected units
    PTO-BLOCK-B-SUBVIEW
    Source SHA-256
    b0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c83
    Clause SHA-256
    9e9b051af0b50093407ada5cb2859bbf27eb733ddb6dc205de1eee5d250a9ecd
    Open exact canonical source ↗

Evidence index

15 matching entries

Executable evidence7
  • Decoded Local assembly binds portable range readiness, cancels wrong-path writers, and rejects a nonrollback producer before effects.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001
    Path
    tests/asl/block/model/operands/portable-carriers/block-exec-assemble-portable-carriers-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-ASSEMBLE-CONSUMER-READINESS-001, PTO-B-ASSEMBLE-SPECULATION-001, PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001, PTO-INST-BLOCK-BSTART, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE
    Pass condition
    A decoded post-LAST range waits without a fault or temporary source effect until its selected cells become ready; decoded writer squash removes coverage and allocation while preserving sources; a decoded B.ASSEMBLE producer with a nonrollback handler raises Fault_TileLegality before effects.
    SHA-256
    11e59453724fa2271ae8b7528829da24f05d34eabc7fe8d3d2a71ecb2b3ef63f
    Open exact source ↗ for PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001
  • canonical B.SUBVIEW catalog and ASL contract remain aligned
    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryDECODE-POSITIVE
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001
    Path
    tests/asl/block/operands/B.SUBVIEW/block-decode-b-subview-canonical-001.asl
    Kind / role
    decode-positive
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW
    Pass condition
    all canonical decode and contract assertions hold
    SHA-256
    1d61c7c6587fee8f7daa9974fc56a84426f2578842292c70c1dd8ee6b767173b
    Open exact source ↗ for PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001
  • B.SUBVIEW executes the exact 0x53 decoder matrix for both source selectors, every legal size and boundary, and all raw-legality.
    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001
    Path
    tests/asl/block/operands/B.SUBVIEW/block-exec-b-subview-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    each legal field combination reaches the selected Local or Shared carrier with the exact XLEN-wrapped offset; every reserved form faults before reads or state changes
    SHA-256
    8acbb34ecde853e4efb05584e88aae47f7157611499481ef6cffbeeb3c67e1c3
    Open exact source ↗ for PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001
  • B.SUBVIEW and B.ASSEMBLE execute only in the immediately preceding B.IOT/B.IOS group, consuming source0, source1, and destination roles in strict order.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categoryFAULT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001
    Path
    tests/asl/block/model/operands/range-modifiers/block-fault-range-group-order-001.asl
    Kind / role
    fault
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    valid Local/Shared source and destination groups, omissions, duplicates, reverse/misordered/absent/intervening forms, B.IOT.L, and B.IOS source1 are each executed with the specified carrier or BundleControl result and no retroactive effect
    SHA-256
    8d6507c8048a569186bcca2ddca9e49e38f43538f3705a3544aa690fdd878284
    Open exact source ↗ for PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001
  • PEMode=000 executes a broad raw-legal B.SUBVIEW/B.ASSEMBLE matrix as discarded syntactic groups while nonzero controls retain carriers and reserved forms remain illegal.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001
    Path
    tests/asl/block/model/operands/range-modifiers/block-exec-range-pemode-zero-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    both source selectors, every legal subview size, every raw-legal assemble control/size, RegSrc/uimm extremes, Local/Shared zero groups, and matching nonzero controls execute with no zero-mode reads/effects/faults; every reserved encoding is IllegalInstruction with no effect
    SHA-256
    97391c16c8e7f937b1a1bb2e06dab80f8c66a2a4aed84f8ccda354b917cb7abf
    Open exact source ↗ for PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001
  • Decoded Local CUBE M16, M32, and N8 subviews derive bounded descriptors and preserve parent lifetime before normal operation commit.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001
    Path
    tests/asl/block/model/operands/subview-descriptor/block-exec-subview-cube-descriptor-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-SUBVIEW-DESCRIPTOR-001, PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT
    Pass condition
    Decoded BSTART/B.IOT/B.SUBVIEW/B.ASSEMBLE reaches normal preflight and commit for M16 and M32 parents with N8 peers; the supplementary CELL-order matrix asserts interior, repeat-boundary, clipped-tail, min/max, selected values, and exact non-CUBE/zero-valid/OOB TileLegality faults.
    SHA-256
    1c39e0e37eee9c1d48681b747be931b5a2b4a19f8ef52a33bb77da3bbb536671
    Open exact source ↗ for PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001
  • Decoded Shared B.SUBVIEW selects an exact CELL range for TSTORE.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SUBVIEW-SHARED-001
    Path
    tests/asl/block/model/operands/shared-generation/block-exec-shared-subview-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001
    Pass condition
    A one-CELL view at offset one stores the second 128 B row's value while preserving the complete published Shared descriptor and payload.
    SHA-256
    568b4adfb2653daad0aa2c8e57c445b7519857d9ae887040b3b3b2d74f3f68ca
    Open exact source ↗ for PTO-AVS-BLOCK-SUBVIEW-SHARED-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 history3
  • B.SUBVIEW and B.ASSEMBLE range-modifier association · accepted
    1. decision recordADR
    2. case0098

    Decision record

    Loading ADR-0098…

    Sources and references
    Complete stable ID
    ADR-0098
    Path
    docs/status/decisions/0098-b-range-modifiers.md
    Affected units
    PTO-ARCH-PROFILE-RESET, PTO-BLOCK-B-IOT, PTO-BLOCK-B-IOS, PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-B-ASSEMBLE, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-ARCH-DATA-TYPES-TRAP-CONTEXT, PTO-ARCH-PROFILE-REFERENCE-PROFILE, PTO-ARCH-PROFILE-TRAP-CONTEXT-RECOVERY, PTO-ARCH-STATE-TRAP-CONTEXT, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-FAULTS-ROLLBACK, PTO-BLOCK-MODEL-LIFECYCLE-RESET, PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS, PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR, PTO-BLOCK-MODEL-STATE-SHARED-GENERATION, PTO-TILE-MODEL-LEGALITY-MATRIX-POSTPROCESS
    Affected NDF
    PTO-B-IOT-STREAM-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-RANGE-001, PTO-B-SUBVIEW-DESCRIPTOR-001, PTO-BLOCK-TILE-OPERATION-APPLICABILITY-001, PTO-B-ASSEMBLE-LOCAL-GENERATION-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001, PTO-B-ASSEMBLE-SHARED-STANDALONE-001, PTO-B-ASSEMBLE-CONSUMER-READINESS-001, PTO-B-ASSEMBLE-SPECULATION-001, PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001
    SHA-256
    e194ccc6b6922fd4b65066b533f5e4b0eba094e099970059bca8e25b4e466fba
    Open exact decision source ↗ for ADR-0098
  • PTO ISA 0.58.3 to 0.58.4 compatibility boundary · accepted
    1. decision recordADR
    2. case0099

    Decision record

    Loading ADR-0099…

    Sources and references
    Complete stable ID
    ADR-0099
    Path
    docs/status/decisions/0099-0583-to-0584-compatibility.md
    Affected units
    PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY, PTO-BLOCK-B-IOT, PTO-BLOCK-B-IOS, PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-B-ASSEMBLE, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    Affected NDF
    PTO-B-IOT-STREAM-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-RANGE-001
    SHA-256
    f130ce243d978a85dc641580d71505a950a34ce1a561402e74946ed6903ad2a0
    Open exact decision source ↗ for ADR-0099
  • Shared source B.SUBVIEW uses per-PE offsets · accepted
    1. decision recordADR
    2. case0106

    Decision record

    Loading ADR-0106…

    Sources and references
    Complete stable ID
    ADR-0106
    Path
    docs/status/decisions/0106-shared-source-subview-per-pe.md
    Affected units
    PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-SHARED-CUBE-MATRIX
    Affected NDF
    PTO-B-SUBVIEW-RANGE-001, PTO-B-SUBVIEW-SHARED-PER-PE-001
    SHA-256
    ccbc429a05b5dc0cf1e810b2062672f3858edba86176fe2408f4a99a3d1137ee
    Open exact decision source ↗ for ADR-0106

Unit metadata

Open 11 generated metadata fields
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
Open generated traceability record
{
  "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"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
b0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c83
Generated documentation
docs/block/operands/B.SUBVIEW.md · embedded in this page
Documentation SHA-256
4ad4c3a7cf07bf34d8a75174f4b70dbec8e984c0850414a463a9b05a59b8203b

Exact owners