From: lkcl Date: Thu, 28 Oct 2021 16:55:56 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~3499 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7aa542b5bcebd34169ac5f53ac77b3240315efbf;p=libreriscv.git --- diff --git a/3d_gpu/architecture/dynamic_simd/shape.mdwn b/3d_gpu/architecture/dynamic_simd/shape.mdwn index 57d514c4e..6817c65ae 100644 --- a/3d_gpu/architecture/dynamic_simd/shape.mdwn +++ b/3d_gpu/architecture/dynamic_simd/shape.mdwn @@ -420,6 +420,20 @@ Divide on the other hand (and right-shift) will only work (when both elwidth and fixed-width are set) if there is no rounding (no bits lost due to the division / right-shift). +Summary: + +* Fixed_width Priority + - all operations (add, mul, sub, shift, div) + expected to work (caveat: layout() should check rounding) +* Element-width Priority + - all operations expected to work (no caveats) +* Fixed-and-Elwidth (no priority) + - multiply and left-shift always expected to work + - divide and right-shift expected to work (caveat: no bits + lost due to rounding) + - add and subtract **not** expected to work (ambiguous): + exception must be raised + ## Arithmetic of two SimdShapes With some thought it becomes clear that when performing operations