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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|linkw at gcc dot gnu.org           |pinskia at gcc dot 
gnu.org

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Kewen Lin from comment #3)
> (In reply to Andrew Pinski from comment #2)
> > The easiest fix is todo:
> > ```
> >   for (int i = 0; i < N; ++i)
> >     {
> >       a[i] = BASE1 + i * 5;
> >       b[i] = BASE2 - i * 4;
> >       /* b[i] cannot be 0 as that is undefined for `% b[i]`. */
> >       b[i] = b[i] ? b[i] : 1;
> >       __asm__ volatile ("");
> >     }
> > ```
> > 
> > On x86_64, I suspect we are getting a trap on the `% b[i]` rather than a
> > comparison difference too. Which is why the fix should be on the
> > initialization rather than the checking.
> 
> 
> but your proposed fix is more straightforward, will you post it?

Yes I can. I will do it in the next few hours.

Reply via email to