Operands and parameters
RegDst- absolute GPR destination
SrcL- left absolute GPR source
simm24- 24-bit signed immediate or displacement
HL.CMP.ORI - Combine scalar comparison results with the encoded logical operation.
PTO-SCALAR-HL-CMP-ORIhl.cmp.ori SrcL, simm, ->{t, u, Rd}| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
RegDst | 5 | encoding-defined | absolute GPR destination | Encoded zero names the architectural zero GPR. |
SrcL | 5 | encoding-defined | left absolute GPR source | Encoded zero names the architectural zero GPR. |
simm24 | 24 | signed | 24-bit signed immediate or displacement | Encoded zero supplies numeric zero for the 24-bit signed immediate or displacement. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm24 | 47:36 | variable |
| SrcL | 35:31 | variable |
| Constant | 30:28 | 3'b011 |
| RegDst | 27:23 | variable |
| Constant | 22:16 | 7'b1010101 |
| simm24 | 15:4 | variable |
| Constant | 3:0 | 4'b1110 |
{
"reg": [
{
"bits": 4,
"name": "4'b1110"
},
{
"bits": 12,
"name": "simm24"
},
{
"bits": 7,
"name": "7'b1010101"
},
{
"bits": 5,
"name": "RegDst"
},
{
"bits": 3,
"name": "3'b011"
},
{
"bits": 5,
"name": "SrcL"
},
{
"bits": 12,
"name": "simm24"
}
],
"config": {
"bits": 48,
"fontsize": 13,
"hspace": 900,
"lanes": 2,
"offset": 0
}
}hl.cmp.ori SrcL, simm, ->{t, u, Rd}
RegDstSrcLsimm24This Operation comes directly from the instruction owner; the page does not rewrite its behavior.
readonly func InstructionContractOperation_HL_CMP_ORI() => ScalarOperationbegin return ScalarOperation_HL_CMP_ORI;end;readonly func InstructionContractHandler_HL_CMP_ORI() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteCompareLogical;end;
pure func InstructionContractCombinesWithOR_HL_CMP_ORI() => booleanbegin return TRUE;end;
pure func InstructionContractCompareLogicalValue_HL_CMP_ORI( left: Word, right: Word) => Wordbegin if InstructionContractCombinesWithOR_HL_CMP_ORI() then return left OR right; end; return left AND right;end;// PTO-INSTRUCTION: {"assembly":["hl.cmp.ori SrcL, simm, ->{t, u, Rd}"],"block":[],"catalog_indices":[136],"catalog_records":[{"asm":"hl.cmp.ori SrcL, simm, ->{t, u, Rd}","constraints":[],"encoding":[{"index":0,"mask":"0x0000707f000f","match":"0x00003055000e","width_bits":48}],"encoding_kind":"HL48","fields":[{"name":"RegDst","pieces":[{"instruction_lsb":23,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"SrcL","pieces":[{"instruction_lsb":31,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"simm24","pieces":[{"instruction_lsb":36,"value_lsb":0,"width":12},{"instruction_lsb":4,"value_lsb":12,"width":12}],"signedness":"signed","width":24}],"form_id":"hl_cmp_ori_48_4167568cb50b","length_bits":48,"mnemonic":"HL.CMP.ORI","semantic_family":"BRU","semantic_group":"BRU","semantic_handler":"ExecuteCompareLogical","semantic_summary":"HL.CMP.ORI - Combine scalar comparison results with the encoded logical operation.","status":"accepted"}],"classification":["bru"],"contract":{"block_composition":["none"],"canonical_assembly":["hl.cmp.ori SrcL, simm, ->{t, u, Rd}"],"defaults":["The selected assembly form determines which fields are present; every present field carries its encoded value and no encoded zero means omission."],"encoding_class":"standalone-encoded","examples":["hl.cmp.ori SrcL, simm, ->{t, u, Rd}"],"exceptions":["Reserved field encodings raise Fault_IllegalInstruction before effects; handler-specific arithmetic, memory, control-flow, system-register, and privilege faults follow the embedded normative ASL operation."],"field_contracts":{},"field_zero_meanings":{"RegDst":"Encoded zero names the architectural zero GPR.","SrcL":"Encoded zero names the architectural zero GPR.","simm24":"Encoded zero supplies numeric zero for the 24-bit signed immediate or displacement."},"legality":["Every value in each unconstrained encoded field is assigned; constrained complements are reserved and reject before effects."],"memory_effects":["none"],"operands":[{"field":"RegDst","role":"absolute GPR destination"},{"field":"SrcL","role":"left absolute GPR source"},{"field":"simm24","role":"24-bit signed immediate or displacement"}],"ordering":["none"],"standalone_opcode":true,"state_effects":["HL.CMP.ORI - Combine scalar comparison results with the encoded logical operation.","After decode and legality checks, execute the normative ExecuteCompareLogical ASL handler; no other architectural state is modified."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-SCALAR-HL-CMP-ORI","mnemonic":"HL.CMP.ORI","summary":"HL.CMP.ORI - Combine scalar comparison results with the encoded logical operation.","surface":"scalar"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// DOC-BEGIN: decodereadonly func InstructionContractOperation_HL_CMP_ORI() => ScalarOperationbegin return ScalarOperation_HL_CMP_ORI;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_HL_CMP_ORI() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteCompareLogical;end;
pure func InstructionContractCombinesWithOR_HL_CMP_ORI() => booleanbegin return TRUE;end;
pure func InstructionContractCompareLogicalValue_HL_CMP_ORI( left: Word, right: Word) => Wordbegin if InstructionContractCombinesWithOR_HL_CMP_ORI() then return left OR right; end; return left AND right;end;// DOC-END: operation
HL.CMP.ORI applies bitwise OR to two decoded scalar values and publishes whether the combined value is nonzero.
Sources are snapshotted before bitwise OR.
A zero combined word becomes XLEN zero; any nonzero word becomes XLEN one.
RegDst selects the encoded destination or discard behavior.SrcL supplies the left scalar source.simm24 supplies a signed encoded immediate.The canonical boolean is published through the encoded destination, then TPC advances by 6 bytes.
The instruction does not modify commit state and does not access memory or reservation state.
Encoding, reserved field values, and source availability are checked before destination, control, or TPC effects.
This example illustrates the current owner and does not create a second semantic definition.
hl.cmp.ori SrcL, simm, ->{t, u, Rd} publishes XLEN one when its condition is true and XLEN zero otherwise.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
No NDF clause is attached to this unit.
10 matching entries
PTO-AVS-BRU-HL-CMP-ORI-BOUND-001tests/asl/scalar/bru/HL.CMP.ORI/scalar-bound-hl-cmp-ori-fields-001.asl38bdb594c92b1dd322bc9aca71270b6ff2d3df695bd7141b3c34f7d1f5ca6784PTO-AVS-BRU-HL-CMP-ORI-EXEC-001tests/asl/scalar/bru/HL.CMP.ORI/scalar-exec-hl-cmp-ori-direct-001.asl524e27a147ef2d64db7fb340d21e3bd65da64ad76762399dbe00d63bf305a556PTO-AVS-SCALAR-HL-CMP-ORI-DECODE-001tests/asl/scalar/bru/HL.CMP.ORI/scalar-decode-hl-cmp-ori-canonical-001.asl05b62f7b138bcffdbe8993e59c2e7536f37f958797fffc884b7007b8d8228f2cPTO-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-0027…
ADR-0027docs/status/decisions/0027-scalar-bru-totality-and-target-legality.md9289112d250e31f4222dcd27d20bda791be7a1b57764af7ed9b187e767b7acedLoading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196{
"classification": [
"bru"
],
"documentation": "docs/scalar/bru/HL.CMP.ORI.md",
"id": "PTO-SCALAR-HL-CMP-ORI",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "HL.CMP.ORI",
"ndf_clause": "PTO-INST-SCALAR-HL-CMP-ORI"
},
"mnemonic": "HL.CMP.ORI",
"readiness_subjects": [
"ADR-0027",
"ADR-0059"
],
"semantic_tests": [
"PTO-AVS-BRU-HL-CMP-ORI-BOUND-001",
"PTO-AVS-BRU-HL-CMP-ORI-EXEC-001"
],
"source": "asl/scalar/bru/HL.CMP.ORI.asl",
"surface": "scalar",
"tests": [
"PTO-AVS-BRU-HL-CMP-ORI-BOUND-001",
"PTO-AVS-BRU-HL-CMP-ORI-EXEC-001",
"PTO-AVS-SCALAR-HL-CMP-ORI-DECODE-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812971a599ec83d16971e10b3b0ca0fbe98931d893dd5a2319c7d7e7accbca70f7e9bf9cd8c0c82e208e6b02e11ea7449a766aa2f5eacc473e45c4c4cc7a22e4086asl/scalar/bru/HL.CMP.ORI.aslasl/scalar/bru/HL.CMP.ORI.asl