[Libre-soc-dev] SV elwidth overrides started in ISACaller

lkcl luke.leighton at gmail.com
Sun Oct 9 01:19:21 BST 2022

the first two unit tests for elwidth overrides work, one
sv.add/w=8 the other sv.add/w=32.  with thanks to
everyone who did pseudocode conversions several
months ago, this is the first time it's been tested.

XLEN is set to MAX(src,dest), registers are read at
src width, written into packed elements, and results
written packed as well. different src/dest has still to
be tested.

there is a MASSIVE amount to do here, even with the
basics done: scalar elwidths, helper functions, the entire
Power ISA and SVP64 test suite adapted to *all* combinations
of 8/16/32/default on src *and* dest, FP32/FP16/BF16,
checking predication, adding saturation.

helper functions in particular, absolutely all of them have to
become class-based such that XLEN is accessible at all times.

then on LDST the base EA must not have RA overridden,
interaction between data and address needs checking,
and saturation added especially on arithmetic LD, in a way
that makes sense.  i.e.  lharx must extend correctly and saturate
correctly on all possible dest elwidths.

all in all it is a frickin lot of work.

some basic priorities however will be to just experiment with
algorithms and drive a few simple unit tests down if there are
problems.  a couple of pseudocode rewrites i know are not
correct, they will all have to have a full review.


More information about the Libre-soc-dev mailing list