В соответствии с документацией в math.h
есть функция fma()
. Это очень приятно, и я знаю, как работает FMA и для чего его использовать. Однако я не уверен, как это реализовано на практике? Меня больше всего интересуют архитектуры x86
и x86_64
.
Есть ли инструкция FMA с плавающей точкой (не вектор), возможно, как определено в IEEE-754 2008?
Используется ли инструкция FMA3 или FMA4?
Существует ли внутренняя цель убедиться, что используется реальная FMA, когда на точность полагается?