From: lkcl Date: Tue, 7 Sep 2021 14:47:35 +0000 (+0100) Subject: (no commit message) X-Git-Tag: DRAFT_SVP64_0_1~198 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35e6d53a60d6db4e2cac6dc2b90a67e8d5b56046;p=libreriscv.git --- diff --git a/openpower/sv/cr_ops.mdwn b/openpower/sv/cr_ops.mdwn index f6e48d89a..081156352 100644 --- a/openpower/sv/cr_ops.mdwn +++ b/openpower/sv/cr_ops.mdwn @@ -1,19 +1,17 @@ -# Data-dependent fail-first on CR operations +# Condition Register SVP64 Operations -Data-dependent SVP64 Vectorised Operations involving the creation or -modification of a CR require an extra two bits, which are not available -in the compact space of the `MODE` Field. With the concept of element -width overrides being meaningless for CR Fields it is possible to use the -`ELWIDTH` field for extra fields. +Condition Register Fields are only 4 bits wide: this presents some +interesting conceptual challenges for SVP64, with respect to element +width (which is clearly meaningless). -Condition Register based operations such as `mfcr` and `crand` can thus -be made more flexible. However the rules that apply in this section -also apply to future CR-based instructions. Note that these rules and + +Note that these rules and the alternative mapping **only** applies to instructions that **only** reference a CR Field or CR bit as the sole exclusive result. This section **does not** apply to instructions which primarily produce arithmetic results that also produce a CR Field (such as when Rc=1). + SVP64 RM `MODE` (includes `ELWIDTH` bits) for CR-based operations: | 4 | 5 | 19-20 | 21 | 22 23 | description | @@ -30,6 +28,19 @@ SVP64 RM `MODE` (includes `ELWIDTH` bits) for CR-based operations: Fields: + +# Data-dependent fail-first and Pred-result on CR operations + +Data-dependent SVP64 Vectorised Operations involving the creation or +modification of a CR require an extra two bits, which are not available +in the compact space of the `MODE` Field. With the concept of element +width overrides being meaningless for CR Fields it is possible to use the +`ELWIDTH` field for extra fields. + +Condition Register based operations such as `mfcr` and `crand` can thus +be made more flexible. However the rules that apply in this section +also apply to future CR-based instructions. + There are two primary different types of CR operations: * Those which have a 3-bit operand field (referring to a CR Field)