https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117864
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |easyhack --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note x86_64 produces: ``` uadd_with_carry: addb $-1, %dl adcl %esi, %edi movl %edi, (%rcx) setc %al ret ``` That is because x86_64 implements the uaddc5/usubc5 optabs and GCC produces: ``` _15 = (unsigned int) c_8(D); _16 = .UADDC (a_5(D), b_6(D), _15); _3 = REALPART_EXPR <_16>; *out_12(D) = _3; _10 = IMAGPART_EXPR <_16>; _14 = (_Bool) _10; ``` So this should be an easy change for some one new that wants to work on aarch64 backend to do.