| 0-1 | 2 | 3 4 | description |
| --- | --- |---------|--------------------------- |
| 00 | 0 | zz els | simple mode |
-| 00 | 1 | zz els | Structured Pack/Unpack |
+| 00 | 1 | / / | reserved |
| 01 | inv | CR-bit | Rc=1: ffirst CR sel |
| 01 | inv | els RC1 | Rc=0: ffirst z/nonz |
| 10 | N | zz els | sat mode: N=0/1 u/s |
This is very different from Arithmetic (Data-dependent) FFirst
where Vertical-First Mode is fully deterministic, not speculative.
-# LD/ST Pack/Unpack Mode
-
-As described in [[sv/normal]],
-Structured Pack/Unpack is similar to VSX `vpack` and `vunpack` except
-generalised not only to a Schedule to be applied to any operation but
-also extended to vec2/3/4.
-
-Just as in [[sv/normal]] operations,
-setting this mode changes the meaning of bits 4-5 in `RM` from being
-`ELWIDTH` to a pair of Pack/Unpack bits. Thus it is not possible
-to separately override source and destination elwidths at the same
-time as use Pack/Unpack: the `SRC_ELWIDTH` bits (6-7) must be used as
-both source and destination elwidth.
-
-Pack/Unpack only applies to LD/ST-immediate operations.
-See [[sv/svp64/appendix]] for details on how Pack/Unpack
-is implemented.
-
# LOAD/STORE Elwidths <a name="elwidth"></a>
Loads and Stores are almost unique in that the Power Scalar ISA
j++;
Note above that the source elwidth is *not used at all* in LD-immediate.
-*(For Pack/Unpack Mode which shares the same source elwidth bits this
-is no great loss)*.
For LD/Indexed, the key is that in the calculation of the Effective Address,
RA has no elwidth override but RB does. Pseudocode below is simplified
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', 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*.
-
-