From 84e8496e849e65141632ce1c3203daf5d48e2086 Mon Sep 17 00:00:00 2001 From: lkcl Date: Mon, 26 Oct 2020 01:23:22 +0000 Subject: [PATCH] --- openpower/openpower/sv/predication.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/openpower/openpower/sv/predication.mdwn b/openpower/openpower/sv/predication.mdwn index aad7a6681..100a4c850 100644 --- a/openpower/openpower/sv/predication.mdwn +++ b/openpower/openpower/sv/predication.mdwn @@ -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. -- 2.30.2