blob: d2d27a188b6741d215321915524ef8ef4b09c355 [file] [log] [blame]
/* PR tree-optimization/114040 */
/* { dg-do run { target bitint } } */
/* { dg-options "-std=c23 -pedantic-errors" } */
/* { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */
/* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */
#if __BITINT_MAXWIDTH__ >= 8671
__attribute__((noipa)) unsigned
foo (unsigned _BitInt(8671) x, unsigned y, unsigned _BitInt(512) z)
{
unsigned _BitInt (8671) r
= x * __builtin_sub_overflow_p (y * z, 0, (unsigned _BitInt(255)) 0);
return r;
}
#endif
int
main ()
{
#if __BITINT_MAXWIDTH__ >= 8671
if (foo (1, 1, 0xfffa46471e7c2dd60000000000000000wb))
__builtin_abort ();
#endif
}