There are eight SPRs, available in any privilege level:
* SVSTATE (containing copies of MVL, VL and SUBVL as well as context information)
-* SVSRR0 which is used for exceptions and traps to store SVSTATE.
* SVLR, a mirror of LR, used by Vectorised Branch
* SVSHAPE0-3 for REMAP purposes, re-shaping Vector loops
* SVREMAP for applying specific shapes to specific registers
* Pack - if set then srcstep/substep VL/SUBVL loop-ordering is inverted.
* UnPack - if set then dststep/substep VL/SUBVL loop-ordering is inverted.
* hphint - Horizontal Parallelism Hint. Indicates that
- no Hazards exist between these elements. In Vertical First Mode
+ no Hazards exist between this number of sequentially-accessed
+ elements (including after REMAP). In Vertical First Mode
hardware **MUST** perform this many elements in parallel
per instruction. Set to zero to indicate "no hint".
* SVme - REMAP enable bits, indicating which register is to be
* Setting srcstep, dststep to 64 or greater, or VL or MVL to greater
than 64 is reserved and will cause an illegal instruction trap.
-# SVSRR0
-
-In scalar v3.0B traps, exceptions and interrupts, two SRRs are saved/restored:
-
-* SRR0 to store the PC (CIA/NIA)
-* SRR1 to store a copy of the MSR
-
-Given that SVSTATE is effectively a Sub-PC it is critically important to add saving/restoring of SVSTATE as a full peer equal in status to PC, in every way. At any time PC is saved or restored, so is SVSTATE in **exactly** the same way for **exactly** the same reasons. Thus, at an exception point,
-hardware **must** save/restore SVSTATE in SVSRR0 at exactly the same
-time that SRR0 is saved/restored in PC and SRR1 in MSR.
-
-The SPR name given for the purposes of saving/restoring
-SVSTATE is SVSRR0.
-
# SVLR
SV Link Register, exactly analogous to LR (Link Register) may