From: lkcl Date: Mon, 30 May 2022 07:11:38 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2039 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=93aae810e05f60cd118a287dd779b48d9ded6d58;p=libreriscv.git --- diff --git a/openpower/sv/svp64_quirks.mdwn b/openpower/sv/svp64_quirks.mdwn index cfecb876d..7c0221772 100644 --- a/openpower/sv/svp64_quirks.mdwn +++ b/openpower/sv/svp64_quirks.mdwn @@ -85,6 +85,9 @@ shall be no deviation from the corresponding Scalar instruction. This because of the tight integration with looping and the application of Boolean Logic manipulation needed for Parallel operations (predicate mask usage). +This results in an extremely important observation that `scalar identity +behaviour` is violated: the SV Prefixed variant of branch is **not** the same +operation as the unprefixed 32-bit scalar version. One key difference is that LR is only updated if certain additional conditions are met, whereas Scalar `bclrl` for example unconditionally