Spec-Zone.ru › GCC 15

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

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

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

Встроенная функция: unsigned long long __builtin_cfuged (unsigned long long, unsigned long long)

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

Встроенная функция: unsigned long long __builtin_cntlzdm (unsigned long long, unsigned long long)

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

Встроенная функция: unsigned long long __builtin_cnttzdm (unsigned long long, unsigned long long)

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

Встроенная функция: unsigned long long __builtin_pdepd (unsigned long long, unsigned long long)

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

Встроенная функция: unsigned long long __builtin_pextd (unsigned long long, unsigned long long)

Выполняет 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.

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

Spec-Zone.ru

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