Учитывает ли IEEE 754 режим DAZ x86?
В X86 есть два интересных флага, которые можно установить в динамической среде с плавающей запятой, которые влияют на обработку отклонений от нормы. FTZ (сброс до нуля) говорит, что в любом случае, когда будет получен ненормальный результат, вместо этого выдается 0. DAZ (денормализованные значения равны нулю) говорит, что все субнормальные операнды обрабатываются так, как если бы они были равны 0.
Я думаю, что §8.2 IEEE 754 учитывает ЗСТ:
Связывание атрибута возобновления альтернативной обработки исключений с блоком означает: обработку подразумеваемых исключений в соответствии с указанным атрибутом возобновления и возобновление выполнения связанного блока. Реализации должны поддерживать следующие атрибуты возобновления:
...
замена(х)
Указывается для любого исключения: замените результат по умолчанию такой исключительной операции переменной или выражением x. Время и область действия, в которой оценивается x, определяются языком.
...
abruptUnderflow
Когда сигнализируется о недостаточном переполнении из-за обнаружения крошечного ненулевого результата, замените результат по умолчанию нулем того же знака или минимальным нормальным округленным результатом того же знака, поднимите флаг нижнего переполнения и сообщите о неточном исключении.
(Я не помню поведение FTZ в режимах направленного округления, но одно из вышеперечисленных должно охватить это.)
Делаются ли какие-либо допуски для DAZ? Я ничего не видел.