qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 3/6] target-m68k: use floatx80 internally


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v5 3/6] target-m68k: use floatx80 internally
Date: Wed, 21 Jun 2017 09:37:19 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 06/21/2017 09:18 AM, Philippe Mathieu-Daudé wrote:
+typedef CPU_LDoubleU FPReg;

What an awful name... Anyway checking on "qemu/bswap.h" it seems there is some endianess issue with it if your host is little-endian.

There is no endian-ness issue because we do not attempt to read that structure from memory as a whole. Instead, Laurent uses two big-endian loads (with appropriate address arithmetic) and stores the result into this host structure in host-endian order. Further, the host routines use the structure members by name and do not assume any particular relationship between them.

Do you have a way to run Berkeley TestFloat?

As noted in Laurent's cover message, floatx80 isn't quite right -- that is the x86 data type, and the proper m68k data type is slightly different.

I would expect the results from using floatx80 to be Just Good Enough to produce a working m68k user-land. It will produce correct results for normal numbers in arithmetic such as 1.0 + 10.0. But I would expect many of the edge conditions that TestFloat would attempt (especially de-normals and un-normals) would fail.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]