https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68862
--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #2) > Not sure what to do about this though, most of the SSE* arithmetic > instructions use nonimmediate_operand or similar predicates, we'd have to > switch all of them to use some other predicate that for pre-AVX would > disallow misaligned_operand. Similar problem, where semi-invalid operands (e.g. unaligned memory operand, hard register that wouldn't satisfy operand constraints) were propagated in combine pass was solved by introducing ix86_legitimate_combined_insn and ssealign attribute. If LRA is doing similar propagation, then I think we should introduce to LRA similar target hook that would eventually reject this kind of invalid instruction. This way, target would be allowed to have the last say about the validity of the insn. (And neverthelast, this functionality would also help other targets, e.g. SH).