(no commit message)
authorlkcl <lkcl@web>
Wed, 1 Jun 2022 14:31:06 +0000 (15:31 +0100)
committerIkiWiki <ikiwiki.info>
Wed, 1 Jun 2022 14:31:06 +0000 (15:31 +0100)
openpower/sv/svp64_quirks.mdwn

index 2543897cad2acbe7059fb7efbd29959a26fd5931..2b43e255c0afc8fca1725a2f64fc2a421e10af6a 100644 (file)
@@ -52,10 +52,27 @@ makes no sense at all, such as `sc` or `mtmsr`). The categories are:
 * Condition Register Field operations
 * branch
 
+Arithmetic (known as "normal" mode) is where Scalar and Parallel
+Reduction can be done: Saturation as well, and two new innovative
+modes for Vector ISAs: data-dependent fail-first and predicate result.
+Reduction and Saturation are common to see in Vector ISAs: it is just
+that they are usually added as explicit instructions. In SVP64 these
+concepts are applied in the abstract general form, which takes some
+getting used to, as it may result in invalid results, but ultimately
+it is critical to think in terms of the "rules", that everything is
+Scalar instructions in strict Program Order.
+
 Branch  is the one and only place where the Scalar
 (non-prefixed) operations differ from the Vector (element)
 instructions, as explained in a separate section.
-
+The
+RM bits can be used for other purposes because the Arithmetic modes
+make no sense at all for a Branch.
+Almost the entire
+SVP64 RM Field is interpreted differently from other Modes, in
+order to support a wide range of parallel boolean condition options
+which are expected of a Vector / GPU ISA. These save a considerable
+number of instructions in tight inner loop situations.
 
 # CR weird instructions