https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80491
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with my r230856. I'll have a look. C testcase: struct S { unsigned long long low, hi; }; struct S add (struct S *a, struct S *b) { struct S s; s.low = a->low + b->low; s.hi = a->hi + b->hi + (s.low < a->low); return s; }