http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419
--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-04 15:53:20 UTC --- Why do you talk about clang? This has nothing to do with it. And, there is already runtime check for whether RDRAND can be used in random.cc (though, apparently insufficient for i?86 - it should use either __get_cpuid, or __get_cpuid_max before __cpuid). Not sure if on x86_64 it is guaranteed that max basic level is always >= 1, if not, it also needs to test __get_cpuid_max.