Spec-Zone.ru › GCC 11

Предыдущий: Основные встроенные функции PowerPC, доступные в ISA 3.0, Вверх: Основные встроенные функции PowerPC [Оглавление][Индекс]

6.60.22.6 Основные встроенные функции PowerPC, доступные в ISA 3.1 ¶

Основные встроенные функции, описанные в этом разделе, доступны в процессорах семейства PowerPC, начиная с ISA 3.1. Если на командной строке не отключены конкретные опции, указание опции -mcpu=power10 имеет тот же эффект, что и указание -mcpu=power9.

Следующие встроенные функции доступны в 64-битных системах Linux, использующих набор инструкций будущей архитектуры (-mcpu=power10):

unsigned long long int
__builtin_cfuged (unsigned long long int, unsigned long long int)

Выполнить 64-битную операцию центрифугирования, как если бы она была реализована инструкцией cfuged.

unsigned long long int
__builtin_cntlzdm (unsigned long long int, unsigned long long int)

Выполнить 64-битную операцию подсчёта ведущих нулей с маской, как если бы она была реализована инструкцией cntlzdm.

unsigned long long int
__builtin_cnttzdm (unsigned long long int, unsigned long long int)

Выполнить 64-битную операцию подсчёта хвостовых нулей с маской, как если бы она была реализована инструкцией cnttzdm.

unsigned long long int
__builtin_pdepd (unsigned long long int, unsigned long long int)

Выполнить 64-битную операцию параллельной записи битов, как если бы она была реализована инструкцией pdepd.

unsigned long long int
__builtin_pextd (unsigned long long int, unsigned long long int)

Выполнить 64-битную операцию параллельного извлечения битов, как если бы она была реализована инструкцией pextd.

vector signed __int128 vsx_xl_sext (signed long long, signed char *);
vector signed __int128 vsx_xl_sext (signed long long, signed short *);
vector signed __int128 vsx_xl_sext (signed long long, signed int *);
vector signed __int128 vsx_xl_sext (signed long long, signed long long *);
vector unsigned __int128 vsx_xl_zext (signed long long, unsigned char *);
vector unsigned __int128 vsx_xl_zext (signed long long, unsigned short *);
vector unsigned __int128 vsx_xl_zext (signed long long, unsigned int *);
vector unsigned __int128 vsx_xl_zext (signed long long, unsigned long long *);

Загрузка (__int128 вектор) и расширение знака, как если бы она была реализована инструкциями ISA 3.1 lxvrbx lxvrhx lxvrwx lxvrdx.

void vec_xst_trunc (vector signed __int128, signed long long, signed char *);
void vec_xst_trunc (vector signed __int128, signed long long, signed short *);
void vec_xst_trunc (vector signed __int128, signed long long, signed int *);
void vec_xst_trunc (vector signed __int128, signed long long, signed long long *);
void vec_xst_trunc (vector unsigned __int128, signed long long, unsigned char *);
void vec_xst_trunc (vector unsigned __int128, signed long long, unsigned short *);
void vec_xst_trunc (vector unsigned __int128, signed long long, unsigned int *);
void vec_xst_trunc (vector unsigned __int128, signed long long, unsigned long long *);

Усечение и сохранение правого элемента вектора, как если бы она была реализована инструкциями ISA 3.1 stxvrbx stxvrhx stxvrwx stxvrdx.

Предыдущий: Основные встроенные функции PowerPC, доступные в ISA 3.0, Вверх: Основные встроенные функции PowerPC [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Basic-PowerPC-Built-in-Functions-Available-on-ISA-3_002e1.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API