(no commit message)
authorlkcl <lkcl@web>
Fri, 9 Jun 2023 00:09:14 +0000 (01:09 +0100)
committerIkiWiki <ikiwiki.info>
Fri, 9 Jun 2023 00:09:14 +0000 (01:09 +0100)
openpower/sv/po9_encoding/discussion.mdwn

index 1dadc0c3a0e4501f23f4ad6d88ffcb8458b32f41..9e425d79b605df9aeadeaa4303f48c088d68933e 100644 (file)
@@ -79,6 +79,7 @@ the purpose of having it.
 |PO9|!ZERO   | 0 1 | Defined Word-instruction | SSingle:EXT000-063 |
 |PO9|  nnnn  | 1 1 | Defined Word-instruction | SVP64:EXT000-063   |
 ```
+
 Length detection:
 
 ```
@@ -87,9 +88,12 @@ Length detection:
     elif Word[29:31] = 0b000 return 32
     else                     return 64
 ```
+
 # alternative 32-64 encoding (3)
 
-aim of this idea is to attempt simplification of area identificatiin
+TODO 
+aim of this idea is to attempt simplification of area identification
+and length.
 
 
 
@@ -100,12 +104,20 @@ aim of this idea is to attempt simplification of area identificatiin
 |PO9| rm0 | 1  0 0 | 0 0000  rm1|  xxxx | 000   | SVP64:EXT900     |
 |PO9|!ZERO| 1  0 0 | 0 1000  1  |  xxxx | 000   | SSingle:EXT900   |
 |PO9| xxx | 1  0 0 | 0 !zero0   |  xxxx | !zero1| 55-bit RESERVED  |
-|PO9| xxx | 0  0 0 |            32-bit EXT900                      |
-|PO9|!ZERO| 1  0 0 |  1 | DWi                 | SSingle:EXT232-263 |
-|PO9| 000 | 1  0 0 |  1 | DWi                 | Scalar EXT232-263  |
+|PO9| xxxx   | 0 0 |            32-bit EXT900                      |
+|PO9| !ZERO  | 1 0 |  0 | DWi                 | SSingle:EXT232-263 |
+|PO9|  0000  | 1 0 |  0 | DWi                 | Scalar EXT232-263  |
 |PO9|  nnnn  | 1 0 |  1 | DWi                 | SVP64:EXT232-263   |
 |PO9|  0000  | 0 1 | Defined Word-instruction | 32-bit Unvec in 64b|
-|PO9|!ZERO   | 0 1 | Defined Word-instruction | SSingle:EXT000-063 |
+|PO9| !ZERO  | 0 1 | Defined Word-instruction | SSingle:EXT000-063 |
 |PO9|  nnnn  | 1 1 | Defined Word-instruction | SVP64:EXT000-063   |
 ```
 
+Length detection:
+
+```
+    if PO1                   return 64
+    elif not PO9             return 32
+    elif Word[30:31] = 0b00  return 32
+    else                     return 64
+```