https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102306
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- There is substantial checking for volatile references in can_combine_p but it implicitly assumes that the combination reduces the number of instructions.