(no commit message)
authorlkcl <lkcl@web>
Thu, 23 Jun 2022 14:18:30 +0000 (15:18 +0100)
committerIkiWiki <ikiwiki.info>
Thu, 23 Jun 2022 14:18:30 +0000 (15:18 +0100)
openpower/sv/mv.swizzle.mdwn

index dde041da56dad583d4911702c26bddff7d9ad0b5..7fe991734762d77db87497eb3a7c58026a2831e5 100644 (file)
@@ -234,26 +234,20 @@ the maximum permitted Saturated value is inserted rather than Constant 1.
 zero because there is no encoding space to select between -1, 0 and 1, and
 0 and max values are more useful.
 
-# RM Mode Concept:
-
-MVRM-2P-1S1D:
-
-| Field Name | Field bits | Description                     |
-|------------|------------|----------------------------|
-| Rdest_EXTRA2 | `10:11`  | extends Rdest (R\*\_EXTRA2 Encoding)   |
-| Rsrc_EXTRA2  | `12:13`  | extends Rsrc  (R\*\_EXTRA2 Encoding)   |
-| PACK_en      | `14`     | Enable pack              |
-| UNPACK_en    | `15`     | Enable unpack             |
-| MASK_SRC     | `16:18`  | Execution Mask for Source     |
-
-The inclusion of a separate src SUBVL allows
-`sv.mv.swiz RT.vecN RA.vecN` to mean zip/unzip (pack/unpack).
-This is conceptually achieved by having both source and
+# Pack/Unpack Mode:
+
+It is possible to apply Pack and Unpack to Vectorised 
+swizzle moves, and these instructions are of EXTRA type
+`RM-2P-1S1D-PU`. The interaction requires specific explanation
+because it involves the separate SUBVLs (with destination SUBVL
+being separate). Key to understanding is that the 
+source and
 destination SUBVL be "outer" loops instead of inner loops,
-exactly as in [[sv/remap]] Matrix mode.
+exactly as in [[sv/remap]] Matrix mode, under the control
+of `PACK_en` and `UNPACK_en`.
 
 Illustrating a
-"normal" SVP64 operation with `SUBVL!=1:` (assuming no elwidth overrides):
+"normal" SVP64 operation with `SUBVL!=1` (assuming no elwidth overrides):
 
     def index():
         for i in range(VL):