В настоящее время RISC-V ISA не требует аппаратного обеспечения для генерации ловушек для исключения с плавающей запятой. Ловушки могут быть полезны при отладке.
IEEE 754 определяет пять основных типов исключений с плавающей запятой:
Недопустимая операция
Деление на ноль
Перелив
Underflow
Неточное
Мне интересно работать с gcc для RISC-V, чтобы он добавлял проверку после каждого оператора с плавающей запятой.
Необходимо проверить, установлен ли какой-либо флаг исключения или нет. Если установлен какой-либо флаг, управление должно перейти к процедуре обработки исключений.
Всякий раз, когда возникает любое из этих исключений, устанавливается соответствующий бит в регистре управления с плавающей запятой и регистре состояния (fcsr).