Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12-12-2013_11-21-32 / Посовие_1.docx
Скачиваний:
92
Добавлен:
10.05.2015
Размер:
217.48 Кб
Скачать

9.2 Арифметические команды

Арифметические команды SIMD выполняют сложение, вычитание, умножение и деление данных одинарной точности с плавающей запятой.

Второй операнд этих команд может располагаться либо в SIMD-регистре, либо в памяти. Первый операнд обязательно должен находиться в SIMD-регистре. Арифметические команды поддерживают как параллельные, так и скалярные операции.

  9.2.1 Команды упакованного/скалярного сложения и вычитания

Команды ADDPS (Add packed, single-precision, floating-point - сложение упакованных данных с плавающей запятой с одинарной точностью) и SUBPS (Subtract packed, single-precision, floating-point – вычитание упакованных данных с плавающей запятой с одинарной точностью) складывают или вычитают четыре пары упакованных операндов одинарной точности с плавающей запятой.

Команды ADDSS (Add scalar single-precision, floating-point – сложение скалярных упакованных данных с плавающей запятой с одинарной точностью) и SUBSS (Subtract scalar single-precision, floating-point - вычитание упакованных данных с плавающей запятой с одинарной точностью) складывают или вычитают младшую пару упакованных операндов одинарной точности с плавающей точкой. Остальные элементы регистра не меняются.

9.2.2 Команды упакованного/скалярного умножения и деления

Команды MULPS (Multiply packed, single-precision, floating-point – умножение упакованных данных с плавающей запятой с одинарной точностью) и DIVPS (Divide packed, single-precision, floating-point – деление упакованных данных с плавающей запятой с одинарной точностью) умножают или делят четыре пары упакованных операндов одинарной точности с плавающей запятой.

Команды MULSS (Multiply scalar single-precision, floating-point – умножение скалярных данных с плавающей запятой с одинарной точностью) и DIVSS (Multiply scalar single-precision, floating-point – деление скалярных данных с плавающей запятой с одинарной точностью) умножают или делят младшую пару упакованных операндов одинарной точности с плавающей запятой. Остальные элементы регистра не меняются.

9.2.3 Команды упакованого/скалярного вычисления квадратных корней

Команды вычисления квадратных корней SQRTPS (Square root packed, single-precision, floating-point – вычисление квадратного корня из упакованных данных с плавающей запятой с одинарной точностью) и SQRTSS (Square root scalar single-precision, floating-point – вычисление квадратного корня из скалярных данных с плавающей запятой с одинарной точностью) определяют арифметические значения квадратного корня для чисел, упакованных во втором операнде, и записывают результаты в элементы первого операнда.

Входной операнд для этих команд может располагаться либо в регистре, либо в памяти. Выходной операнд должен обязательно находиться в SIMD-регистре.

9.2.4. Команды упакованного/скалярного нахождения максимума и минимума

Команды нахождения минимума и максимума производят попарное сравнение соответствующих элементов двух операндов и записывают минимальные или максимальные значения в выходной операнд.

Входной операнд для этих команд может располагаться либо в XMM-регистре, либо в памяти. Выходной операнд должен обязательно находиться в XMM-регистре. Поддерживаются как параллельные, так и скалярные операции (maxps (Maximum packed, single-precision, floating-point), maxss, minps и minss).

Соседние файлы в папке 12-12-2013_11-21-32