From: lkcl Date: Sat, 2 Apr 2022 12:05:40 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2930 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4cd0342ba4372a4e426c656590acde06eb39a1bd;p=libreriscv.git --- diff --git a/openpower/sv/branches.mdwn b/openpower/sv/branches.mdwn index aa8d79343..fe16696c6 100644 --- a/openpower/sv/branches.mdwn +++ b/openpower/sv/branches.mdwn @@ -189,6 +189,15 @@ LRu and CTR-test modes are where SVP64 Branches subtly differ from Scalar v3.0B Branches. `bclr` for example will always update LR, whereas `sv.bclr/lru` will only update LR if the branch succeeds. +Of special interest is that when using ALL Mode (Great Big AND +of all Condition Tests), if `VL=0`, +which is rare but can occur in Data-Dependent Modes, the Branch +will always take place because there will be no failing Condition +Tests to prevent it. Likewise when not using ALL Mode (Great Big OR +of all Condition Tests) and `VL=0` the Branch is guaranteed not +to occur because there will be no *successful* Condition Tests +to make it happen. + # Vectorised CR Field numbering, and Scalar behaviour It is important to keep in mind that just like all SVP64 instructions,