This is the mail archive of the
mailing list for the GCC project.
Re: [RS6000] Fix PR52107, TFmode constant load.
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org, Alan Modra <amodra at gmail dot com>
- Date: Mon, 6 Feb 2012 12:06:09 -0500
- Subject: Re: [RS6000] Fix PR52107, TFmode constant load.
- References: <20120204054652.GC4832@bubble.grove.modra.org>
On Sat, Feb 4, 2012 at 12:46 AM, Alan Modra <firstname.lastname@example.org> 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.