From: lkcl Date: Tue, 20 Jun 2023 09:43:09 +0000 (+0100) Subject: (no commit message) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dd083d008a143991aa0b634fc24bb5fe40afecb0;p=libreriscv.git --- diff --git a/openpower/sv/po9_encoding/discussion.mdwn b/openpower/sv/po9_encoding/discussion.mdwn index 1c06df12c..2e5e75c6b 100644 --- a/openpower/sv/po9_encoding/discussion.mdwn +++ b/openpower/sv/po9_encoding/discussion.mdwn @@ -164,14 +164,10 @@ test. Only EXT000-063 is not by a "process of elimination" (if ... return True) **EXT232-263:** ``` - if not PO9 return False - # eliminate EXT900 - if Word[30:31] == 0b00 return False - # eliminate EXT0xx - if Word[31] == 0b1 return False - # eliminate EXT900 and reserved areas + if not PO9 return False # eliminate EXT900 + if Word[30:31] == 0b00 return False # eliminate EXT0xx + if Word[31] == 0b1 return False # eliminate EXT900 and reserved areas if Word[33:37] != 0b10001 return False - # return True ``` @@ -322,10 +318,8 @@ test. Only EXT000-063 is not by a "process of elimination" (if ... return True) **EXT232-263:** ``` - if not PO9 return False - # eliminate EXT0xx - if Word[31] == 0b1 return False - # remaining is EXT2xx + if not PO9 return False # eliminate EXT0xx + if Word[31] == 0b1 return False # remaining is EXT2xx return True ``` @@ -336,44 +330,33 @@ test. Only EXT000-063 is not by a "process of elimination" (if ... return True) ``` if PO1 return False # or other reserved if not PO9 return True # prefixed needs more - # eliminate EXT2xx - if Word[31] = 0b0 return False - # remaining is EXT0xx - return True + if Word[31] = 0b0 return False # eliminate EXT2xx + return True # remaining is EXT0xx ``` **SVP64**: ``` - # easy-elimination, first - if not PO9 return False - # eliminate anything not SVP64: - if Word[31] = 0b1 return False - # all remaining are SVP64:EXT0xx/EXT2xx - return True + if not PO9 return False # easy-elimination, first + if Word[31] = 0b1 return False # eliminate anything not SVP64 + return True # all remaining are SVP64:EXT0xx/EXT2xx ``` **SVP64Single**: ``` - # easy-elimination, first - if not PO9 return False - # eliminate SVP64:* - if Word[31] = 0b0 return False - # eliminate anything "Identity" - if Word[6:29 ] = 0x000000 return False - # everything left is SVP64Single - return True + if not PO9 return False # easy-elimination, first + if Word[31] = 0b0 return False # eliminate SVP64:* + if Word[6:29 ] = 0x000000 return False # eliminate anything "Identity" + return True # everything left is SVP64Single + ``` **RESERVED**: (no need to pass for further detailed decode) ``` - # easy-elimination, first - if not PO9 return False - # eliminate double-PO9 and PO9-PO1 - if Word[32:37] = 0b010001 return False - if Word[32:37] = 0b000001 return False - # all else requires detailed decode - return True + if not PO9 return False # easy-elimination, first + if Word[32:37] = 0b010001 return False # eliminate double-PO9 + if Word[32:37] = 0b000001 return False # eliminate PO9-PO1 + return True # all else requires detailed decode ```