/* { dg-do compile } */ /* { dg-require-effective-target lp64 } */ /* { dg-options "-Os -O2 -mtune=ampere1a -fno-split-wide-types" } */ int i; __int128 j; short s; void foo (void) { j -= i; int l = i - __builtin_sub_overflow_p (0, 61680, s); j -= __builtin_mul_overflow_p (i, l, 0); }