http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47698
Michael Matz <matz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu.org --- Comment #4 from Michael Matz <matz at gcc dot gnu.org> 2011-02-11 17:05:57 UTC --- noce_operand_ok doesn't disregard volatile MEMs: /* We special-case memories, so handle any of them with no address side effects. */ if (MEM_P (op)) return ! side_effects_p (XEXP (op, 0)); But I don't see where we would handle volatile MEMs in any sensible way. We happily fiddle with such operands resulting in the problem.