software floating point

компьютеры программирование software gcc fpu

Хочу скомпилировать программу так, чтобы все вычисления с плавающей запятой работали через программную эмуляцию FPU, а не реальными командами.
Зачем - допустим на 386 без сопроцессора запускать, или для режима, в котором нельзя использовать floating point регистры. Или чтоб проконтролировать точность вычислений, дописав библиотеку их эмуляции.
При этом хочу, чтобы эмулировалась даже денормализация.

Читал, что softfp поддерживают все популярные компиляторы по опции. Какая это опция? Какими библиотеками можно эмулировать?


зы на самом деле применений 2: есть программа, считающая на денормализованных числах - она не работает на x86, но работает на спарк (sparc). Хочу заставить ее работать на интеле, можно медленно, qemu со спарковским бинариком не помогает. пока что думаю на денормализацию. второе применение - набрать статистику по реальным программам, с какими числами они работают. т.е. в библиотеке эмуляции добавить сбор распределений по экспоненте, по разнице экспонент перемножаемых числе и тп

Примечание:
Данный параметр НЕ ВКЛЮЧАЕТ реализацию вычислений с пл. точкой. fp-bit.c из комплекта gcc содержит не все функции, генерируемые gcc по этой опции.
У других компиляторов есть такая опция?
Ответы:
У gcc есть параметр -msoft-float, который как раз и включает программную реализацию вычислений с плавающей точкой.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.