From 8958f587c9a9040484646a751da82c4593cb192b Mon Sep 17 00:00:00 2001 From: lkcl Date: Sat, 14 Nov 2020 21:28:00 +0000 Subject: [PATCH] --- openpower/sv/major_opcode_allocation.mdwn | 56 +++++++++++++---------- 1 file changed, 33 insertions(+), 23 deletions(-) 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: -- 2.30.2