Difference between revisions of "Instruction Set/conform"
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:conform}} | {{DISPLAYTITLE:conform}} | ||
− | <div style="font-size:80%;line-height:90%;margin-bottom:2em">[[Speculation| | + | <div style="font-size:80%;line-height:90%;margin-bottom:2em">[[Speculation|speculable]] [[Encoding|flow stream]] [[Decode|flow block]] [[Phasing|conform phase]] operation <br /> |
'''native on:''' [[Cores|all]]<br /> | '''native on:''' [[Cores|all]]<br /> | ||
</div> | </div> | ||
Line 8: | Line 8: | ||
Control can be transferred into an [[EBB]] from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be. | Control can be transferred into an [[EBB]] from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be. | ||
− | The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this [[EBB]] must conform to the order of the belt the | + | The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this [[EBB]] must conform to the order of the belt the original come-from EBB establishes. |
− | + | Conform invalidates all belt values not explicitly reordered. | |
<b>related operations:</b> [[Instruction_Set/rescue|rescue]] | <b>related operations:</b> [[Instruction_Set/rescue|rescue]] |
Latest revision as of 09:23, 9 February 2015
Reorder belt.
Control can be transferred into an EBB from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be.
The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this EBB must conform to the order of the belt the original come-from EBB establishes.
Conform invalidates all belt values not explicitly reordered.
related operations: rescue
conform(ops args) → ops r0 ...
encoding:
conform(off ops, count c)
,
conform(off ops, count c, lit ops)
,
conform(off ops, count c, lit ops, lit ops)
,
conform(off ops, count c, lit ops, lit ops, lit ops)
Core | In Slots | Latencies |
---|---|---|
Tin | F0 | 1 |
Copper | F0 F1 | 1 |
Silver | F0 F1 F2 | 1 |
Gold | F0 F1 F2 F3 | 1 |
Decimal8 | F0 F1 F2 | 1 |
Decimal16 | F0 F1 F2 | 1 |
Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable