On Fri, Nov 24, 2023 at 05:31:20PM +0800, Kewen.Lin wrote: > Hi Ajit, > > Don't forget to CC David (CC-ed) :), some comments are inlined below. > > on 2023/10/8 03:04, Ajit Agarwal wrote: > > Hello All: > > > > This patch add new pass to replace contiguous addresses vector load lxv > > with mma instruction > > lxvp. > > IMHO the current binding lxvp (and lxvpx, stxvp{x,}) to MMA looks wrong, it's > only > Power10 and VSX required, these instructions should perform well without MMA > support. > So one patch to separate their support from MMA seems to go first.
I tend to agree with you, but I recall the decision being made because at the time, vector pairs and vector quads were only used with MMA. We now have various attempts to improve things for using vector pairs for non-MMA code. In my patches, I keeped the MMA requirement, but if we decide to make it ISA 3.1 only if is fairly straight forward to look at all of the TARGET_MMA tests. Now in the GCC 13 days, it was useful that -mmma controlled vector pair. There was an issue if we enabled memcpy to use store vector pair, it would lead to one slow down. When I was doing the tests, it was easy to use -mno-mma and it would stop memcpy from using load/store vector pair since GCC doesn't generate code to use MMA without using the built-ins.