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] |
This patch fixes PR 53487, so that -misel will no longer cause an unknown insn error. Andrew Pinksi's changes on May 4th, 2012, changed to use the mov<mode>cc pattern instead of the cstore<mode>4 in some cases, when a target machine defines both patterns. The cstore<mode>4 pattern had checks in it to prevent ISELs involving floating point compares from being generated, but mov<mode>cc did not. In addition, building Spec showed that going through mov<mode>cc also needed to make sure a comparison against a negative integer constant like cstore<mode>4 also had. I have bootstrapped the compiler (using BOOT_CFLAGS='-g -O2 -mcpu=power7 -misel) and there were no regressions in the test suite against an unpatched compiler. I have also built the Spec 2006 suite with isel, and it generated no errors. Is this patch ok to apply? [gcc] 2012-06-04 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/53487 * config/rs6000/rs6000.c (rs6000_generate_compare): If we are doing an unsigned compare, make sure the second argument is not a negative constant. (rs6000_emit_cmove): Don't allow floating point comparisons when generating ISEL moves. [gcc/testsuite] 2012-06-04 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/pr53487.c: New test. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meissner@linux.vnet.ibm.com fax +1 (978) 399-6899
Attachment:
bug-53487.patch01b
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |