On Sat, Feb 4, 2012 at 12:46 AM, Alan Modra <amo...@gmail.com> wrote:
> http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01835.html changed the
> code I'm tweaking here to use DFmode subregs when loading a TFmode
> constant into regs for e500.  This just extends that change to all
> rs6000 targets, the simplest fix I found for PR52107, a problem I
> discovered when looking at powerpc64-linux libgcc.

> It would also be possible to fix this in the rs6000.md movdi splitter
> dealing with large constants, at least for this testcase when we know
> we are dealing with a hard float reg.  However, I think it's better
> not to generate DImode fp values in the first place.  Bootstrapped and
> regression tested powerpc64-linux.  OK to apply everywhere?

>        PR target/52107
>        * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
>        subregs of TFmode.

This fix is okay in trunk and 4.6.  I am more reluctant to approve
backporting it to GCC 4.5 at this late date.

Thanks, David

Reply via email to