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

--- Comment #9 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> ---
The same issue of unnecessary rldicl instruction is there if we change return
value from bool to int.

int foo (int a, int b)
{
  if (a > 2)
    return 0;
  if (b < 10)
    return 1;
  return 0;
}


        cmpwi 0,3,2
        bgt 0,.L3
        subfic 4,4,9
        srdi 3,4,63
        xori 3,3,0x1
        rldicl 3,3,0,63
        blr
        .p2align 4,,15
.L3:
        li 3,0
        rldicl 3,3,0,63
        blr

Reply via email to