From: lkcl Date: Sun, 29 Aug 2021 19:07:57 +0000 (+0100) Subject: (no commit message) X-Git-Tag: DRAFT_SVP64_0_1~276 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=03264c7bae29609d6f5ebfb351c35c2c18b779b0;p=libreriscv.git --- diff --git a/openpower/sv/branches.mdwn b/openpower/sv/branches.mdwn index 4c06bdec8..cc9b91bd3 100644 --- a/openpower/sv/branches.mdwn +++ b/openpower/sv/branches.mdwn @@ -157,7 +157,15 @@ of a given loop. The potential combinations of interactions is why CTR testing options have been added. If both CTR-test and VLSET Modes are requested, then because the CTR decrement is on a per element basis, the total amount that CTR is decremented -by will end up being VL *after* truncation (should that occur). +by will end up being VL *after* truncation (should that occur). In +other words, the order is (as can be seen in pseudocode, below): + +1. compute the test +2. (optionally) decrement CTR +3. (optionally) truncate VL +4. decide (based on step 1) whether to terminate looping + (including not executing step 5) +5. decide whether to branch. CTR-test mode and CTi interaction is as follows: note that `BO[2]` is still required to be clear for decrements to be