Skip to main content

PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS

PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","surface":"block","classification":["model","operands","range-modifiers"],"depends_on":["PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]}
// The group is syntactic header state. A binder opens it and the first// non-modifier closes it; no destination is allocated and no operation schema// is consulted here.func OpenBundleRangeTileGroup(zero_mode: boolean,                              source0_allowed: boolean,                              source1_allowed: boolean,                              destination_allowed: boolean)begin    _BundleRangeGroup.open = TRUE;    _BundleRangeGroup.zero_mode = zero_mode;    _BundleRangeGroup.kind = if zero_mode then BundleRangeGroup_None        else BundleRangeGroup_Local;    _BundleRangeGroup.tile_binding = BundleTileBindingLastIndex();    _BundleRangeGroup.shared_binding = 0;    _BundleRangeGroup.source0_allowed = source0_allowed;    _BundleRangeGroup.source1_allowed = source1_allowed;    _BundleRangeGroup.destination_allowed = destination_allowed;    _BundleRangeGroup.source0_seen = FALSE;    _BundleRangeGroup.source1_seen = FALSE;    _BundleRangeGroup.destination_seen = FALSE;end;
func OpenBundleRangeSharedGroup(zero_mode: boolean,                                source0_allowed: boolean,                                destination_allowed: boolean)begin    _BundleRangeGroup.open = TRUE;    _BundleRangeGroup.zero_mode = zero_mode;    _BundleRangeGroup.kind = if zero_mode then BundleRangeGroup_None        else BundleRangeGroup_Shared;    _BundleRangeGroup.tile_binding = 0;    _BundleRangeGroup.shared_binding = BundleSharedBindingLastIndex();    _BundleRangeGroup.source0_allowed = source0_allowed;    _BundleRangeGroup.source1_allowed = FALSE;    _BundleRangeGroup.destination_allowed = destination_allowed;    _BundleRangeGroup.source0_seen = FALSE;    _BundleRangeGroup.source1_seen = FALSE;    _BundleRangeGroup.destination_seen = FALSE;end;
func CloseBundleRangeGroup()begin    _BundleRangeGroup.open = FALSE;    _BundleRangeGroup.zero_mode = FALSE;    _BundleRangeGroup.kind = BundleRangeGroup_None;    _BundleRangeGroup.tile_binding = 0;    _BundleRangeGroup.shared_binding = 0;    _BundleRangeGroup.source0_allowed = FALSE;    _BundleRangeGroup.source1_allowed = FALSE;    _BundleRangeGroup.destination_allowed = FALSE;    _BundleRangeGroup.source0_seen = FALSE;    _BundleRangeGroup.source1_seen = FALSE;    _BundleRangeGroup.destination_seen = FALSE;end;
readonly func BundleRangeRoleLegal(role: integer {0..2}) => booleanbegin    if !_BundleRangeGroup.open then return FALSE; end;    if role == 0 then        return _BundleRangeGroup.source0_allowed &&               !_BundleRangeGroup.source0_seen &&               !_BundleRangeGroup.source1_seen &&               !_BundleRangeGroup.destination_seen;    elsif role == 1 then        return _BundleRangeGroup.source1_allowed &&               !_BundleRangeGroup.source1_seen &&               !_BundleRangeGroup.destination_seen;    else        return _BundleRangeGroup.destination_allowed &&               !_BundleRangeGroup.destination_seen;    end;end;
func MarkBundleRangeRole(role: integer {0..2})begin    if role == 0 then        _BundleRangeGroup.source0_seen = TRUE;    elsif role == 1 then        _BundleRangeGroup.source1_seen = TRUE;    else        _BundleRangeGroup.destination_seen = TRUE;    end;end;
pure func BundleRangeSubviewRawLegal(size_code: integer {0..15}) => booleanbegin    return 1 <= size_code && size_code <= 12;end;
readonly func BundleRangeSubviewLegal(source_select: boolean,                                      size_code: integer {0..15}) => booleanbegin    if !_BundleRangeGroup.open || _BundleRangeGroup.zero_mode then        return _BundleRangeGroup.open;    end;    let role = if source_select then 1 else 0;    if !BundleRangeRoleLegal(role as integer {0..2}) then return FALSE; end;    return TRUE;end;
func RecordBundleRangeSubview(source_select: boolean,                              reg_src: Reg5Selector,                              uimm11: bits(11),                              size_code: integer {1..12},                              offset: Word)begin    if source_select then        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.valid = TRUE;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.reg_src = reg_src;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.uimm11 = uimm11;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.size_code = size_code;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.offset = offset;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.init = FALSE;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .source1_subview.last = FALSE;        MarkBundleRangeRole(1);    else        if _BundleRangeGroup.kind == BundleRangeGroup_Local then            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.valid = TRUE;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.reg_src = reg_src;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.uimm11 = uimm11;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.size_code = size_code;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.offset = offset;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.init = FALSE;            _BundleTileBindings[[_BundleRangeGroup.tile_binding]]                .source0_subview.last = FALSE;        else            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.valid = TRUE;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.reg_src = reg_src;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.uimm11 = uimm11;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.size_code = size_code;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.offset = offset;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.init = FALSE;            _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]                .source0_subview.last = FALSE;        end;        MarkBundleRangeRole(0);    end;end;
readonly func BundleRangeAssembleLegal(init: boolean,                                       size_code: integer {0..15}) => booleanbegin    if !_BundleRangeGroup.open || _BundleRangeGroup.zero_mode then        return _BundleRangeGroup.open;    end;    if !BundleRangeRoleLegal(2) then return FALSE; end;    if init && size_code == 0 then return FALSE; end;    if !init && size_code != 0 then return FALSE; end;    return TRUE;end;
func RecordBundleRangeAssemble(init: boolean,                              last: boolean,                              reg_src: Reg5Selector,                              uimm11: bits(11),                              size_code: integer {0..12},                              offset: Word)begin    if _BundleRangeGroup.kind == BundleRangeGroup_Local then        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.valid = TRUE;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.reg_src = reg_src;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.uimm11 = uimm11;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.size_code = size_code;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.offset = offset;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.init = init;        _BundleTileBindings[[_BundleRangeGroup.tile_binding]]            .destination_assemble.last = last;    else        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.valid = TRUE;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.reg_src = reg_src;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.uimm11 = uimm11;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.size_code = size_code;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.offset = offset;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.init = init;        _BundleSharedBindings[[_BundleRangeGroup.shared_binding]]            .destination_assemble.last = last;    end;    MarkBundleRangeRole(2);end;
// NDF-BEGIN: PTO-B-ASSEMBLE-SHARED-STANDALONE-001// ndf: kind=contract level=L1 layer=block status=accepted// A Shared destination with more than one participating PE MUST carry one// B.ASSEMBLE modifier.  A multi-PE standalone B.IOS destination MUST raise// Fault_TileLegality before descriptor, payload, memory, or publication// effects.  A single-PE standalone destination retains the ordinary B.IOS// behavior.// NDF-END: PTO-B-ASSEMBLE-SHARED-STANDALONE-001readonly func BundleSharedDestinationAssemblyPolicyLegal() => booleanbegin    for binding = 0 to 3 do        if _BundleSharedBindings[[binding]].valid &&           _BundleSharedBindings[[binding]].size_code != 0 &&           PEMaskPopulation(_BundleSharedBindings[[binding]].pe_mask) > 1 &&           !_BundleSharedBindings[[binding]].destination_assemble.valid then            return FALSE;        end;    end;    return TRUE;end;

