[Libre-soc-dev] SVP64 bclrl
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,
>they're marked vector, it instead means that the condition is computed
>some vector and then that vector is somehow reduced to a scalar that
>used as a condition for the scalar branch...in other words the full
>loop would complete (up through VL, not stopping early) and only then
>the branching part of the operation run. This is quite different from
>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.
More information about the Libre-soc-dev