**As a Scalar instruction**
+Given that XYZW Swizzle can select simultaneously between one *and four*
+register operands, a full version of this instruction would
+be an eye-popping 8 64-bit operands: 4-in, 4-out. As part of a Scalar
+ISA this not practical. A compromise is to cut the registers required
+by half.
When part of the Scalar Power ISA (not SVP64 Vectorised)
mv.swiz and fmv.swiz operate on four 32-bit
quantities, reducing this instruction to 2-in, 2-out pairs of 64-bit
the Swizzle will be set to zero. A Swizzle of "..XY" would
copy the contents RA+1 into RT, but set RT+1 to zero.
-When (RA,RA+1) overlaps with (RT,RT+1) and RA!=RT, the results
-are `UNDEFINED`.
+Also, making life easier, RT and RA are only permitted to be even
+(no overlapping can occur). This makes RT (and RA) a "pair" exactly
+like `lq` and `stq`
**SVP64 Vectorised**
-When Vectorised, TODO
+When Vectorised, the
# Format
| 0.5 |6.10|11.15|16.27|28.31| name |
|-----|----|-----|-----|-----|--------------|
-|PO | RT | RA |imm | 0011| mv.swiz |
-|PO | RT | RA |imm | 1011| fmv.swiz |
+|PO | RTp| RAp |imm | 0011| mv.swiz |
+|PO | RTp| RAp |imm | 1011| fmv.swiz |
this gives a 12 bit immediate across bits 16 to 25 and 29-30.