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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note f2 should really be:
```
void f2(unsigned *__restrict__  a, unsigned * __restrict__ b)
{
        for(int i = 0;i < 1024;i ++)
        {
          long long ta = a[i];
          long long tb = b[i];
          long long tt = ta - tb;
          if (tt < 0)
            tt = 0;
          if (tt > (long long)(unsigned long long)(unsigned)-1u)
            tt = -1u;

          a[i] = tt;
        }
}
```

Because `0 - 10` saturates to `0` rather than to `UINT_MAX`. I accidently made
the idea there.

Reply via email to