https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86107
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to rsand...@gcc.gnu.org from comment #4) > > but should not fail verification even for !TARGET_INTER_UNIT_MOVES_TO_VEC > > targets. As a matter of fact, the compilation works with -mtune=intel. > > This is by design when the insn belongs to a block that is being > optimised for speed rather than size. It isn't recog per se that > fails, but the validate_change stuff, which is designed for doing > optional optimisations rather than required changes. Please note that regrename_do_replace fails, since the mentioned instruction does not validate, although the compiler just wants to rename %bx to %dx in (insn 1264); a simple register rename should not make the new insn invalid.