/* PR tree-optimization/115337 */ | |
/* { dg-do run { target bitint } } */ | |
/* { dg-options "-O2" } */ | |
#if __BITINT_MAXWIDTH__ >= 129 | |
#define N 128 | |
#else | |
#define N 63 | |
#endif | |
_BitInt (N) g; | |
int c; | |
void | |
foo (unsigned _BitInt (N + 1) z, _BitInt (N) *ret) | |
{ | |
c = __builtin_stdc_first_leading_one (z << N); | |
_BitInt (N) y = *(_BitInt (N) *) __builtin_memset (&g, c, 5); | |
*ret = y; | |
} | |
int | |
main () | |
{ | |
_BitInt (N) x; | |
foo (0, &x); | |
if (c || g || x) | |
__builtin_abort (); | |
} |