From: lkcl Date: Fri, 16 Sep 2022 15:18:35 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~399 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7a316cb8c159ba507a6278dea2f0b29d2d4a0fe3;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls001.mdwn b/openpower/sv/rfc/ls001.mdwn index d4cf3eb17..16bcb1630 100644 --- a/openpower/sv/rfc/ls001.mdwn +++ b/openpower/sv/rfc/ls001.mdwn @@ -911,6 +911,8 @@ must be allocated to a Vectoriseable EXT000-063 "Defined Word" (Public v3.1 Section 1.6.3 definition) or not at all. +\newpage{} + **illegal unallocated scalar EXT0nn or EXT2nn:** | width | assembler | prefix? | suffix | description | @@ -932,6 +934,25 @@ there does not exist a scalar "Defined Word" (even for EXT200-263) - the unallocated block - means that the instruction may **not** be allocated in the Simple-V space. +**illegal attempt to put Scalar EXT004 into Vector EXT2nn** + + +| width | assembler | prefix? | suffix | description | +|-------|-----------|--------------|-----------|---------------| +| 32bit | unallocated | none | 0x10345678| scalar EXT0nn | +| 64bit | ss.fishmv | 0x24!zero | 0x10345678| scalar SVP64Single:EXT2nn | +| 64bit | sv.fishmv | 0x25nnnnnn | 0x10345678| vector SVP64:EXT2nn | + +This is an illegal attempt to place an EXT004 "Defined Word" +(Public v3.1 Section 1.6.3) into the EXT2nn Vector space. +This is not just illegal it is not even possible to achieve. +If attempted, by dropping EXT004 into bits 32-37, the top two +MSBs are actually *zero*, and the Vector EXT2nn space is only +legal for Primary Opcodes in the range 248-263, where the top +two MSBs are 0b11. Thus this faulty attempt actually falls +unintentionally +into `RESERVED` "Non-Vectoriseable" Encoding space. + \newpage{} # Use cases