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

--- Comment #2 from HaoChen Gui <guihaoc at gcc dot gnu.org> ---
Sorry, I pasted wrong codes. Here are the correct ones.

//test.c
#include <stdbool.h>

bool foo (int a, int b)
{
  if (a > 2)
    return false;
  if (b < 10)
    return true;
  return false;
}

//assembly with the trunk
        cmpwi 0,3,2
        bgt 0,.L3
        cmpwi 0,4,9
        li 3,1
        isel 3,0,3,1
        rldicl 3,3,0,63
        blr
        .p2align 4,,15
.L3:
        li 3,0
        rldicl 3,3,0,63
        blr

The two zero extend (rldicl) are unnecessary?

Reply via email to