From c2550375e7dd0fe2707924e0ce2ca5bcc50c96e7 Mon Sep 17 00:00:00 2001 From: lkcl Date: Wed, 15 Jun 2022 00:41:04 +0100 Subject: [PATCH] --- openpower/sv/svp64_quirks.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/openpower/sv/svp64_quirks.mdwn b/openpower/sv/svp64_quirks.mdwn index 5b157bf39..34920fdb4 100644 --- a/openpower/sv/svp64_quirks.mdwn +++ b/openpower/sv/svp64_quirks.mdwn @@ -512,3 +512,13 @@ based on an immediate supplied by the instruction. The fun comes when Pack/Unpack are enabled, and it is really important to be aware how the Arrays of vec2/3/4 become re-ordered *and swizzled at the same time*. + +Pack/Unpack applies to +[[sv/mv.vec]] as well however the uniform relationship and +the fact that the source and destination subvector length +must be the same (vec2/3/4) makes things slightly easier to +understand. The main thing to keep in mind about Pack/Unpack +is that it engages a swap of the ordering of the VL-SUBVL +nested for-loops, in exactly the same way that Matrix REMAP +can do. When Pack or Unpack is enabled it is the SUBVL for-loop +thar becomes outermost. -- 2.30.2