https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79675
--- Comment #2 from amker at gcc dot gnu.org --- (In reply to ktkachov from comment #1) > I think ivopts also contributes here. > Before ivopts the memory access and address are: > s1_10 = s1_3 + 1; > c1_11 = *s1_3; > > but ivopts transforms them to: > s1_10 = s1_3 + 1; > c1_11 = MEM[base: s1_10, offset: -1B]; > > So the memory address is now dependent on s1_10 rather than s1_3 and > introduces an offset where there was none before Thanks for reporting, I will have a look. Thanks.