Spec-Zone.ru › GCC 9

6.60.14 Поддержка парных чисел с одинарной точностью MIPS

Архитектура MIPS64 включает ряд инструкций, работающих с парами чисел с одинарной точностью с плавающей запятой. Каждая пара упаковывается в 64-битный регистр с плавающей запятой, где один элемент обозначен как «верхняя половина», а другой — как «нижняя половина».

GCC поддерживает операции с парными числами с одинарной точностью, используя как общие расширения векторов (см. Расширения векторов), так и набор функций MIPS-специфичных встроенных функций. Оба типа поддержки включаются опцией командной строки -mpaired-single.

Тип вектора, связанный с парными числами с одинарной точностью, обычно называется v2sf. Он может быть определен на C следующим образом:

typedef float v2sf __attribute__ ((vector_size (8)));

v2sf значения инициализируются так же, как и агрегаты. Например:

v2sf a = {1.5, 9.1};
v2sf b;
float e, f;
b = (v2sf) {e, f};

Примечание: Порядок байтов процессора определяет, какое значение хранится в верхней половине регистра, а какое — в нижней. На целевых системах с прямым порядком байтов первое значение — нижнее, а второе — верхнее. Обратный порядок применяется для целевых систем с обратным порядком байтов. Например, приведенный выше код устанавливает нижнюю половину a в 1.5 на целевых системах с прямым порядком байтов и 9.1 на целевых системах с обратным порядком байтов.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.5.0/gcc/MIPS-Paired-Single-Support.html

Spec-Zone.ru

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