https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85058

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The same page also says:

<quote>
The following built-in function is available when -mfsgsbase is used. All of
them generate the machine instruction that is part of the name.

unsigned int __builtin_ia32_rdfsbase32 (void)
unsigned long long __builtin_ia32_rdfsbase64 (void)
unsigned int __builtin_ia32_rdgsbase32 (void)
unsigned long long __builtin_ia32_rdgsbase64 (void)
void _writefsbase_u32 (unsigned int)
void _writefsbase_u64 (unsigned long long)
void _writegsbase_u32 (unsigned int)
void _writegsbase_u64 (unsigned long long)
</quote>

The last four are the <immintrin.h> names, not the built-ins. They should be:

__builtin_ia32_wrfsbase32
__builtin_ia32_wrfsbase64
__builtin_ia32_wrgsbase32
__builtin_ia32_wrgsbase64

Reply via email to