On Wed, Jun 21, 2017 at 1:37 PM, Richard Henderson <r...@twiddle.net> wrote: > On 06/21/2017 09:18 AM, Philippe Mathieu-Daudé wrote: >> 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.
Ok, thank your Richard for this clear explanation. ("Endian-ness" ok, Peter also corrected me, I'll give a try to some speller...) > >> 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. Ok. I'm asking thinking about cross unit-tests I can add to our continuous integration system, this might be a candidate. Regards, Phil.