From: Andrey Miroshnikov Date: Mon, 6 Nov 2023 16:00:07 +0000 (+0000) Subject: Added side-by-side table of the outer and inner product indices X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e753285cd38279c477ebd4a20d9cc56ab0fb7201;p=libreriscv.git Added side-by-side table of the outer and inner product indices --- diff --git a/openpower/sv/cookbook/remap_matrix.mdwn b/openpower/sv/cookbook/remap_matrix.mdwn index 43c07da52..4be850ff1 100644 --- a/openpower/sv/cookbook/remap_matrix.mdwn +++ b/openpower/sv/cookbook/remap_matrix.mdwn @@ -167,6 +167,25 @@ The index for the result matrix changes with every operation, and thus the consecutive multiply-add instruction doesn't depend on the previous write register. +Outer and inner product indeces side-by-side: + +``` + | Outer Product | Inner Product | + | Mat X | Mat Y | Mat Z | Mat X | Mat Y | Mat Z | + | 0 | 0 | 0 | 0 | 0 | 0 | + | 1 | 2 | 0 | 0 | 1 | 1 | + | 2 | 4 | 0 | 3 | 0 | 2 | + | 0 | 1 | 1 | 3 | 1 | 3 | + | 1 | 3 | 1 | 1 | 2 | 0 | + | 2 | 5 | 1 | 1 | 3 | 1 | + | 3 | 0 | 2 | 4 | 2 | 2 | + | 4 | 2 | 2 | 4 | 3 | 3 | + | 5 | 4 | 2 | 2 | 4 | 0 | + | 3 | 1 | 3 | 2 | 5 | 1 | + | 4 | 3 | 3 | 5 | 4 | 2 | + | 5 | 5 | 3 | 5 | 5 | 3 | +``` + # SVP64 instructions implementing matrix multiply * SVP64 assembler example: