From: lkcl Date: Fri, 27 May 2022 10:16:12 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2063 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bb4c024eced053b0fe3914a62406535478a5f480;p=libreriscv.git --- diff --git a/openpower/sv/svp64_quirks.mdwn b/openpower/sv/svp64_quirks.mdwn index ad3662fe6..72458c425 100644 --- a/openpower/sv/svp64_quirks.mdwn +++ b/openpower/sv/svp64_quirks.mdwn @@ -78,4 +78,15 @@ this section. # Branch-Conditional -[[sv/branches]] +[[sv/branches]] are a very special exception to the rule that the +Scalar instruction shall not be modified. This because of the tight +integration with looping and the application of Boolean Logic +manipulation needed for Parallel operations (predicate mask usage). + +One key difference is that LR is only updated if certain additional +conditions are met, whereas Scalar `bclrl` for example unconditionally +overwrites LR. + +Well over 500 Vectorised branch instructions exist in SVP64 due to the +number of options available: close integration and interaction with +the base Scalar Branch was unavoidable.