From: lkcl Date: Thu, 20 Oct 2022 21:55:18 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~67 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=06b5bdbe97e8e8eae4bd09918c027f1b5a9cdc79;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls003.mdwn b/openpower/sv/rfc/ls003.mdwn index 042f942b7..2fbbf6dda 100644 --- a/openpower/sv/rfc/ls003.mdwn +++ b/openpower/sv/rfc/ls003.mdwn @@ -62,9 +62,10 @@ Similar to `maddhdu` and `maddld`, but allow for a big-integer rolling accumulation affect: `RC` effectively becomes a 64-bit carry in chains -of highly efficient loop-unrolled arbitrary-length big-integer operations. +of highly-efficient loop-unrolled arbitrary-length big-integer operations. Similar to `divdeu`, and has similar advantages to `maddedu`, -Modulo result is available with the quotient. +Modulo result is available with the quotient in a single instruction +allowing highly-efficient arbitrary-length big-integer division. **Notes and Observations**: @@ -73,7 +74,7 @@ Modulo result is available with the quotient. 3. Both instructions have been present in Intel x86 for several decades. 4. Neither instruction is present in VSX: these are 128/64 whereas VSX is 128/128. -5. `maddedu` and `divmod2du` are inverses of each other, including +5. `maddedu` and `divmod2du` are full inverses of each other, including when used for arbitrary-length big-integer arithmetic **Changes**