[Libre-soc-dev] mp3 changes

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat May 29 22:10:41 BST 2021


Lauri I added unit stride mode to LD/ST which is
for i in range(VL)
 EA = GPR(RA) + EXTS(D) + i * LDSTwidth

however that's not the one you need, it's just the easiest to add.
next will be element-stride which is:

 EA = GPR(RA) + D * i

once i have els decoding in SVP64Asm it should just work.  format:

   sv.flw/els FRT.v, D(RA)

note that RA must be a *scalar* register and FRT a vector.  this gives
a fixed start point to load/store from.

question (to everyone) should it be

 EA = GPR(RA) + D * i

or

 EA = GPR(RA) + D * i * LDSTwidth

normally there would be some extra fields here for a shift multiplier,
but changing the underlying meaning significantly, it would be better
to propose a *scalar* shifted operation first, then Vectorise that, i
feel

l.



More information about the Libre-soc-dev mailing list