https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87744
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- As discussed on IRC, probably the if (!__builtin_mul_overflow(__l._M_lo, __x, &__lo)) optimization isn't a good idea, because most likely the compiler will in that case expand that to a full 64x64->128 multiplication plus testing that the upper 64 bits are or aren't zero, so computing everything this function needs and doing it again if there is overflow, without possibility to query what it computed.