(no commit message)
authorlkcl <lkcl@web>
Sat, 14 Nov 2020 21:28:00 +0000 (21:28 +0000)
committerIkiWiki <ikiwiki.info>
Sat, 14 Nov 2020 21:28:00 +0000 (21:28 +0000)
openpower/sv/major_opcode_allocation.mdwn

index 4b377f970e223d692864a0691e7324ceed736af5..55617ab37ab391c0aae5123d68b62b366d5f3217 100644 (file)
@@ -113,10 +113,16 @@ also need to be dedicated to saying if 16 bit mode is to be continued.
 10 bit mode may be expanded by 16 bit mode later, adding capabilities
 that do not fit in the extreme limited space.
 
-    | 0 1 2 3 4 | | 5 6 7 | 8 9 | a b | c d | e  | f |
-    |           | | 0 0 0 |     offs        | LK | 1 | b
-    |           | | 0 0 1 | 00  | BI  | BO  | LK | 1 | bclr
-    |           | | 0 0 1 | 01  | BI  | BO  | LK | 1 | bctar
+    | 0 1 | 2 3 4 | | 5 6 7 | 8 9 | a b | c d | e  | f |
+    |   offs2     | | 0 0 0 |     offs        | LK | 1 | b
+    | BO2 | BI3   | | 0 0 1 | 00  | BI  | BO  | LK | 1 | bclr
+    | BO2 | BI3   | | 0 0 1 | 01  | BI  | BO  | LK | 1 | bctar
+
+16 bit mode:
+
+* offs2 extends offset in MSBs
+* BI3 extends BI in MSBs to allow selection of full CR
+* BO2 extends BO
 
 10 bit mode:
 
@@ -130,19 +136,23 @@ that do not fit in the extreme limited space.
 
 ### LD/ST
 
-    | 0 1 2 3 4 | | 5 6 7 | 8 9 | a b | c d | e | f |
-    |           | | 0 0 1 | 11  | RB  | RA  | 0 | 1 | ld
-    |           | | 0 0 1 | 11  | RB  | RA  | 1 | 1 | st
+    | 0 1 2 3 4 | | 5 6 7 | 8 9 | a b | c d | e | f |
+    |     |  RT   | | 0 0 1 | 11  | RB  | RA  | 0 | 1 | ld
+    |     |  RT   | | 0 0 1 | 11  | RB  | RA  | 1 | 1 | st
 
 * elwidth overrides can set different widths
 
+16 bit mode:
+
+10 bit mode:
+
 ### Arithmetic
 
-    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
-    |           | | 0 1 0 | RB    | RA    | 0 | 1 | add
-    |           | | 0 1 0 | RB    | RA    | 1 | 1 | mul
-    |           | | 0 1 1 | RB    | (RA|0)| 0 | 1 | sub
-    |           | | 0 1 1 | RB    | (RA|0)| 1 | 1 | cmp
+    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
+    |           | | 0 1 0 | RB    | RA    | 0 | 1 | add
+    |           | | 0 1 0 | RB    | RA    | 1 | 1 | mul
+    |           | | 0 1 1 | RB    | (RA|0)| 0 | 1 | sub
+    |           | | 0 1 1 | RB    | (RA|0)| 1 | 1 | cmp
 
 10 bit mode:
 
@@ -152,11 +162,11 @@ that do not fit in the extreme limited space.
 
 ### Logical
 
-    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
-    |           | | 1 0 0 | RB    | RA    | 0 | 1 | and
-    |           | | 1 0 0 | RB    | RA    | 1 | 1 | nand
-    |           | | 1 0 1 | RB    | RA    | 0 | 1 | or
-    |           | | 1 0 1 | RB    | (RA|0)| 1 | 1 | nor
+    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
+    |           | | 1 0 0 | RB    | RA    | 0 | 1 | and
+    |           | | 1 0 0 | RB    | RA    | 1 | 1 | nand
+    |           | | 1 0 1 | RB    | RA    | 0 | 1 | or
+    |           | | 1 0 1 | RB    | (RA|0)| 1 | 1 | nor
 
 10 bit mode:
 
@@ -165,12 +175,12 @@ that do not fit in the extreme limited space.
 
 ### Floating Point
 
-    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
-    |           | | 1 1 0 | RB    | RA!=0 | 0 | 1 | fadd
-    |           | | 1 1 0 | RB    | 0 0 0 | 0 | 1 | fabs
-    |           | | 1 1 0 | RB    | RA    | 1 | 1 | fmul
-    |           | | 1 1 1 | RB    | (RA|0)| 0 | 1 | fsub
-    |           | | 1 1 1 | RB    | (RA|0)| 1 | 1 | fcmp
+    | 0 1 2 3 4 | | 5 6 7 | 8 9 a | b c d | e | f |
+    |           | | 1 1 0 | RB    | RA!=0 | 0 | 1 | fadd
+    |           | | 1 1 0 | RB    | 0 0 0 | 0 | 1 | fabs
+    |           | | 1 1 0 | RB    | RA    | 1 | 1 | fmul
+    |           | | 1 1 1 | RB    | (RA|0)| 0 | 1 | fsub
+    |           | | 1 1 1 | RB    | (RA|0)| 1 | 1 | fcmp
 
 10 bit mode: