Spec-Zone.ru › GCC 10

Следующее: Встроенные функции MIPS Loongson, Предыдущее: Встроенные функции MIPS DSP, Вверх: Встроенные функции, специфичные для конкретных целевых машин [Оглавление][Индекс]

6.60.15 Поддержка парных чисел одинарной точности 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};

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

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

Spec-Zone.ru

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