Учитывает ли IEEE 754 режим DAZ x86?

В X86 есть два интересных флага, которые можно установить в динамической среде с плавающей запятой, которые влияют на обработку отклонений от нормы. FTZ (сброс до нуля) говорит, что в любом случае, когда будет получен ненормальный результат, вместо этого выдается 0. DAZ (денормализованные значения равны нулю) говорит, что все субнормальные операнды обрабатываются так, как если бы они были равны 0.

Я думаю, что §8.2 IEEE 754 учитывает ЗСТ:

Связывание атрибута возобновления альтернативной обработки исключений с блоком означает: обработку подразумеваемых исключений в соответствии с указанным атрибутом возобновления и возобновление выполнения связанного блока. Реализации должны поддерживать следующие атрибуты возобновления:

...

замена(х)

Указывается для любого исключения: замените результат по умолчанию такой исключительной операции переменной или выражением x. Время и область действия, в которой оценивается x, определяются языком.

...

abruptUnderflow

Когда сигнализируется о недостаточном переполнении из-за обнаружения крошечного ненулевого результата, замените результат по умолчанию нулем того же знака или минимальным нормальным округленным результатом того же знака, поднимите флаг нижнего переполнения и сообщите о неточном исключении.

(Я не помню поведение FTZ в режимах направленного округления, но одно из вышеперечисленных должно охватить это.)

Делаются ли какие-либо допуски для DAZ? Я ничего не видел.

0 ответов

Другие вопросы по тегам