Некоторые ключевые отличия между инструкциями FMA и AVX:
- FMA выполняют операции слиянного умножения и сложения (FMA) для скалярных и SIMD-операций с плавающей точкой. 4 Инструкции FMA быстрее, чем цепочки операций умножения и сложения, и могут выдавать иные результаты, так как не округляют с одинарной точностью при переходе от умножения к сложению. 2
- AVX подходят для интенсивных вычислений с плавающей точкой в мультимедиа-программах и научных задачах. 5 Там, где возможна более высокая степень параллелизма, увеличивают производительность с вещественными числами. 5
Кроме того, набор AVX-инструкций использует трехоперандный синтаксис. 35 Например, вместо a = a + b можно использовать c = a + b, при этом регистр a остаётся неизмененным. 35 Это повышает производительность, так как избавляет от необходимости сохранять перед вычислением и восстанавливать после вычисления регистр, содержавший a, из другого регистра или памяти. 35