|---|-----|-----|-----|--|-----|-----|-------|-------|------------------|
|PO9| rm0 | 0 0 | 0 0 | 0 000 rm1 | xxxx | 0000 | SVP64:EXT900 |
|PO9| rm0 | 0 0 | 0 0 | 1 000 rm1 | xxxx | 0000 | SSingle:EXT900 |
-|PO9| xxx | x 0 | 0 0 | x !zero | xxxx | !zero | 55-bit RESERVED |
+|PO9| xxx | x 0 | 0 0 | x !zero0 | xxxx | !zero1| 55-bit RESERVED |
|PO9| xxx | 0 1 | 0 0 | 32-bit EXT900 (Vectorizable) |
|PO9| xxx | 1 1 | 0 0 | 32-bit EXT901 (Unvectorizable) |
|PO9| !ZERO | 0 0 | 1 | DWi | SSingle:EXT232-263 |
* `RM`: 24-bit SVP64 prefix
* `RM <- rm0 || rm1` split field
+* `!zero0 || !zero1` a split field that must not be zero
Length detection:
the complexity of attempting to fit 32-bit instructions into
PO9 is very high. encoding (1) attempts to fit `setvl` etc. into
-32-bit but it is very tight.
+32-bit but it is very tight. the entire EXT900 area would be
+taken up by the SVP64 Management instructions, below, defeating
+the purpose of having it.
+
+* `setvl` - Unvectorizable, EXT0xx, `RT RA CTR SVSTATE`, 6-bit XO (including Rc=1)
+* `psetvl` - Unvectorizable, EXT1xx, ditto
+* `svstep` - Vectorizable, either EXT900 (very precious) or EXT1xx (better), `RT, SVSTATE`, 6-bit XO (including Rc=1)
+* `svindex` - Unvectorizable, EXT0xx, `SVSTATE,SVSHAPE0-3`, 5-bit XO
+* `psvindex` - Unvectorizable, EXT1xx, ditto
+* `svstep(2)` - Unvectorizable, EXT0xx, `SVSTATE,SVSHAPE0-3`, 5-bit XO
+* `svstep(2)` - Unvectorizable, EXT1xx, ditto
-* `setvl` - Unvectorizable, EXT0xx, 6-bit XO (including Rc=1)
-* `psetvl` - Unvectorizable, EXT1xx
```
|---|-----|--------|--|-----|---|-------|-------|------------------|
|PO9| rm0 | 0 0 0 | 0 0000 rm1| xxxx | 000 | SVP64:EXT900 |
|PO9| rm0 | 0 0 0 | 1 0000 rm1| xxxx | 000 | SSingle:EXT900 |
-|PO9| xxx | 0 0 0 | x !zero | xxxx | !zero | 55-bit RESERVED |
+|PO9| xxx | 0 0 0 | x !zero0 | xxxx | !zero1 | 55-bit RESERVED |
|PO9| xxx | 1 0 0 | 32-bit EXT900 |
|PO9| !ZERO | 0 0 | 1 | DWi | SSingle:EXT232-263 |
|PO9| 0000 | 0 0 | 1 | DWi | Scalar EXT232-263 |