https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92071
--- Comment #5 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #4) > I'd say this should be fixed in the arm backend, instead of asserts it > should check whether operands are aligned and if not, perform unaligned load > or store, > because the amount of spots in the middle-end that actually just call > emit_move_insn when they see a MEM is huge. Huh, this is a mid-end bug. How can fixing it in the backend be anything bug a hack? There's a contract in place here. If the target defines STRICT_ALIGNMENT, the midend must NEVER pass an unaligned object to gen_movsi