[Libre-soc-dev] pysvp64asm: opcode setvli not supported

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Jun 16 13:00:58 BST 2021


---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68


On Wed, Jun 16, 2021 at 6:36 AM Lauri Kasanen <cand at gmx.com> wrote:

> On Tue, 15 Jun 2021 19:19:56 +0100
> Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:
>
> > i replaced the fmuls and fadds with fmadds, and also took the
> > liberty of using fmsubs in appropriate locations, which also gave
> > the opportunity to remove tmpsum and tmpsum2 because with
> > fmsubs / fmadds both sum and sum2 can be directly used as
> > accumulators, carrying on the subtract (or add).
>
> I'm having some trouble understanding why fmsubs works at all. It
> appears to be the wrong way around for this operation.
>
> fmsubs res, a, b, c
> res = a * b - c
>
> while we want
> res -= a * b
>

got it.  this is fnmadd. p158 v3.0B section 4.6.6.2

The operation
         FRT <- ( [(FRA)ï‚´(FRC)] + (FRB) )
is performed.

adding that now.  still no idea why answer is wrong on buf2000 yet.
setting the loop count to 1 (remove the bndz on .L5) still gets
incorrect data in svbasic.

l.


More information about the Libre-soc-dev mailing list