https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113662

--- Comment #32 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #31)
>   _35 = &__i1 + _48;
>   MEM[(int *)_35 + _46 * 1] = _41;
> 
> I think this is the IV-OPTS produces which confuses the rtl aliasing.
> 
> Note the reason why -fno-strict-aliasing works for at least the reduced
> testcase is just because there are load/stores for the iterator now instead
> of without it.

Note the above was for aarch64. For x86 IV-OPTS produces:
  _35 = _48 - _2;
  _34 = &__i1 + _35;
  MEM[(int *)_34 + 4B + _46 * 1] = _41;

Reply via email to