From: lkcl Date: Sat, 9 Oct 2021 10:54:10 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~3688 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09d75dcb5b29496508cb10060fb17c590ae8c668;p=libreriscv.git --- diff --git a/3d_gpu/architecture/dynamic_simd/shape.mdwn b/3d_gpu/architecture/dynamic_simd/shape.mdwn index d59451a0b..d9cddb183 100644 --- a/3d_gpu/architecture/dynamic_simd/shape.mdwn +++ b/3d_gpu/architecture/dynamic_simd/shape.mdwn @@ -5,3 +5,13 @@ provides sufficient context to both define overrides for individual lengths on a per-mask basis as well as sufficient information to "upcast" back to a SimdSignal, in exactly the same way that c++ virtual base class upcasting works when RTTI (Run Time Type Information) works. + +By deriving from `ast.Shape` both `width` and `signed` are provided +already leaving the `SimdShape` class with the responsibility to +additionally define lengths for each mask basis. This is best illustrated +with an example. + +The Libre-SOC IEEE754 ALUs need to be converted to SIMD Partitioning +but without massive disruptive code-duplication or intrusive explicit +coding as outlined in the worst of the techniques documented in +[[dynamic_simd]]