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

--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
For some cases where T+const_int is calculated, like ...

int foo (int a, int b)
{
  return a == b ? 5 : 4;
}

comiled with -O2:
        cmp/eq  r5,r4
        movt    r0
        rts     
        add     #4,r0

.. the dependency of the comparison and the T bit store can be reduced:
        cmp/eq  r5,r4
        mov     #2,r0
        rts
        addc    r0,r0

This works only for even constants.

Reply via email to