From: lkcl Date: Sat, 20 Aug 2022 19:17:50 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~816 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5ffdc881f4af51007cd6f1599c84e639bd1b3a33;p=libreriscv.git --- diff --git a/openpower/sv/ldst.mdwn b/openpower/sv/ldst.mdwn index aaeba9009..b45cef665 100644 --- a/openpower/sv/ldst.mdwn +++ b/openpower/sv/ldst.mdwn @@ -554,5 +554,16 @@ because the generic abstracted concept of "Remapping", when applied to LD/ST, will give that same capability, with far more flexibility. Also LD/ST with immediate has a Pack/Unpack option similar to VSX -'vpack' and 'vunpack'. +'vpack' and 'vunpack', as well as the VSX Pixel instructions. Enabling +this mode on SubVectors is straightforward and does not involve +the setup cost of REMAP. Unlike REMAP, Pack/Unpack on LD/ST does not have +Saturation (or Fail-first) at the same time. + +*Programmer's note: a decision on what is best if combining Saturation +with Pack/Unpack is required will depend on resources. REMAP will +require less registers but is more costly to set up. On the other +hand LDST Pack/Unpack followed by Saturated MV or arithmetic requires +intermediary registers at full width prior to reduced saturated width. +A balanced decision is therefore needed*. +