https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92140
--- Comment #27 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #26) > Created attachment 47070 [details] > gcc10-prereload-splitters.patch > > Updated patch for the pre-reload splitters, which uses a new predicate and > additionally removes constraints and attributes from those > define_insn_and_split that had them (most of them didn't), because nothing > will really look at constraints before reload and similarly for enabled etc. > attributes. FYI, these constraints were used in the past (when combine was allowed to propagate hard registers into combined insn) to prevent reload failures, where reload was not able to e.g. reload wrong hard reg in the place of count reg in the shift insn pattern to %ecx. Nowadays, constraints in the patterns of pre-reload insn_and_split are not necessary anymore, and can be removed together with ix86_legitimate_combined_insn target hook.