From: Shriya Sharma Date: Tue, 9 Jan 2024 13:32:09 +0000 (+0000) Subject: Bug 1244: Added description for pospopcount X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c5a80bf4d322582f18d99536ed61a70643725e7;p=libreriscv.git Bug 1244: Added description for pospopcount --- diff --git a/conferences/fosdem2024/fosdem2024_ddffirst/fosdem2024_ddffirst.tex b/conferences/fosdem2024/fosdem2024_ddffirst/fosdem2024_ddffirst.tex index ea65ac8eb..0f42add4b 100644 --- a/conferences/fosdem2024/fosdem2024_ddffirst/fosdem2024_ddffirst.tex +++ b/conferences/fosdem2024/fosdem2024_ddffirst/fosdem2024_ddffirst.tex @@ -170,7 +170,7 @@ for (i = 0; i < VL; i++) identical to general-purpose Simple-V DD-FFirst... \end{itemize} -} +}Po \frame{\frametitle{maxloc} \begin{itemize} @@ -183,6 +183,7 @@ for (i = 0; i < VL; i++) \begin{itemize} \item Positional popcount adds up the totals of each bit set to 1 in each bit-position, of an array of input values. \item Notoriously difficult to do in SIMD assembler: typically 550 lines + \end{itemize} \lstinputlisting[language={}]{pospopcount.c} @@ -192,7 +193,7 @@ for (i = 0; i < VL; i++) \frame{\frametitle{Pospopcount} \begin{center} - \includegraphics[width=0.6\textwidth]{pospopcount.png} + \includegraphics[width=0.5\textwidth]{pospopcount.png} \end{center} } @@ -200,8 +201,17 @@ for (i = 0; i < VL; i++) \frame{\frametitle{Pospopcount} \begin{center} - \includegraphics[width=0.6\textwidth]{array_popcnt.png} + \includegraphics[width=0.5\textwidth]{array_popcnt.png} \end{center} + + \begin{itemize} + \item Part of the challenge is therefore to perform an appropriate transpose of the data, + in blocks that suit the processor and the ISA capacity. + \item The gbbd instruction is used for implementing the transpose function, + preparing the data for using the standard popcount instruction. + + + \end{itemize} }