From: lkcl Date: Sun, 10 Jul 2022 19:25:59 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1221 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5e0d5e89990367b9e0263278f9a2bdc81b77e79;p=libreriscv.git --- diff --git a/openpower/sv/remap.mdwn b/openpower/sv/remap.mdwn index 0db2918f0..0b6f1af11 100644 --- a/openpower/sv/remap.mdwn +++ b/openpower/sv/remap.mdwn @@ -312,7 +312,10 @@ Fields: *Note: SVd, like SVxd, SVyz and SVzd of `svshape`, are all stored "off-by-one". In the assembler -mnemonic the values `1-32` are stored in binary as `0b00000..0b11111`* +mnemonic the values `1-32` are stored in binary as `0b00000..0b11111`*. + +*Note: when `yx=1,sk=0` the second dimension is calculated as +`CEIL(MAXVL/SVd)`*. When `mm=0`: @@ -384,7 +387,9 @@ whilst `mm=1` is intended to be a little more refined. * **Modulo 1D mapping**: to perform Indexing cycling through the first N Indices use `SVd=N,sk=0,yx=0` where `VL>N`. There is no requirement to set VL equal to a multiple of N. - +* **Modulo 2D transposed**: `SVd=M,sk=0,yx=1`, sets + `xdim=M,ydim=CEIL(MAXVL/M)`. + Beyond these mappings it becomes necessary to write directly to the SVSTATE SPRs manually.