bug 1155: add svshape4 into PO5. fits barely
[libreriscv.git] / openpower / sv / draft_opcode_tables.mdwn
index ce182c11e10ed9a6df513547a00c8a8b909f71ad..6c797fb5457831b1bf6b5f85ca95b6ba78c97bc5 100644 (file)
@@ -4,15 +4,33 @@
 
 two major opcodes are needed
 
-ternlog has its own major opcode
+----
 
-|  29.30 |31| name      | Form |
-| ------ |--| --------- | ---- |
-|   0  0   |Rc| ternlogi  | TLI-Form |
-|   0  1   |  | crternlogi | TLI-Form |
-|   1 iv   |  | grevlogi | TLI-Form |
+PO5 (temporary)
 
-2nd major opcode for other bitmanip: minor opcode allocation
+| 26-28 | 29.30   |31| name        | Form     |
+| ----- | -----   |--| ---------   | ----     |
+|       |  0  0   |Rc| ternlogi    | TLI-Form |
+| 0 0 0 |  0  1   |  | crfternlogi | CRB-Form |
+| 0 0 1 |  0  1   |  | rsvd        | rsvd     |
+| 0 1 / |  0  1   |/ | svshape4    | SVI2-Form|
+| 1 0 n |  0  1   |  | rsvd        | rsvd     |
+| 1 1 n |  0  1   |  | rsvd        | rsvd     |
+|       |  1 iv   |1 | grevlogi    | TLI-Form |
+| 0 n n |  1 0    |0 | madd/sub    | A-Form   |
+|       |  1 1    |0 | crternlogi  | TLI-Form |
+
+madd/sub:
+
+| 0.5|6.10|11.15|16.20 |21..25   | 26....30  |31| name     | Form    |
+| -- | -- | --- | ---  | -----   | --------  |--| ------   | -------- |
+| NN | RT | RA  | RB   | RC      | /  00  10 |0 | maddsubrs | A-Form  |
+| NN | RT | RA  | RB   | RC      | /  01  10 |0 | maddrs    | A-Form  |
+| NN | RT | RA  | RB   | RC      | /  10  10 |0 | msubrs    | A-Form  |
+
+----
+
+PO22 - 2nd major opcode for other bitmanip: minor opcode allocation
 
 |  28.30 |31| name      |
 | ------ |--| --------- |
@@ -61,9 +79,8 @@ TODO: convert all instructions to use RT and not RS
 | 0.5|6.10|11.15|16.20 |21..25   | 26....30  |31| name     | Form    |
 | -- | -- | --- | ---  | -----   | --------  |--| ------   | -------- |
 | NN | RT | RA  |it/im57|im0-4   | 0  00  00 |0 | xpermi  | TODO-Form  |
-| NN | RT | RA  | RB   | RC      | sh 01  00 |0 | maddsubrs | BF-Form  |
-| NN |    |     |      |         | -  10  00 |0 | rsvd     | rsvd  |
-| NN |    |     |      |         | -  11  00 |0 | rsvd     | rsvd  |
+| NN |    |     |      |         | -  10  00 |0 | svshape3 | rsvd  |
+| NN |    |     |      |         | -  11  00 |0 | svshape4 | rsvd  |
 | NN | RT | RA  | RB   | RC      | nh 00  00 |1 | binlut |  VA-Form      |
 | NN | RT | RA  | RB   | /BFA/   | 0  01  00 |1 | bincrflut  | VA-Form     |
 | NN |    |     |      |         | 1  01  00 |1 | svindex    | SVI-Form    |
@@ -100,8 +117,9 @@ the [[sv/av_opcodes]])
 | NN | RT | RA  | RB  | 0  |   01  | 0001 110 |Rc| rsvd      |         |
 | NN | RT | RA  | RB  | 0  |   10  | 0001 110 |Rc| rsvd      |         |
 | NN | RT | RA  | RB  | 0  |   11  | 0001 110 |Rc| vec cprop | X-Form  |
-| NN |    |     |     |    |   00  | 0101 110 |0 | crfbinlog | {TODO}  |
-| NN |    |     |     |    |   00  | 0101 110 |1 | rsvd      |         |
+| NN |    |     |     |    |   00  | 0101 110 |0 | crfbinlog | CRB-Form|
+| NN | BT | BA  |BFB//| 0  |   00  | 0101 110 |1 | crbinlog  | X-Form  |
+| NN |    |     |     | 1  |   00  | 0101 110 |1 | rsvd      |         |
 | NN |    |     |     |    |   10  | 0101 110 |Rc| rsvd      |         |
 | NN | RT | RA  | RB  | sm0| sm1 1 | 0101 110 |Rc| shaddw    | X-Form  |
 | NN |    |     |     | 0  |       | 1001 110 |Rc| rsvd      |         |