From: lkcl Date: Wed, 14 Sep 2022 22:15:34 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~433 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d24f13de7c3efe3abb00b62c688e4a074ece035a;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls001.mdwn b/openpower/sv/rfc/ls001.mdwn index 195b3b4ab..37229471b 100644 --- a/openpower/sv/rfc/ls001.mdwn +++ b/openpower/sv/rfc/ls001.mdwn @@ -384,8 +384,9 @@ With it not being appropriate to use Variable-Length Encoding in the Power ISA a different much more explicit strategy was taken in Simple-V. The biggest advantage inherent in Vertical-First is that it is very easy -to introduce into compilers, because all looping, as far as the architecture -is concerned, remains expressed as *Scalar assembler*. Whilst Mitch Alsup's +to introduce into compilers, because all looping, as far as programs +is concerned, remains expressed as *Scalar assembler*.[^autovec] +Whilst Mitch Alsup's VVM advocates auto-vectorisation and is limited in its ability to call functions, Simple-V's Vertical-First provides explicit control over the parallelism ("hphint") and also allows for full state to be stored/restored @@ -850,3 +851,4 @@ operations. [^ext001]: Recall that EXT100 to EXT163 is for Public v3.1 64-bit-augmented Operations prefixed by EXT001, for which, from Section 1.6.3, bit 6 is set to 1. This concept is where the above scheme originated. Section 1.6.3 uses the term "defined word" to refer to pre-existing EXT000-EXT063 32-bit instructions so prefixed to create the new numbering EXT100-EXT163, respectively [^futurevsx]: A future version or other Stakeholder *may* wish to drop Simple-V onto VSX: this would be a separate RFC [^vsx256]: imagine a hypothetical future VSX-256 using the exact same instructions as VSX. the binary incompatibility introducrd would catastrophically **and retroactively** damage existing IBM POWER8,9,10 hardware's reputation and that of Power ISA overall. +[^autovec]: Compiler auto-vectorisation for best exploitation of SIMD and Vector ISAs on Scalar programming languages (c, c++) is an Indusstry-wide known-hard decades-long problem. Cross-reference the number of hand-optimised assembler algorithms.