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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually it is closer to:
unsigned f(unsigned t, unsigned b, unsigned *tt)
{
        if (b >= 16) __builtin_unreachable();
        t *= 16;
        t+= b;
        *tt = t%16;
        unsigned ttt =  t/16;
        return ttt;
}

As we know the range of b will be [0,15] due to the loop

Reply via email to