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

Tom Niget <niget.tom at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |niget.tom at gmail dot com

--- Comment #1 from Tom Niget <niget.tom at gmail dot com> ---
Also happens for regular bool conversion: (on GCC 14.3.0 -03 -march=ARMv6
-mthumb)

bool f(int x) {
    return (bool)x;
}

f:
        subs    r3, r0, #1
        sbcs    r0, r0, r3
        uxtb    r0, r0
        bx      lr

ARMv7-A Clang (-O3 -mthumb) gets it right:

f:
        subs    r1, r0, #1
        sbcs    r0, r1
        bx      lr

Reply via email to