(no commit message)
authorlkcl <lkcl@web>
Mon, 26 Oct 2020 01:23:22 +0000 (01:23 +0000)
committerIkiWiki <ikiwiki.info>
Mon, 26 Oct 2020 01:23:22 +0000 (01:23 +0000)
openpower/openpower/sv/predication.mdwn

index aad7a6681d3b2b464e6e650ec9635b63aa4236a2..100a4c85020925301ab18051302475cf24f62e6e 100644 (file)
@@ -44,3 +44,12 @@ an analysis of changing the element widths (for SIMD) gives the following potent
 
 a big advantage of this is that unpredicated operations just set the predicate to an immediate of all 1s and the actual ALUs require very little modification.
 
+## Scalar (single) integer as predicate, with one DM row
+
+This idea has several disadvantages.
+
+* the single DM entry for the entire 64 bits creates a read hazard that has to be resolved through the addition of a special Shadowing Function Unit.  Only when the entire predicate is available can the die-cancel/ok be pulled on the FU elements each bit covers
+* this situation is exacerbated if one vector creates a predicate mask that is then used to mask immediately following instructions.  Ordinarily, Cray-styke "chaining" would be possible.  The single DM entry for the entire predicate mask prohibits this.
+* Allocation of bits to FUs gets particularly complex for SIMD (elwidth overrides) requiring shift and mask logic that is simply not needed compared to "one-for-one" schemes (above)
+
+Overall there is very little in favour of this concept.