blob: acf1762ccd5a60f7a7a58acafbd1b440e2324bb2 (
plain)
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
|
/* PR c/102989 */
/* { dg-do compile { target bitint } } */
/* { dg-options "-O2 -std=gnu23 -w" } */
_BitInt(37)
foo (_BitInt(37) x, _BitInt(37) y)
{
_BitInt(37) w;
__asm ("# %0 %1 %2 %3" : "=r" (w) : "r" (x), "r" (x + y), "g" (68719476735wb));
return w;
}
#if __BITINT_MAXWIDTH__ >= 125
_BitInt(125)
bar (_BitInt(125) x, _BitInt(125) y)
{
_BitInt(125) w;
__asm ("# %0 %1 %2 %3" : "=g" (w) : "g" (x), "g" (x + y), "g" (21267647932558653966460912964485513215wb));
return w;
}
#endif
#if __BITINT_MAXWIDTH__ >= 575
_BitInt(575)
baz (_BitInt(575) x, _BitInt(575) y)
{
_BitInt(575) w;
__asm ("# %0 %1 %2 %3" : "=g" (w) : "g" (x), "g" (x + y), "g" (61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174783wb));
return w;
}
#endif
|