Le 06/07/2020 à 18:58, Alex Bennée a écrit : > Laurent Vivier <[email protected]> writes: > >> According to the comment, this definition of invalid encoding is given >> by intel developer's manual, and doesn't comply with 680x0 FPU. >> >> With m68k, the explicit integer bit can be zero in the case of: >> - zeros (exp == 0, mantissa == 0) >> - denormalized numbers (exp == 0, mantissa != 0) >> - unnormalized numbers (exp != 0, exp < 0x7FFF) >> - infinities (exp == 0x7FFF, mantissa == 0) >> - not-a-numbers (exp == 0x7FFF, mantissa != 0) >> >> For infinities and NaNs, the explicit integer bit can be either one or >> zero. >> >> The IEEE 754 standard does not define a zero integer bit. Such a number >> is an unnormalized number. Hardware does not directly support >> denormalized and unnormalized numbers, but implicitly supports them by >> trapping them as unimplemented data types, allowing efficient conversion >> in software. >> >> See "M68000 FAMILY PROGRAMMER’S REFERENCE MANUAL", >> "1.6 FLOATING-POINT DATA TYPES" >> >> We will implement in the m68k TCG emulator the FP_UNIMP exception to >> trap into the kernel to normalize the number. In case of linux-user, >> the number will be normalized by QEMU. >> >> Signed-off-by: Laurent Vivier <[email protected]> > > Apologies for the private reply, was using my fallback tooling while > email was down and that doesn't automatically include the group address. > > Reviewed-by: Alex Bennée <[email protected]> > > By all means take it via the m68k tree.
Thank you. Applied to my m68k branch. Laurent