Architecture behavior

This internal model unit is documented through its normative ASL/NDF owners and validation evidence; it has no reader-guide migration target.

NDF clauses

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

    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categoryB-ASSEMBLE-SHARED-STANDALONE
    4. case001

    Normative contract

    contract · L1 · accepted

    A Shared destination with more than one participating PE MUST carry one B.ASSEMBLE modifier. A multi-PE standalone B.IOS destination MUST raise Fault_TileLegality before descriptor, payload, memory, or publication effects. A single-PE standalone destination retains the ordinary B.IOS behavior.

    Sources and references
    Complete stable ID
    PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Source path
    asl/block/model/operands/range-modifiers.asl
    Affected units
    PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    Source SHA-256
    cf4eec08ff8113867c31bc0c7446ea5d0f99d8f3a2e908f259ea605fc46d8b70
    Clause SHA-256
    93b96f7f8fac70e5b33e46f399e0a02b247331331889c2580ad4723841cb1dc7
    Open exact canonical source ↗

Evidence index

15 matching entries

Executable evidence8
  • PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS compiles as an independent normative unit
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-STATIC-001
    Path
    tests/asl/block/model/operands/range-modifiers/block-static-range-modifiers-contract-001.asl
    Kind / role
    static-invariant
    Requirements
    PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    95e7fc2f4b4cdbe420feafaf0bd8c64a75297d4dddafe31dcd3d9b12c36d2f7b
    Open exact source ↗ for PTO-AVS-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-STATIC-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
  • Multi-PE Shared destinations require B.ASSEMBLE while single-PE standalone B.IOS remains legal.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION
    3. categoryFAULT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001
    Path
    tests/asl/block/model/operands/shared-generation/block-fault-shared-standalone-001.asl
    Kind / role
    fault
    Requirements
    PTO-B-ASSEMBLE-SHARED-STANDALONE-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001
    Pass condition
    A decoded all-PE standalone TLOAD faults before memory or Shared effects, a single-PE standalone form succeeds, and an all-PE INIT_LAST form publishes atomically.
    SHA-256
    86c2349b23fcc3093e7404699b5f1daeafec5e6b0da0241ad8467ffaecd40ba2
    Open exact source ↗ for PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001
  • Shared TLSU loads and stores use per-PE size and LB stride defaults
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001
    Path
    tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-ASSEMBLE, PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Pass condition
    collective GM-to-Shared assembly, Shared-to-GM, and LB2 stride assertions hold
    SHA-256
    cdcaba84f1436e4fdae6b5d2a8bd1c455aacc499ad0ce04870f19ce2d15ce95e
    Open exact source ↗ for PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001
  • Shared TLOAD resolves B.IOR base and stride independently in every selected PE GPR file.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001
    Path
    tests/asl/block/model/dispatch/shared-tlsu/block-exec-per-pe-gm-001.asl
    Kind / role
    execution
    Requirements
    PTO-ARCH-GM-ACCESS-001, PTO-INST-TILE-TLOAD, PTO-INST-BLOCK-B-ASSEMBLE, PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Pass condition
    Four fixed Shared quarters assemble from four PE-private base/stride pairs selected by the same encoded RegSrc fields.
    SHA-256
    b398421107121b5551c5e9cc77949c2ceed6275f03543a55a422925c0d6801aa
    Open exact source ↗ for PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001
  • Canonical TMOV publishes an assembled Shared parent and reads it through Function 2.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU
    3. categoryEXECUTION
    4. case003
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003
    Path
    tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-publish-003.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-ASSEMBLE, PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Pass condition
    INIT_LAST publishes atomically and two canonical Shared-to-Local reads preserve the complete descriptor and payload.
    SHA-256
    683e9b44bbce3e0a7711243009be11f4637056b56ad8eb8a07ba1eb4b616fcc0
    Open exact source ↗ for PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003
  • Shared TLOAD uses the selected PE-private base and byte-stride GPRs and updates only selected quarters.
    1. surfaceBLOCK
    2. ownerBSTART.TLOAD
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-TLOAD-SHARED-001
    Path
    tests/asl/block/execution/BSTART.TLOAD/block-exec-bstart-tload-shared-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-BSTART-TLOAD, PTO-INST-TILE-TLOAD, PTO-INST-BLOCK-B-ASSEMBLE, PTO-B-ASSEMBLE-SHARED-STANDALONE-001
    Pass condition
    Mask 0011 assembles quarters zero and one from PE0 and PE1 while the other Shared quarters remain uninitialized.
    SHA-256
    6e213a64db5143c6397695395febedda54f98992ef132c350b158b9fa9b372a3
    Open exact source ↗ for PTO-AVS-BLOCK-TLOAD-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 history2
  • 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

Unit metadata

Open 4 generated metadata fields
id
PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
surface
block
classification
[
  "model",
  "operands",
  "range-modifiers"
]
depends_on
[
  "PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS",
  "PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS",
  "PTO-BLOCK-MODEL-STATE-CONTROL-STATE"
]
Open generated traceability record
{
  "classification": [
    "model",
    "operands",
    "range-modifiers"
  ],
  "documentation": "docs/block/model/operands/range-modifiers.md",
  "id": "PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0098",
    "ADR-0099"
  ],
  "semantic_tests": [
    "PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001",
    "PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001"
  ],
  "source": "asl/block/model/operands/range-modifiers.asl",
  "surface": "block",
  "tests": [
    "PTO-AVS-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-STATIC-001",
    "PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001",
    "PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
cf4eec08ff8113867c31bc0c7446ea5d0f99d8f3a2e908f259ea605fc46d8b70
Generated documentation
docs/block/model/operands/range-modifiers.md · embedded in this page
Documentation SHA-256
49ac552f06dc0379d769a0c37f0d2f6090dbc5fbb5c3a0bf51b2898a725e87ec

Exact owners