https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87859
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 44991 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44991&action=edit gcc9-pr87859.patch This is the approach I had my mind. For *_24.c it makes no difference, but for *_25.c, instead of: New sequence of 2 stores to replace old one of 14 stores New sequence of 1 stores to replace old one of 6 stores it now emits: New sequence of 1 stores to replace old one of 8 stores New sequence of 2 stores to replace old one of 10 stores New sequence of 1 stores to replace old one of 6 stores Resulting assembly is one insn larger. So, something that would need to be analyzed.