From: Luke Kenneth Casson Leighton Date: Fri, 9 Sep 2022 01:09:21 +0000 (+0100) Subject: sections X-Git-Tag: opf_rfc_ls005_v1~572 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a3246cb5e6ecca85b753536b0affed54af7fe558;p=libreriscv.git sections --- diff --git a/openpower/sv/rfc/ls001.mdwn b/openpower/sv/rfc/ls001.mdwn index 99aa77680..aeae7e8ae 100644 --- a/openpower/sv/rfc/ls001.mdwn +++ b/openpower/sv/rfc/ls001.mdwn @@ -272,7 +272,14 @@ For each of EXT059 and EXT063: as of 08Sep2022 \newpage{} -# Use case: LD/ST-Multi +# Use cases + +In the following examples the programs are fully executable under the +Libre-SOC Simple-V-augmented Power ISA Simulator. Reproducible +(scripted) Installation instructions: + + +## LD/ST-Multi Context-switching saving and restoring of registers on the stack often requires explicit loop-unrolling to achieve effectively. In SVP64 it @@ -287,7 +294,7 @@ runtime-configurable LD/ST-Multi is achievable with 2 instructions. sv.ld/sm=EQ *rt,0(ra) ``` -# Use case: Twin-Predication, re-entrant +## Twin-Predication, re-entrant This example demonstrates two key concepts: firstly Twin-Predication (separate source predicate mask from destination predicate mask) and @@ -320,7 +327,7 @@ prohibited either. -# Use case: 3D GPU style "Branch Conditional" +## 3D GPU style "Branch Conditional" (*Note: Specification is ready, Simulator still under development of full specification capabilities*) @@ -330,7 +337,6 @@ avoids the need for additional instructions that would need to perform a Parallel Reduction of a Vector of Condition Register tests down to a single value, on which a Scalar Branch-Conditional could then be performed. Full Rationale at - ``` @@ -351,7 +357,7 @@ could then be performed. Full Rationale at \newpage{} -# Use case: DCT +## DCT DCT has dozens of uses in Audio-Visual processing and CODECs. A full 8-wide in-place triple-loop Inverse DCT may be achieved @@ -378,7 +384,7 @@ The cosine table may be computed (once) with 18 Vector instructions -# Use case: Matrix Multiply +## Matrix Multiply Matrix Multiply of any size (non-power-2) up to a total of 127 operations is achievable with only three instructions. Normally in any other SIMD @@ -396,7 +402,7 @@ repetition of data is required. These 3 instructions may be used as the -# Use case: Parallel Reduction +## Parallel Reduction Parallel (Horizontal) Reduction is often deeply problematic in SIMD and Vector ISAs. Parallel Reduction is Fully Deterministic in Simple-V and