https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43892
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #30 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Well, there is another way how to write it: u32 z; u32 y = __builtin_add_overflow (sum, x, &z); return y + z; and for the last 5 years GCC even pattern recognizes the #c0 way as the above one. Except that the powerpc backend doesn't define uaddv*4/usubv*4 expanders that are needed for that (unlike aarch64, arm, x86, sparc, visium). But if powerpc has instructions to efficiently handle double-word additions/subtractions (as seen in this PR it has), it is really desirable to implement those.