1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -march=core2" } */ 3 4 unsigned int 5 __attribute__ ((target("rdrnd"))) __x86_rdrand(void)6__x86_rdrand(void) 7 { 8 unsigned int retries = 100; 9 unsigned int val; 10 11 while (__builtin_ia32_rdrand32_step(&val) == 0) 12 if (--retries == 0) 13 return 0; 14 15 return val; 16 } 17