1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/* PR tree-optimization/112880 */
/* { dg-do compile { target bitint } } */
/* { dg-options "-std=c23 -O2" } */
#if __BITINT_MAXWIDTH__ >= 1024
_BitInt(1024) a, b, c, d, e, f;
void
foo (void)
{
__builtin_add_overflow (a, b, &a);
__builtin_sub_overflow (c, d, &c);
__builtin_mul_overflow (e, f, &e);
}
#endif
#if __BITINT_MAXWIDTH__ >= 512
_BitInt(512) g, h, i, j, k, l;
void
bar (void)
{
__builtin_add_overflow (g, h, &g);
__builtin_sub_overflow (i, j, &i);
__builtin_mul_overflow (k, l, &k);
}
#endif
_BitInt(32) m, n, o, p, q, r;
void
baz (void)
{
__builtin_add_overflow (m, n, &m);
__builtin_sub_overflow (o, p, &o);
__builtin_mul_overflow (q, r, &q);
}
|