[Libre-soc-dev] SVP64 bclrl

lkcl luke.leighton at gmail.com
Thu Apr 7 03:24:57 BST 2022



On April 6, 2022 11:50:56 PM UTC, Jacob Lifshay <programmerjake at gmail.com> wrote:

>From prior discussions, branches would only ever be scalar operations,
>if
>they're marked vector, it instead means that the condition is computed
>from
>some vector and then that vector is somehow reduced to a scalar that
>can be
>used as a condition for the scalar branch...in other words the full
>vector
>loop would complete (up through VL, not stopping early) and only then
>would
>the branching part of the operation run. This is quite different from
>what
>lkcl described above.

and is precisely the definition of  violating the design principle of SVP64.  do read the section at the end again until this is clear. i gave some example pseudocode which demonstrates exactly why the above cannot be done.

the pseudocode also has to work in Vertical-First Mode as well as Horizontal-First which is also where rhe definition that you give above completely breaks down: Vertical-First is effectively a scalar branch within a single-step of a vector loop, and as such there are no "reductions".

it is all pretty mind-melting.

l.





More information about the Libre-soc-dev mailing list