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

--- Comment #7 from ptomsich at gcc dot gnu.org ---
The transformation for 
"""
long func2 (long a, long b, long c)
{
    if (c)
        a = 0;
    else
        a = 5;
    return a;
}
"""
into
"""
0000000000000006 <func2>:
   6:   00163513                seqz    a0,a2
   a:   40a00533                neg     a0,a0
   e:   8915                    andi    a0,a0,5
  10:   8082                    ret
"""
is correct, as we get
"""
  tmp = c ? 0 : -1;
  a = tmp & 5;
"""

Reply via email to