whitespace tables
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 30 Nov 2020 15:20:07 +0000 (15:20 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 30 Nov 2020 15:20:07 +0000 (15:20 +0000)
openpower/sv/16_bit_compressed.mdwn

index a19adbd738d0d21680fdaeda0500a4f431de5e19..b5526beb53a6ebfe73e794723546dc1fb886aef0 100644 (file)
@@ -284,11 +284,13 @@ is "nop"
 
     | 16-bit mode | | 10-bit mode                 |
     | 0 | 1 | 234 | | 567.8  | 9  ab | c   de | f |
+    | - | - | --- | | -----  | ----- | ------ | - |
     | 0 | 0   000 | | 000.0  | 0  00 | 0   00 | 0 | illeg
     | 0 | 0   000 | | 000.0  | 0  00 | 0   00 | 1 | nop
 
 16 bit mode only:
 
+    | - | - | --- | | -----  | ----- | ------ | - |
     | 1 | 0   000 | | 000.0  | 0  00 | 0   00 | 0 | nop
     | 1 | 1   000 | | 000.0  | 0  00 | 0   00 | 0 | attn
     | 1 | nonzero | | 000.0  | 0  00 | 0   00 | 0 | TBD
@@ -317,6 +319,7 @@ In essence the 2 nops are needed due to there being 2 different C forms:
 
     | 16-bit mode | | 10-bit mode                 |
     | 0 | 1 | 234 | | 567.8  | 9  ab | c   de | f |
+    | - | - | --- | | -----  | ----- | ------ | - |
     | N | offs2   | | 000.LK | offs!=0        | M | b, bl
     | 1 | offs2   | | 000.LK | BI    | BO1 oo | 1 | bc, bcl
     | N | BO3 BI3 | | 001.0  | LK BI | BO     | M | bclr, bclrl
@@ -451,28 +454,31 @@ Note here that elwidth overrides (SV Prefix) can be used to select FP16/32/64
 * 10-bit, ignore bits 0-4 (used by EXTNNN=Compressed)
 * 16-bit: note that bit 1==0 (sub-sub-encoding)
 
-    | 16-bit mode   | | 10-bit mode             |
-    | 0 | 1 | 2 3 4 | | 567.8 | 9ab | c d e | f |
-    | N |   |  RT   | | 011.1 | RB  | RA!=0 | M | fsub.
-    | N | 0 |  RT   | | 110.0 | RB  | RA!=0 | M | fadd
-    | N | 0 |  RT   | | 110.1 | RB  | RA!=0 | M | fmul
-    | N | 0 |  RT   | | 011.1 | RB  | 0 0 0 | M | fneg.
-    | N | 0 |  RT   | | 110.0 | RB  | 0 0 0 | M |
-    | N | 0 |  RT   | | 110.1 | RB  | 0 0 0 | M |
+    | 16-bit mode | | 10-bit mode             |
+    | 0 | 1 | 234 | | 567.8 | 9ab | c d e | f |
+    | - | - | --- | | ----- | --- | ----- | - |
+    | N |   |  RT | | 011.1 | RB  | RA!=0 | M | fsub.
+    | N | 0 |  RT | | 110.0 | RB  | RA!=0 | M | fadd
+    | N | 0 |  RT | | 110.1 | RB  | RA!=0 | M | fmul
+    | N | 0 |  RT | | 011.1 | RB  | 0 0 0 | M | fneg.
+    | N | 0 |  RT | | 110.0 | RB  | 0 0 0 | M |
+    | N | 0 |  RT | | 110.1 | RB  | 0 0 0 | M |
 
 16-bit mode only (note that bit 1 == 1):
 
-    | 0 | 1 | 2 3 4 | | 567.8 | 9ab | c d e | f |
-    | N | 1 |  RT   | | 011.1 | RB  | RA!=0 | 0 |
-    | N | 1 |  RT   | | 110.0 | RB  | RA!=0 | 0 |
-    | N | 1 |  RT   | | 110.1 | RB  | RA!=0 | 0 | fdiv
-    | N | 1 |  RT   | | 011.1 | RB  | 0 0 0 | 0 | fabs.
-    | N | 1 |  RT   | | 110.0 | RB  | 0 0 0 | 0 | fmr.
-    | N | 1 |  RT   | | 110.1 | RB  | 0 0 0 | 0 |
+    | 0 | 1 | 234 | | 567.8 | 9ab | c d e | f |
+    | - | - | --- | | ----- | --- | ----- | - |
+    | N | 1 |  RT | | 011.1 | RB  | RA!=0 | 0 |
+    | N | 1 |  RT | | 110.0 | RB  | RA!=0 | 0 |
+    | N | 1 |  RT | | 110.1 | RB  | RA!=0 | 0 | fdiv
+    | N | 1 |  RT | | 011.1 | RB  | 0 0 0 | 0 | fabs.
+    | N | 1 |  RT | | 110.0 | RB  | 0 0 0 | 0 | fmr.
+    | N | 1 |  RT | | 110.1 | RB  | 0 0 0 | 0 |
 
 16 bit only, FP to INT convert (using C 0b001.1 subencoding)
 
     | 0123 | 4 | | 567.8 | 9 ab | cde  | f |
+    | ---- | - | | ----- | ---- | ---- | - |
     | 0010 | X | | 001.1 | 0 RA | Y RT | M | fp2int
     | 0011 | X | | 001.1 | 0 RA | Y RT | M | int2fp
 
@@ -493,6 +499,7 @@ Note here that elwidth overrides (SV Prefix) can be used to select FP16/32/64
 
     | 16-bit mode   | | 10-bit mode            |
     | 0 1 2 3 | 4   | | 567.8 | 9 ab | cde | f |
+    | ------- | --- | | ----- | ---- | --- | - |
     | 0 0 0 0 | BF2 | | 001.1 | 0 BF | BFA | M | mcrf
     | 0 0 0 1 | BA2 | | 001.1 | 0 BA | BB  | M | crnor
     | 0 1 0 0 | BA2 | | 001.1 | 0 BA | BB  | M | crandc
@@ -527,26 +534,29 @@ space (when RA==0)
 
     | 16-bit mode | | 10-bit mode             |
     | 0 | 1 2 3 4 | | 567.8 | 9ab   | cde | f |
+    | - | ------- | | ----- | ----- | --- | - |
     | N | 0 Bank2 | | 010.0 | CBank | 000 | M | cbank
 
-**not available** in 10-bit mode:
+**not available** in 10-bit mode, **only** in 16-bit mode:
 
-    | 0 1 2 3 | 4  | | 567.8 | 9 ab | cde  | f |
-    | 1 1 1 1 | 0  | | 001.1 | 0 00 |  RT  | M | mtlr
-    | 1 1 1 1 | 0  | | 001.1 | 0 01 |  RT  | M | mtctr
-    | 1 1 1 1 | 0  | | 001.1 | 0 11 |  RT  | M | mtcr
-    | 1 1 1 1 | 1  | | 001.1 | 0 00 |  RA  | M | mflr
-    | 1 1 1 1 | 1  | | 001.1 | 0 01 |  RA  | M | mfctr
-    | 1 1 1 1 | 1  | | 001.1 | 0 11 |  RA  | M | mfcr
+    | 0 1 2 3 | 4 | | 567.8 | 9 ab | cde  | f |
+    | ------- | - | | ----- | ---- | ---- | - |
+    | 1 1 1 1 | 0 | | 001.1 | 0 00 |  RT  | M | mtlr
+    | 1 1 1 1 | 0 | | 001.1 | 0 01 |  RT  | M | mtctr
+    | 1 1 1 1 | 0 | | 001.1 | 0 11 |  RT  | M | mtcr
+    | 1 1 1 1 | 1 | | 001.1 | 0 00 |  RA  | M | mflr
+    | 1 1 1 1 | 1 | | 001.1 | 0 01 |  RA  | M | mfctr
+    | 1 1 1 1 | 1 | | 001.1 | 0 11 |  RA  | M | mfcr
 
 ### Unallocated
 
-    | 0 1 2 3 | 4  | | 567.8 | 9 ab | cde  | f |
-    | 0 1 0 1 |    | | 001.1 | 0    |      | M |
-    | 1 0 1 0 |    | | 001.1 | 0    |      | M |
-    | 1 0 1 1 |    | | 001.1 | 0    |      | M |
-    | 1 1 0 0 |    | | 001.1 | 0    |      | M |
-    | 1 1 1 1 |    | | 001.1 | 0 10 |      | M |
+    | 0 1 2 3 | 4 | | 567.8 | 9 ab | cde  | f |
+    | ------- | - | | ----- | ---- | ---- | - |
+    | 0 1 0 1 |   | | 001.1 | 0    |      | M |
+    | 1 0 1 0 |   | | 001.1 | 0    |      | M |
+    | 1 0 1 1 |   | | 001.1 | 0    |      | M |
+    | 1 1 0 0 |   | | 001.1 | 0    |      | M |
+    | 1 1 1 1 |   | | 001.1 | 0 10 |      | M |
 
 ## Other ideas (Attempt 2)