From: lkcl Date: Thu, 15 Sep 2022 18:48:53 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~422 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8eeb72b3dff5e751b29c27bc03313467d028625a;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls001.mdwn b/openpower/sv/rfc/ls001.mdwn index c9eb4e426..92e5822bd 100644 --- a/openpower/sv/rfc/ls001.mdwn +++ b/openpower/sv/rfc/ls001.mdwn @@ -851,22 +851,38 @@ opcodes. This hypothetical Unvectoriseable operation would be better off being allocated as EXT001 Prefixed, EXT000-063, or hypothetically in EXT300-363. -**example ILLEGAL:** +**ILLEGAL: dual allocation** -* 32bit fredmv EXT0nn 0x12345678 or - 64bit scalar EXT2nn 0x240000000 0x12345678 -* vector fishmv 0x27nnnnnn 0x12345678 +| width | assembler | prefix? | suffix | description | +|-------|-----------|--------------|-----------|---------------| +| 32bit | fredmv | none | 0x12345678| scalar EXT0nn | +| 64bit | ss.fredmv | 0x26!zero | 0x12345678| scalar SVP64Single:EXT0nn | +| 64bit | sv.fishmv | 0x27nnnnnn | 0x12345678| vector SVP64:EXT0nn | -the use of 0x12345678 for fredmv in scalar but fishmv in Vector is **not** okay. +the use of 0x12345678 for fredmv in scalar but fishmv in Vector is +illegal. the suffix in both 64-bit locations +must be allocated to a Vectoriseable EXT000-063 +"Defined Word" (Public v3.1 Section 1.6.3 definition) +or not at all. **another illegal example:** -* 32bit RESERVEDunallocated EXT0nn 0x12345678 or - 64bit scalar EXT2nn 0x240000000 0x12345678 -* vector fishmv 0x27nnnnnn 0x12345678 +| width | assembler | prefix? | suffix | description | +|-------|-----------|--------------|-----------|---------------| +| 32bit | unallocated | none | 0x12345678| scalar EXT0nn | +| 64bit | ss.fredmv | 0x26!zero | 0x12345678| scalar SVP64Single:EXT0nn | +| 64bit | sv.fishmv | 0x27nnnnnn | 0x12345678| vector SVP64:EXT0nn | + +and: -the fact that there does not exist a scalar variant *at all* is not okay. +| width | assembler | prefix? | suffix | description | +|-------|-----------|--------------|-----------|---------------| +| 64bit | unallocated | 0x24000000 | 0x12345678| scalar EXT2nn | +| 64bit | ss.fishmv | 0x24!zero | 0x12345678| scalar SVP64Single:EXT2nn | +| 64bit | sv.fishmv | 0x26nnnnnn | 0x12345678| vector SVP64:EXT2nn | +Both of these are illegal. The fact that there does not exist a +scalar "Defined Word" (even for EXT200-263) \newpage{} # Use cases