From: lkcl Date: Fri, 9 Jun 2023 00:09:14 +0000 (+0100) Subject: (no commit message) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c5f4fe94cdc346b3b6cccc633fbd6a1055b9c429;p=libreriscv.git --- diff --git a/openpower/sv/po9_encoding/discussion.mdwn b/openpower/sv/po9_encoding/discussion.mdwn index 1dadc0c3a..9e425d79b 100644 --- a/openpower/sv/po9_encoding/discussion.mdwn +++ b/openpower/sv/po9_encoding/discussion.mdwn @@ -79,6 +79,7 @@ the purpose of having it. |PO9|!ZERO | 0 1 | Defined Word-instruction | SSingle:EXT000-063 | |PO9| nnnn | 1 1 | Defined Word-instruction | SVP64:EXT000-063 | ``` + Length detection: ``` @@ -87,9 +88,12 @@ Length detection: elif Word[29:31] = 0b000 return 32 else return 64 ``` + # alternative 32-64 encoding (3) -aim of this idea is to attempt simplification of area identificatiin +TODO +aim of this idea is to attempt simplification of area identification +and length. @@ -100,12 +104,20 @@ aim of this idea is to attempt simplification of area identificatiin |PO9| rm0 | 1 0 0 | 0 0000 rm1| xxxx | 000 | SVP64:EXT900 | |PO9|!ZERO| 1 0 0 | 0 1000 1 | xxxx | 000 | SSingle:EXT900 | |PO9| xxx | 1 0 0 | 0 !zero0 | xxxx | !zero1| 55-bit RESERVED | -|PO9| xxx | 0 0 0 | 32-bit EXT900 | -|PO9|!ZERO| 1 0 0 | 1 | DWi | SSingle:EXT232-263 | -|PO9| 000 | 1 0 0 | 1 | DWi | Scalar EXT232-263 | +|PO9| xxxx | 0 0 | 32-bit EXT900 | +|PO9| !ZERO | 1 0 | 0 | DWi | SSingle:EXT232-263 | +|PO9| 0000 | 1 0 | 0 | DWi | Scalar EXT232-263 | |PO9| nnnn | 1 0 | 1 | DWi | SVP64:EXT232-263 | |PO9| 0000 | 0 1 | Defined Word-instruction | 32-bit Unvec in 64b| -|PO9|!ZERO | 0 1 | Defined Word-instruction | SSingle:EXT000-063 | +|PO9| !ZERO | 0 1 | Defined Word-instruction | SSingle:EXT000-063 | |PO9| nnnn | 1 1 | Defined Word-instruction | SVP64:EXT000-063 | ``` +Length detection: + +``` + if PO1 return 64 + elif not PO9 return 32 + elif Word[30:31] = 0b00 return 32 + else return 64 +```