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

Richard Wilbur richard.wilbur at gmail.com
Fri Aug 12 18:17:30 BST 2022


I wholeheartedly support efforts to make the movement of data in and out of registers as efficient and flexible as possible:

1.  Easy, quick context switches are important to remove barriers to use of any capability.
2.  Efficiently moving data between storage and processing postures is very important to the maximum processing throughput.

> On Aug 11, 2022, at 13:01, Luke Kenneth Casson Leighton via Libre-soc-dev <libre-soc-dev at lists.libre-soc.org> wrote:
[…]
> 
> 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

This is one of the issues I ran into in x86 vs. x86/64, it was frighteningly inefficient/impossible to move data from one set of registers to another in order to use different ALU’s at their native width together to solve a particular problem.  My recollection is that we had to dump to memory in between!

> 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
> 
> Hmmm....
> 
> This is unavoidably measure and non-uniform than it seems
> on first glance.
I don’t understand this last sentence.  What are you trying to say?


More information about the Libre-soc-dev mailing list