From: lkcl Date: Sun, 10 Apr 2022 15:45:24 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2804 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78a94f32ef752f8385ae7efc09230b960442845b;p=libreriscv.git --- diff --git a/openpower/sv/svp64/appendix.mdwn b/openpower/sv/svp64/appendix.mdwn index 82442e36e..f21ca2d35 100644 --- a/openpower/sv/svp64/appendix.mdwn +++ b/openpower/sv/svp64/appendix.mdwn @@ -104,6 +104,7 @@ v3.1B is *not* altered by svp64 in any way. This table is taken from v3.0B. Table 9: Primary Opcode Map (opcode bits 0:5) +``` | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 000 | | | tdi | twi | EXT04 | | | mulli | 000 001 | subfic | | cmpli | cmpi | addic | addic. | addi | addis | 001 @@ -114,6 +115,7 @@ Table 9: Primary Opcode Map (opcode bits 0:5) 110 | lfs | lfsu | lfd | lfdu | stfs | stfsu | stfd | stfdu | 110 111 | lq | EXT57 | EXT58 | EXT59 | EXT60 | EXT61 | EXT62 | EXT63 | 111 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 +``` ## Suitable for svp64-only @@ -126,16 +128,18 @@ Note, again, to emphasise: outside of svp64 these opcodes **do not** change. When not prefixed with svp64 these opcodes **specifically** retain their v3.0B / v3.1B OpenPOWER Standard compliant meaning. +``` | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 000 | | | | | | | | mulli | 000 001 | subfic | | cmpli | cmpi | addic | addic. | addi | addis | 001 - 010 | | | | EXT19 | rlwimi| rlwinm | | rlwnm | 010 + 010 | bc/l/a | | | EXT19 | rlwimi| rlwinm | | rlwnm | 010 011 | ori | oris | xori | xoris | andi. | andis. | EXT30 | EXT31 | 011 100 | lwz | lwzu | lbz | lbzu | stw | stwu | stb | stbu | 100 101 | lhz | lhzu | lha | lhau | sth | sthu | | | 101 110 | lfs | lfsu | lfd | lfdu | stfs | stfsu | stfd | stfdu | 110 111 | | | EXT58 | EXT59 | | EXT61 | | EXT63 | 111 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 +``` It is important to note that having a different v3.0B Scalar opcode that is different from an SVP64 one is highly undesirable: the complexity