[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-f
From: |
Howard Spoelstra |
Subject: |
Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-fp |
Date: |
Sun, 4 Feb 2018 09:56:40 +0100 |
On Sun, Feb 4, 2018 at 5:11 AM, Richard Henderson
<address@hidden> wrote:
> As discussed on list, the structure and inline function solution that
> Alex and I have been writing from scratch introduces a sizeable
> performance regression. Alex and I have done some work earlier
> in the week that improved things some, but not enough.
>
> Which leaves us with a bit of a problem. The were two existing
> code bases that we originally considered:
>
> There's softfloat v3, which would need a large structural reorg in
> order to be able to handle multiple float_status contexts. But when
> Alex communicated with upstream they weren't ready to accept patches.
>
> Or there's the code from glibc. I know Peter didn't like the idea;
> debugging this code is fairly painful -- the massive preprocessor
> macros mean that you can't step through anything. But at least we
> have a good relationship with glibc, so merging patches back and
> forth should be easy.
>
> The result seems to perform slightly better than mainline.
> With an aarch64 guest and a i7-8550U host, nbench gives
>
> - FLOATING-POINT INDEX: 3.095
> + FLOATING-POINT INDEX: 3.438
>
> I've also run this through my usual set of aarch64 RISU tests.
>
> Thoughts?
>
>
Hi,
Thanks for looking into this. It seems this code does not build on OSX
Sierra nor while cross compiling for Windows on Fedora 27:
In file included from /Users/hsp/src/qemu-softfloatglibc/fpu/float16.c:20:
/Users/hsp/src/qemu-softfloatglibc/fpu/soft-fp.h:50:4: error:
"endianness not defined by sfp-machine.h"
# error "endianness not defined by sfp-machine.h"
Best,
Howard
- [Qemu-devel] [PATCH 17/24] fpu: Implement int/uint_to_float with soft-fp.h, (continued)
- [Qemu-devel] [PATCH 17/24] fpu: Implement int/uint_to_float with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 21/24] fpu: Implement scalbn with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 20/24] fpu: Implement sqrt with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 16/24] fpu: Implement float_to_int/uint with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 15/24] fpu: Implement add/sub/mul/div with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 18/24] fpu: Implement compares with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 22/24] fpu: Implement float_to_float with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 24/24] fpu: Implement round_to_int with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 23/24] fpu: Implement muladd with soft-fp.h, Richard Henderson, 2018/02/03
- [Qemu-devel] [PATCH 10/24] fpu/soft-fp: Import soft-fp from glibc, Richard Henderson, 2018/02/03
- Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-fp,
Howard Spoelstra <=
- Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-fp, Peter Maydell, 2018/02/04
- Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-fp, no-reply, 2018/02/08
- Re: [Qemu-devel] [PATCH 00/24] re-factor and add fp16 using glibc soft-fp, no-reply, 2018/02/09