(no commit message)
authorlkcl <lkcl@web>
Sat, 9 Apr 2022 20:16:40 +0000 (21:16 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 9 Apr 2022 20:16:40 +0000 (21:16 +0100)
openpower/sv/svp64/appendix.mdwn

index c3d5bf52da1d018c89c9fd06e19c58dc69e9df3b..b402f41a00b493bc105903455e87082e3f44eb94 100644 (file)
@@ -126,6 +126,26 @@ example.  For SVP64 there is insufficient space to make the SVP64 Prefix
 "self-describing", and consequently every single Scalar instruction 
 had to be individually analysed, by rote, to craft an EXTRA Field Mapping.
 This process was semi-automated and is described in this section.
+The final results, which are part of the SVP64 Specification, are here:
+
+* [[openpower/opcode_regs_deduped]]
+
+Firstly, every instruction's mnemonic (`add RT, RA, RB`) was analysed
+from reading the markdown formatted version of the Scalar pseudocode
+which is machine-readable and found in [[openpower/isatables]].  The
+analysis gives, by instruction, a "Register Profile".  `add RT, RA, RB`
+for example is given a designation `RM-2R-1W` because it requires
+two GPR reads and one GPR write.
+
+Secondly, the total number of registers was added up (2R-1W is 3 registers)
+and if less than or equal to three then that instruction could be given an
+EXTRA3 designation.  Four or more is given an EXTRA2 designation because
+there are only 9 bits available.
+
+Thirdly, a packing format was decided: for 2R-1W an EXTRA3 indexing
+could have been decided
+that RA would be indexed 0 (EXTRA bits 0-2), RB indexed 1 (EXTRA bits 3-5)
+and RT indexed 2 (EXTRA bits 6-8).
 
 # Single Predication