[PATCH] emit-rtl.c: Allow vector subreg of float vectors

Andrew Stubbs ams@codesourcery.com
Wed Aug 5 13:18:37 GMT 2020

This patch is a prerequisite for some patches I have to add multiple 
vector sizes on amdgcn.

The problem is that validate_subreg rejects things like this:

   (subreg:V32SF (reg:V64SF) 0)

These are commonly generated by the compiler. The integer equivalents 
work fine.

To be honest, I don't know why other targets have not encountered this 
problem before? Perhaps because most other targets require all vectors 
to have the same number of bits, meaning that float vectors have a fixed 
number of lanes? In my case, amdgcn can convert V64SFmode to V32SFmode 
by simply masking off some lanes.

OK to commit? (I have an x86_64 bootstrap and test in progress.)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 200805-allow-vector-subregs.patch
Type: text/x-patch
Size: 919 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200805/9803c211/attachment-0001.bin>

More information about the Gcc-patches mailing list