On Wed, Aug 18, 2021 at 04:42:42PM -0400, David Edelsohn wrote:
> I wanted to give Segher a chance to comment on the structure.

I think the current vector.md / altivec.md / vsx.md / rs6000.md
division is artificial at best.  Most of the basic (movement etc.)
things are in rs6000.md (and all should be), but nothing else is clear.

The name "altivec.md" suggests it is only for the very old things, but
it is not used that way, and that it untenable anyway: we have more
recent insns to plug holes in that (for example 64-bit integer support),
so it arguably is not just for that.

Using it for instructions that only work on the high 32 VSRs (i.e. the
VRs) is quite artificial as well -- sometimes there are equivalent insns
for the other 32 VSRs already, sometimes it is just because of opcode
scarcity, sometimes it is because it is for the slow vector unit only
(but those seem to live in rs6000.md and crypto.md anyway).

Maybe we should give up on dividing these things, and put both in one
file, say vector.md?


Segher

Reply via email to