This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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 <meissner@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. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Attachment:
pr65569.patch01b
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |