On Mon, Nov 11, 2013 at 4:45 PM, Michael Meissner
<meiss...@linux.vnet.ibm.com> wrote:
> This patch fixes PR 59054, which is a bug I introduced in early October, when 
> I
> added initial patches for allowing DFmode values in the traditional Altivec
> registers on ISA 2.06, and SFmode values on ISA 2.07.  This patch eliminates
> the constraints that allowed DImode values to go into the Altivec registers,
> but had the result that for 0, the register allocator might choose to allocate
> a floating point register instead of a GPR register, and then has to store the
> value on the stack and reload (on ISA 2.06) or use direct move (on ISA 2.07) 
> to
> get the value in a register.
>
> I have tested this with a bootstrap and make check on subversion id 204367 
> with
> the fix from subversion id 204272 (fortran keyword problem).  At present, I
> can't check it against the top of the trunk, due to PR 59009 (libsanitizer
> breaking powerpc64-linux-gnu builds).
>
> There were no regressions with the bootstrap or with make check.  This patch
> also fixes the 64-bit failure in gcc.dg/stack-usage-1.c if you build the
> compiler using the --with-cpu=power7 option.
>
> In addition, I have included fixes for two other problems in my October
> changes.  The first change only shows up when DFmode can go in the traditional
> Altivec registers, in that I used %x on a CR register.  The second change is 
> in
> conversion of SFmode to DFmode, I used the wrong constraints.
>
> Are these patches ok to install?  I would prefer to check in the patches right
> now, but I can also wait until PR 59009 is fixed.
>
> [gcc]
> 2013-11-11  Michael Meissner  <meiss...@linux.vnet.ibm.com>
>
>         PR target/59054
>         * config/rs6000/rs6000.md (movdi_internal32): Eliminate
>         constraints that would allow DImode into the traditional Altivec
>         registers, but cause undesirable code generation when loading 0 as
>         a constant.
>         (movdi_internal32): Likewise.
>         (cmp<mode>_fpr): Do not use %x for CR register output.
>         (extendsfdf2_fpr): Fix constraints when -mallow-upper-df and
>         -mallow-upper-sf debug switches are used.
>
> [gcc/testsuite]
> 2013-11-11  Michael Meissner  <meiss...@linux.vnet.ibm.com>
>
>         PR target/59054
>         * gcc.target/powerpc/pr59054.c: New test.

Okay.

Thanks, David

Reply via email to