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