https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749
--- Comment #10 from Alan Modra <amodra at gcc dot gnu.org> --- Author: amodra Date: Sat Jan 14 13:24:46 2017 New Revision: 244465 URL: https://gcc.gnu.org/viewcvs?rev=244465&root=gcc&view=rev Log: Avoid PR72749 by not using unspecs Rather than using unspecs in doloop insns to stop combine creating these insns, use legitimate_combined_insn. PR target/72749 * combine.c (recog_for_combine_1): Set INSN_CODE before calling target legitimate_combined_insn. * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define. (rs6000_legitimate_combined_insn): New function. * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove all uses. (ctr<mode>_internal3): Rename from *ctr<mode>_internal5. (ctr<mode>_internal4): Rename from *ctr<mode>_internal6. (ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name. Modified: trunk/gcc/ChangeLog trunk/gcc/combine.c trunk/gcc/config/rs6000/rs6000.c trunk/gcc/config/rs6000/rs6000.md