rs6000.md/altivec.md problem in setting of vector registers
Dale Johannesen
dalej@apple.com
Fri Mar 19 20:59:00 GMT 2004
On Mar 18, 2004, at 4:52 PM, Dorit Naishlos wrote:
> I managed to hack something that causes Reload to make the "right"
> decision
> and generate the same code as it generates for i386 - i.e., the spill
> code
> is created out of the loop.
>
> The hack modifies the macro CANNOT_CHANGE_MODE_CLASS in rs6000.h to not
> allow a mode change from a vector mode to a smaller mode in
> ALTIVEC_REGS or
> GENERAL_REGS. As a result, these register classes cannot be considered
> for
> allocation in this case; instead, Reload directly creates stores to
> memory,
> outside the loop, like for i386.
I haven't tried it, but this might well break passing of vector
parameters in int regs.
More information about the Gcc
mailing list