/* 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