# Basic principle
-The basic principle of Simple-V is to provide a Precise-Interruptible
-Zero-Overhead Loop system with associated register "offsetting"
+The inspiration for this came from the fact that on examination of every
+Vector ISA pseudocode encountered the Vector operations were expressed
+as a for-loop on a Scalar element
+operation, and then both a Scalar **and** a Vector instruction was added.
+It felt natural to separate the two at both the ISA and the Hardware Level
+and thus provide only Scalar instructions (instantly halving the number
+of instructions), leaving it up to implementors
+to implement Superscalar and Multi-Issue Micro-architectures at their
+discretion.
+
+Thus the basic principle of Simple-V is to provide a Precise-Interruptible
+Zero-Overhead Loop system[^zolc] with associated register "offsetting"
which augments a Suffixed instruction as a "template",
incrementing the register numbering progressively *and automatically*
each time round the "loop". Thus it may be considered to be a form
easy to add, working up towards an ISA that easily matches the capability
of powerful 3D GPU Vector Supercomputing ISAs, without ever adding even
one single Vector opcode.
-The inspiration for this came from the fact that on examination of every
-Vector ISA pseudocode encountered the Vector operations were expressed
-as a for-loop on a Scalar element
-operation, and then both a Scalar **and** a Vector instruction was added.
-
-It felt natural to separate the two at both the ISA and the Hardware Level
-and thus provide only Scalar instructions (instantly halving the number
-of instructions), leaving it up to implementors
-to implement Superscalar and Multi-Issue Micro-architectures at their
-discretion.
# Extension Levels
[[!tag opf_rfc]]
+[^zolc]: first introduced in DSPs, Zero-Overhead Loops are astoundingly effective in reducing total number of instructions executed or needed. [ZOLC](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.301.4646&rep=rep1&type=pdf) reduces instructions by **25 to 80 percent**.
[^msr]: an MSR bit or bits, conceptually equivalent to `MSR.SF` and added for the same reasons, would suffice perfectly.
[^extend]: Prefix opcode space (or MSR bits) **must** be reserved in advance to do so, in order to avoid the catastrophic binary-incompatibility mistake made by RISC-V RVV and ARM SVE/2
[^likeext001]: SVP64-Single is remarkably similar to the "bit 1" of EXT001 being set to indicate that the 64-bits is to be allocated in full to a new encoding, but in fact SVP64-single still embeds v3.0 Scalar operations.