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

Hendrik Boom hendrik at topoi.pooq.com
Sat Aug 7 22:25:11 BST 2021


On Fri, Aug 06, 2021 at 08:15:28PM +0000, lkcl wrote:
> 
> 
> 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.

Flexible because it's a small piece of truly functional programming, single instructions
being the functions being passed to the instruction setting up all these loop structures.

-- hendrik

> 
> l.
> 
> _______________________________________________
> Libre-soc-dev mailing list
> Libre-soc-dev at lists.libre-soc.org
> http://lists.libre-soc.org/mailman/listinfo/libre-soc-dev



More information about the Libre-soc-dev mailing list