[Libre-soc-dev] [SVP64] feedback needed - Pack/Unpack (vpack/vunpack)

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Aug 11 21:00:37 BST 2022

On Saturday, July 30, 2022, Luke Kenneth Casson Leighton <lkcl at lkcl.net>

> bear in mind, the caveat here is that these would change from EXTRA3
> to EXTRA2, losing exactly 50% of starting vector points!  they can only
> start 0 2 4 6 8..... where previously they could start from 0 1 2 3 4....

Some thought about this, it occurs to me that the damage
done to e.g. GPR mv (aka original RT, RA, 0) on scalar
instructions would be considerable.

Where with EXTRA3 the GPR mv would be able to reach r0 to r127
with EXTRA2 that is only r63.

A solution would be to make *xori* the Pack-Vectorised option
not ori.  xori can also be an alias for GPR mv, might as well
exploit that.

This would just leave fmv which I am not sure there is anything
that could be done about it, there are no magic aliases,
no FP add-immediate instructions which begs the obvious
"why the heck aren't there any". oh well

Back on track: CR ops there are actually a couple of
aliases, ways of moving CR Fields or bits around, these
will be important to have mirroring the mv ops ability
to shuffle around due to Rc=1 co-results

We do not want the scenario where it is easy to move data
around with Pack/Unpack but not the CR Fields that got created
by Rc=1


This is unavoidably measure and non-uniform than it seems
on first glance.


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

More information about the Libre-soc-dev mailing list