https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Perhaps use the TARGET_LEGITIMATE_COMBINED_INSN target hook? Though if that hook rejects all doloop insns, that would mean you can't combine into the doloop insns created by the doloop pass, not sure if it wouldn't hurt though. Without the UNSPEC, the doloop insn has been removed during the fwprop2 pass, together with tons of other insns, while with the UNSPEC that doesn't happen. If we want to keep the UNSPEC, then we'd need to debug whatever in the sched2 pass decides to remove the CODE_LABEL from the fallthrough block after the degenerate doloop insn.