Здравствуйте, Evgeny.Panasyuk, Вы писали:
N>>Поддержка железа давно доступна в нормальных компиляторах
EP>Я имел в виду около-бесплатную железную поддержку на happy path, то есть без необходимости жонглирования флагами в asm, постоянной их проверкой, а посредством вызова установленного обработчика если вдруг произошло переполнение.
z/Arch: ставишь PSW бит 20 в единичку и любое переполнение в арифметической команде даёт немедленное исключение. Для адресной и прочей беззнаковой арифметики используется другой набор команд (типа, ALR вместо AR), но тогда у тебя не будет немедленного статуса типа "<0".
MIPS: зовёшь какую-нибудь add вместо addu, и даже битика режима не надо ставить.
Но в нормальных современных процессорах, даже если есть проверки на happy path, за счёт предсказания ветвлений оно в подавляющем большинстве случаев пролетает их сходу, не притормаживая.