(no commit message)
authorlkcl <lkcl@web>
Thu, 27 Jun 2019 22:27:57 +0000 (23:27 +0100)
committerIkiWiki <ikiwiki.info>
Thu, 27 Jun 2019 22:27:57 +0000 (23:27 +0100)
simple_v_extension/abridged_spec.mdwn

index 6d707b5ed4c340094110c0c5bbaa5ab2c4d56c7f..fef232cd6e08686141f632bd8b3158e6147f1630 100644 (file)
@@ -222,21 +222,9 @@ Pseudocode for predication:
 ffirst is a special data-dependent predicate mode.  There are two
 variants: one is for faults: typically for LOAD/STORE operations,
 which may encounter end of page faults during a series of operations.
-The other variant is comparisons such as FEQ (or the augmented behaviour
-of Branch), and any operation that returns a result of zero (whether
-integer or floating-point).  In the FP case, this includes negative-zero.
-
-Note that the execution order must "appear" to be sequential for ffirst
-mode to work correctly.  An in-order architecture must execute the element
-operations in sequence, whilst an out-of-order architecture must *commit*
-the element operations in sequence (giving the appearance of in-order
-execution).
-
-Note also, that if ffirst mode is needed without predication, a special
-"always-on" Predicate Table Entry may be constructed by setting
-inverse-on and using x0 as the predicate register.  This
-will have the effect of creating a mask of all ones, allowing ffirst
-to be set.
+The other variant is comparisons, and anything that returns "zero" or "fail". Note: no instruction may operate in both fault mode and "condition fail" mode.
+
+Fail on first critically relies on the program order being sequential, even for elements. Out of order designs must *commit* in-order, and are required to cancel elements at and beyond the fail point.
 
 See [[appendix]] for more details on fail-on-first modes.