On Wed, Mar 25, 2015 at 8:09 PM, Michael Meissner <meiss...@linux.vnet.ibm.com> wrote: > Pat Haugen runs a spec regression tester on various PowerPC boxes, and he > noticed that my fix for PR 65240 (the bug involving floating point constants > and -ffast-math under VSX) caused a regression in building the dealII > benchmark > on power6x. I looked into it, and discovered I had missed extenddftf2_fprs > relying on (const_double 0.0) being used in RTL code. This works on VSX > systems, where you can use the XXLXOR instruction, but it does not work on > previous systems. > > This patch fixes the problem. I have bootstrapped and ran make check on a > power7 big endian system and a power8 little endian system. On power7, the > following test had been failing, and is now fixed (it doesn't fail on power8): > > g++.dg/torture/pr58369.C > > I have also built the power8-vsx, power7-vsx, power6x-altivec suite with no > failures. I'm building power6x-scalar, and power5-scalar shortly. Assuming > that the last two spec runs build without errors, can I apply the patch? > > 2015-03-25 Michael Meissner <meiss...@linux.vnet.ibm.com> > > PR target/65569 > * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use > XXLXOR to create 0.0. On pre-VSX systems make sure the constant > 0.0 is correctly setup. > (extenddftf2_internal): Likewise.
Okay. Thanks, David