https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100005
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Because it's declared as: extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdrand64_step (unsigned long long *__P) The artificial attribute prevents taking the address.