From: lkcl Date: Sat, 14 Nov 2020 21:28:00 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~1828 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8958f587c9a9040484646a751da82c4593cb192b;p=libreriscv.git --- diff --git a/openpower/sv/major_opcode_allocation.mdwn b/openpower/sv/major_opcode_allocation.mdwn index 4b377f970..55617ab37 100644 --- a/openpower/sv/major_opcode_allocation.mdwn +++ b/openpower/sv/major_opcode_allocation.mdwn @@ -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: