(no commit message)
authorlkcl <lkcl@web>
Thu, 15 Sep 2022 18:48:53 +0000 (19:48 +0100)
committerIkiWiki <ikiwiki.info>
Thu, 15 Sep 2022 18:48:53 +0000 (19:48 +0100)
openpower/sv/rfc/ls001.mdwn

index c9eb4e42658b43aab4c9c698ec05d7946818d99c..92e5822bdfea044adf963add175d579427e3c29e 100644 (file)
@@ -851,22 +851,38 @@ opcodes.  This hypothetical Unvectoriseable operation would be better off
 being allocated as EXT001 Prefixed, EXT000-063, or hypothetically in
 EXT300-363.
 
-**example ILLEGAL:**
+**ILLEGAL: dual allocation**
 
-* 32bit fredmv EXT0nn 0x12345678 or
-  64bit scalar EXT2nn 0x240000000 0x12345678
-* vector fishmv 0x27nnnnnn 0x12345678
+| width | assembler | prefix?      | suffix    | description   |
+|-------|-----------|--------------|-----------|---------------|
+| 32bit | fredmv    | none         | 0x12345678| scalar EXT0nn |
+| 64bit | ss.fredmv | 0x26!zero    | 0x12345678| scalar SVP64Single:EXT0nn |
+| 64bit | sv.fishmv  | 0x27nnnnnn   | 0x12345678| vector SVP64:EXT0nn |
 
-the use of 0x12345678 for fredmv in scalar but fishmv in Vector is **not** okay.
+the use of 0x12345678 for fredmv in scalar but fishmv in Vector is
+illegal.  the suffix in both 64-bit locations
+must be allocated to a Vectoriseable EXT000-063
+"Defined Word" (Public v3.1 Section 1.6.3 definition)
+or not at all.
 
 **another illegal example:**
 
-* 32bit RESERVEDunallocated EXT0nn 0x12345678 or
-  64bit scalar EXT2nn 0x240000000 0x12345678
-* vector fishmv 0x27nnnnnn 0x12345678
+| width | assembler | prefix?      | suffix    | description   |
+|-------|-----------|--------------|-----------|---------------|
+| 32bit | unallocated | none         | 0x12345678| scalar EXT0nn |
+| 64bit | ss.fredmv | 0x26!zero    | 0x12345678| scalar SVP64Single:EXT0nn |
+| 64bit | sv.fishmv  | 0x27nnnnnn   | 0x12345678| vector SVP64:EXT0nn |
+
+and:
 
-the fact that there does not exist a scalar variant *at all* is not okay.
+| width | assembler | prefix?      | suffix    | description   |
+|-------|-----------|--------------|-----------|---------------|
+| 64bit | unallocated | 0x24000000 | 0x12345678| scalar EXT2nn |
+| 64bit | ss.fishmv | 0x24!zero    | 0x12345678| scalar SVP64Single:EXT2nn |
+| 64bit | sv.fishmv | 0x26nnnnnn   | 0x12345678| vector SVP64:EXT2nn |
 
+Both of these are illegal. The fact that there does not exist a
+scalar "Defined Word" (even for EXT200-263)
 
 \newpage{}
 # Use cases