[Libre-soc-dev] [RFC] SVP64 on branch instructions

lkcl luke.leighton at gmail.com
Fri Aug 6 21:15:28 BST 2021



On August 6, 2021 11:12:07 AM UTC, lkcl <luke.leighton at gmail.com> wrote:

>are there any other modes worth considering?

i came up with another one: VLSET mode, the truncation occurs EITHER if the branch succeeded OR if the branch failed, depending on a new bit VSb (VL is set if branch success)

this allows Vertical-First looping to truncate on failure (exit from a loop) without needing an extra (non-conditional) branch to do so,

and

it allows Horizontal-First to truncate VL on *success* (branch) or fail, as appropriate.

other modes:

mapreduce doesn't compute.  it would be better to apply mapreduce separately and do a scalar branch-conditional.

saturation is inapplicable to CRs.

i am running out of ideas which is a good thing because holy cow is this a powerful instruction.  it's not actually complex, it's just that the combination of the options and modes is hugely flexible.

l.



More information about the Libre-soc-dev mailing list