From: lkcl Date: Sat, 25 Mar 2023 23:59:56 +0000 (+0000) Subject: (no commit message) X-Git-Tag: opf_rfc_ls001_v3~61 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e5cae29a18f5cf46e96789a515a8e005d81b56b;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls008.mdwn b/openpower/sv/rfc/ls008.mdwn index a0c1bfc8a..b398656ff 100644 --- a/openpower/sv/rfc/ls008.mdwn +++ b/openpower/sv/rfc/ls008.mdwn @@ -287,7 +287,7 @@ particularly if SVP64 instructions are issued directly after the `mtspr` to SVST **Vector Length (vl)** -The actual Vector length, the number of elements in a "Vector", vl may be set +The actual Vector length, the number of elements in a "Vector", `SVSTATE.vl` may be set entirely dynamically at runtime from a number of sources. `setvl` is the primary instruction for setting Vector Length. `setvl` is conceptually similar but different from the Cray, SX Aurora, and RISC-V RVV @@ -299,10 +299,10 @@ the range 0 <= VL <= MVL. Unlike RVV, VL is set **exactly** according to the fol where 0 <= MVL <= 127 and vlen may come from an immediate, `RA`, or from the `CTR` SPR, depending on options selected with the `setvl` instruction. -Programmer's Note: understanding of Cray-style Vectors is far beyond the scope -of the Power ISA Technical Reference. Guidance on the Cray Vector paradigm is +Programmer's Note: conceptual understanding of Cray-style Vectors is far beyond the scope +of the Power ISA Technical Reference. Guidance on the 50-year-old Cray Vector paradigm is best sought elsewhere: good studies include Academic Courses given on the 1970s -Cray Supercomputers over the past 30 years. +Cray Supercomputers over at least the past three decades. **SUBVL - Sub Vector Length** @@ -317,7 +317,12 @@ representing 1 operation (1 element) thru 4 operations (4 elements) respectively Elements are best though of in the context of 3D, Audio and Video: two Left and Right Channel "elements" or four ARGB "elements", or three XYZ coordinate "elements". -`subvl` is again primarily set by the `setvl` instruction. +`subvl` is again primarily set by the `setvl` instruction. Not to be confused +with `hphint`. + +Directly related to `subvl` is the `pack` and `unpack` Mode bits of `SVSTATE`. +See `svstep` instruction for how to set Pack and Unpack Modes. + **Horizontal Parallelism**