move PO9-encoding to ls001
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 6 Apr 2023 23:21:02 +0000 (00:21 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 6 Apr 2023 23:21:02 +0000 (00:21 +0100)
openpower/sv/po9_encoding.mdwn
openpower/sv/rfc/ls001.mdwn
openpower/sv/rfc/ls010.mdwn

index 9714d695cbf51c5f9b8c04ef9c0eb674d9ec3f34..21d310dcbe47f1d1d983efa7d88e603824d4f94d 100644 (file)
@@ -1,5 +1,27 @@
+# Definitions
+
+**Proposal: Add the following Definition to Section 1.3.1 of Book I**
+
+Definition of "UnVectoriseable":
+
+Any operation that inherently makes no sense if repeated (through SVP64
+Prefixing) is termed "UnVectoriseable" or "UnVectorised".  Examples
+include `sc` or `sync` which have no registers. `mtmsr` is also classed
+as UnVectoriseable because there is only one `MSR`.
+
+UnVectorised instructions are required to be detected as such if
+Prefixed (either SVP64 or SVP64Single) and an Illegal Instruction
+Trap raised.
+
+*Architectural Note: Given that a "pre-classification" Decode Phase is
+required (identifying whether the Suffix - Defined Word - is
+Arithmetic/Logical, CR-op, Load/Store or Branch-Conditional),
+adding "UnVectorised" to this phase is not unreasonable.*
+
 # New 64-bit Instruction Encoding spaces
 
+**Proposal: Add new Section 1.6.5 to Book I**
+
 The following seven new areas are defined within Primary Opcode 9 (EXT009)
 as a new 64-bit encoding space, alongside Primary Opcode 1
 (EXT1xx).
@@ -25,11 +47,11 @@ areas EXT200-231 and EXT300-363 respectively, however as RESERVED areas
 they may equally be allocated entirely differently.
 
 *Architectural Resource Allocation Note: **under no circumstances** must
-different Defined Words be allocated within any `EXT{z}` prefixed
-or unprefixed space for a given value of `z`. Even if UnVectoriseable
+different Defined Words be allocated within any `EXT{z}` prefixed or
+unprefixed space for a given value of `z` of 0, 2 or 3. Even if UnVectoriseable
 an instruction Defined Word space must have the exact same Instruction
-and exact same Instruction Encoding in all spaces being RESERVED Illegal
-Instruction Trap if UnVectoriseable) or not be allocated at all.
+and exact same Instruction Encoding in all spaces being RESERVED (Illegal
+Instruction Trap if UnVectoriseable) or not be allocated at all.
 This is required as an inviolate hard rule governing Primary Opcode 9
 that may not be revoked under any circumstances. A useful way to think
 of this is that the Prefix Encoding is, like the 8086 REP instruction,
index dbf137b72fa906bf9e851c8bd4ecba7b5521a67d..67ac35117346894ea47ae3e153c14335ae7c577d 100644 (file)
@@ -874,6 +874,9 @@ on their merits.
 
 \newpage{}
 
+[[!inline pages="openpower/sv/po9_encoding" raw=yes ]]
+
+
 **EXT000-EXT063**
 
 These are Scalar word-encodings. Often termed "v3.0 Scalar" in this document
index 1e53be0cae55cf8233ac8c61ef8cc8a04cda62db..5e4497ba2a1b37fe2d61f5e4a1b786932d3ac257 100644 (file)
@@ -98,5 +98,4 @@ Add the following entries to:
 [[!inline pages="openpower/sv/normal" raw=yes ]]
 [[!inline pages="openpower/sv/ldst" raw=yes ]]
 [[!inline pages="openpower/sv/branches" raw=yes ]]
-[[!inline pages="openpower/sv/po9_encoding" raw=yes ]]
 [[!inline pages="openpower/sv/cr_ops" raw=yes ]]