6.60.22.3 Базовые встроенные функции PowerPC, доступные в ISA 2.06 ¶
Базовые встроенные функции, описанные в этом разделе, доступны на семействе процессоров PowerPC, начиная с ISA 2.05 или более поздней версии. Если на командной строке не отключены определенные параметры, указание параметра -mcpu=power7 приводит к включению всех тех же параметров, что и для -mcpu=power6, а также параметров -maltivec, -mpopcntd и -mvsx.
Для следующих базовых встроенных функций требуется -mpopcntd:
unsigned int __builtin_addg6s (unsigned int, unsigned int); long long __builtin_bpermd (long long, long long); unsigned int __builtin_cbcdtd (unsigned int); unsigned int __builtin_cdtbcd (unsigned int); long long __builtin_divde (long long, long long); unsigned long long __builtin_divdeu (unsigned long long, unsigned long long); int __builtin_divwe (int, int); unsigned int __builtin_divweu (unsigned int, unsigned int); vector __int128 __builtin_pack_vector_int128 (long long, long long); void __builtin_rs6000_speculation_barrier (void); long long __builtin_unpack_vector_int128 (vector __int128, signed char);
Из них функции __builtin_divde и __builtin_divdeu требуют 64-битной среды.
Следующие базовые встроенные функции, которые также поддерживаются на целевых платформах x86, требуют -mfloat128.
__float128 __builtin_fabsq (__float128); __float128 __builtin_copysignq (__float128, __float128); __float128 __builtin_infq (void); __float128 __builtin_huge_valq (void); __float128 __builtin_nanq (void); __float128 __builtin_nansq (void); __float128 __builtin_sqrtf128 (__float128); __float128 __builtin_fmaf128 (__float128, __float128, __float128);
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/Basic-PowerPC-Built-in-Functions-Available-on-ISA-2_002e06.html