ext: Include Bochs's SoftFloat implementation
Review Request #2018 - Created Sept. 19, 2013 and discarded - Latest diff uploaded
| Information | |
|---|---|
| Andreas Sandberg | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9883:e89a7cf22da3 --------------------------- ext: Include Bochs's SoftFloat implementation This changeset includes John Hauser's SoftFloat from Bochs's SVN revision 11804 (2013-09-05). The main difference between Bochs's version of SoftFloat moves the statical variables controlling floating point rounding and exceptions to a separate struct that is passed explicitly to all functions that need it. This version has been modified to use live in a separate name space (SoftFloat). Internal Bochs types and macros have been replaced with standard types as follows: s/BX_CPP_INLINE/inline/g s/BX_CONST64/UINT64_C/g s/Bit64u/uint64_t/g s/Bit32u/uint32_t/g s/Bit16u/uint16_t/g s/Bit8u/uint8_t/g s/Bit64s/int64_t/g s/Bit32s/int32_t/g s/Bit16s/int16_t/g s/Bit8s/int8_t/g Additionally, BX_BIG_ENDIAN has been replaced with a test using the system's endianness macros. Since some versions of the standard libraries require the define __STD_CONSTANT_MACROS to enable the UINTxx_C and INTxx_C macros when compiling C++ code, this changeset also adds that define to the preprocessor flags.
Various float conversion tests using 80-bit loads/stores and KVM. Seems to work fine.
