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

--- Comment #2 from celeriyacon <trufflenose at proton dot me> ---
With this slightly simpler, modified test function:

__attribute__ ((noipa,noinline,noclone)) unsigned int
foo(unsigned int a, unsigned int b) {
  return (b - a - 1) > b;
}


The generated assembly looks fine on gcc 4.9.4:

_foo:
        sett
        mov     r5,r1
        subc    r4,r1
        cmp/hi  r5,r1
        rts     
        movt    r0

But broken on gcc 5.5.0(and newer):

_foo:
        sett
        mov     r5,r1
        subc    r4,r1
        rts
        movt    r0

Reply via email to