1 /* { dg-do compile } */
2 /* { dg-options "-O2 -march=haswell" } */
3 
4 unsigned int
5 __attribute__ ((target("arch=core2")))
__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) /* { dg-error "needs isa option" } */
12     if (--retries == 0)
13       return 0;
14 
15   return val;
16 }
17