https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114092
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I should note that LLVM (LLVM does not have __builtin_add_overflow_p) is able to optimize: ``` _Bool f2(int a, struct d b, unsigned _BitInt(1) t) { return __builtin_add_overflow(a, 0, &t); } ``` into f1.