/* { dg-do compile } */ | |
/* { dg-options "-O2 -march=core2" } */ | |
unsigned int | |
__attribute__ ((target("rdrnd"))) | |
__x86_rdrand(void) | |
{ | |
unsigned int retries = 100; | |
unsigned int val; | |
while (__builtin_ia32_rdrand32_step(&val) == 0) | |
if (--retries == 0) | |
return 0; | |
return val; | |
} |