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


Reply via email to