Hi Carl, On Mon, Jun 01, 2020 at 09:14:25AM -0700, Carl Love wrote: > Based on previous IBM internal reviews of the patch set, the desire is > for all of the vector insert and extract support to be in vsx.md as > there is a longer term plan to re-work this support for PPC.
Very long time ago, it was easy: there was altivec.md, which contained the AltiVec instruction patterns. Life was good. Then, for Power7, we got vsx.md for the original VSX insns, and vector.md to mux the things that exist similarly in AltiVec (aka VMX) and VSX. This was still quite nice. But since then we got Power8, and Power9, and now Power10, and there is not any obvious way to decide what goes where anymore. It may seem (I thought this for a while) that instructions that only operate on the VRs (and not the other VSRs, namely the FPRs) can go into altivec.md -- but then a later version of the ISA makes things more orthogonal, and things *can* go into all VSRs now, so things have to move again, and the distinction turns out to have been totally artificial and not useful. So yes, we need to divide this up some saner way. Maybe we can start with splitting of the FP parts (scalar and vector, also classical FP, but maybe only the computational insns (not the moves))? Will need some experimentation to find out something that works well (and that is the point: it should be easy to *work with*, nothing else). Sorry for blabbering :-) Segher