https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68081
--- Comment #3 from Jeffrey Walton <noloader at gmail dot com> --- (In reply to Jeffrey Walton from comment #2) > (In reply to Andrew Pinski from comment #1) > > Why are you using the builtin directly? You should be using the intrinsics > > form instead. > > Its a cross product of (1) that's what the docs tell me to use for RDRAND > and (2) lack of documentation for RDSEED. > > The doc I am referring to is > http://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html#x86-Built-in- > Functions lists. It tells me to use "__builtin_ia32_rdrand{16|32|64}_step" > for RDRAND. But it does not tell me what to use for RDSEED. I made the leap > I should use the *_rdseed variants for RDSEED. > > (My apologies for the literal read. If I should be doing something > different, then I need to be told to do so :) By the way, I tried to find RDRAND and RDSEED intrinsic functions in the past: http://www.google.com/search?q=RDRAND+intrinsic+site:gnu.org . The best I can tell, they are undocumented. I did find H.J. Lu's patches that provide __builtin_ia32_rdseed{X}_step, so I used them instead. They are documented, so I used them. Its very important (to me) to find provenance in vendor documentation.