From: "Alex Bennée" <alex.bennee@linaro.org>
To: Richard Henderson <rth@twiddle.net>
Cc: peter.maydell@linaro.org, qemu-arm@nongnu.org,
qemu-devel@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [RFC PATCH for 2.11 05/23] softfloat3c: initial build machinery
Date: Fri, 21 Jul 2017 10:32:49 +0100 [thread overview]
Message-ID: <87y3ri6sou.fsf@linaro.org> (raw)
In-Reply-To: <71a11f23-39e7-d89a-36d5-2870ed76d940@twiddle.net>
Richard Henderson <rth@twiddle.net> writes:
> On 07/20/2017 05:04 AM, Alex Bennée wrote:
>> +# so they can still be linked when needed. We build these files surpressing so of the normal CFLAGS.
>
> "surpressing so" -> "suppressing some"
>
> Do we gain any confidence for our still supported but less tested
> 32-bit hosts (all of which do support a 64-bit type) by dropping the
> FAST_INT64 distinction?
I guess so. Certainly I can cross-compile aarch64-softmmu on armhf
defining all the:
softfloat3_fastint64="yes"
softfloat3_fastdiv32to16="yes"
softfloat3_fastdiv64to32="yes"
without any issue. I guess it might mean our 32 bit guests might run
slightly slower but none of our FP is fast anyway.
There is also a slight intermingling in the build setup between the
FASTINT64 and the specialisation even though there are for different
things.
The 8086 code basically makes NaN propagation match old x86 whereas SSE
is the more recent and more IEEE like SSE behaviour. See section 5 of:
http://www.jhauser.us/arithmetic/SoftFloat-3c/doc/SoftFloat-source.html
I suspect what we should have here are specialisation for each of our
guests. We do something similar in the softfloat2a code in it's
specialise header. Maybe we should rename 8086-SSE to default and then
create a specialisation for each guest that needs it?
>
>> -#ifdef __GNUC_STDC_INLINE__
>> -#define INLINE inline
>> -#else
>> -#define INLINE extern inline
>
> Why are you removing this?
I was having compile issues I think because it was defaulting to extern
inline which was breaking given all the inline functions are defined in
the header. Having re-read the docs for __GNUC_STDC_INLINE__ though it
must have been for one of the more esoteric compile targets as that
should be defined for our default C99 compile?
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Richard Henderson <rth@twiddle.net>
Cc: peter.maydell@linaro.org, qemu-arm@nongnu.org,
qemu-devel@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] [RFC PATCH for 2.11 05/23] softfloat3c: initial build machinery
Date: Fri, 21 Jul 2017 10:32:49 +0100 [thread overview]
Message-ID: <87y3ri6sou.fsf@linaro.org> (raw)
In-Reply-To: <71a11f23-39e7-d89a-36d5-2870ed76d940@twiddle.net>
Richard Henderson <rth@twiddle.net> writes:
> On 07/20/2017 05:04 AM, Alex Bennée wrote:
>> +# so they can still be linked when needed. We build these files surpressing so of the normal CFLAGS.
>
> "surpressing so" -> "suppressing some"
>
> Do we gain any confidence for our still supported but less tested
> 32-bit hosts (all of which do support a 64-bit type) by dropping the
> FAST_INT64 distinction?
I guess so. Certainly I can cross-compile aarch64-softmmu on armhf
defining all the:
softfloat3_fastint64="yes"
softfloat3_fastdiv32to16="yes"
softfloat3_fastdiv64to32="yes"
without any issue. I guess it might mean our 32 bit guests might run
slightly slower but none of our FP is fast anyway.
There is also a slight intermingling in the build setup between the
FASTINT64 and the specialisation even though there are for different
things.
The 8086 code basically makes NaN propagation match old x86 whereas SSE
is the more recent and more IEEE like SSE behaviour. See section 5 of:
http://www.jhauser.us/arithmetic/SoftFloat-3c/doc/SoftFloat-source.html
I suspect what we should have here are specialisation for each of our
guests. We do something similar in the softfloat2a code in it's
specialise header. Maybe we should rename 8086-SSE to default and then
create a specialisation for each guest that needs it?
>
>> -#ifdef __GNUC_STDC_INLINE__
>> -#define INLINE inline
>> -#else
>> -#define INLINE extern inline
>
> Why are you removing this?
I was having compile issues I think because it was defaulting to extern
inline which was breaking given all the inline functions are defined in
the header. Having re-read the docs for __GNUC_STDC_INLINE__ though it
must have been for one of the more esoteric compile targets as that
should be defined for our default C99 compile?
--
Alex Bennée
next prev parent reply other threads:[~2017-07-21 9:32 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-20 15:04 [RFC PATCH for 2.11 00/23] Implementing FP16 for ARMv8.2 using SoftFloat2a and 3c Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 01/23] softfloat: move existing softfloat2a into versioned directory Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-23 14:29 ` [Qemu-arm] " Philippe Mathieu-Daudé
2017-07-23 14:29 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-07-20 15:04 ` [RFC PATCH for 2.11 02/23] fpu: import SoftFloat3c Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-21 9:37 ` Thomas Huth
2017-07-21 9:57 ` Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 03/23] softfloat3c: dos2unix all files Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 18:59 ` Richard Henderson
2017-07-20 18:59 ` [Qemu-devel] " Richard Henderson
2017-07-21 8:22 ` Thomas Huth
2017-07-21 8:56 ` Alex Bennée
2017-07-21 9:22 ` Peter Maydell
2017-07-21 9:44 ` Alex Bennée
2017-07-21 9:27 ` Daniel P. Berrange
2017-07-21 13:31 ` Aurelien Jarno
2017-07-20 15:04 ` [RFC PATCH for 2.11 04/23] softfloat3c: fixup include paths Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 05/23] softfloat3c: initial build machinery Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 19:18 ` Richard Henderson
2017-07-20 19:18 ` [Qemu-devel] " Richard Henderson
2017-07-21 9:32 ` Alex Bennée [this message]
2017-07-21 9:32 ` Alex Bennée
2017-07-21 13:25 ` Aurelien Jarno
2017-07-20 15:04 ` [RFC PATCH for 2.11 06/23] softfloat3c: silence compiler warning Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 07/23] softfloat3c: f16_to_f128M remove unused variable Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 08/23] target-aarch64: enable SoftFloat3 build for FP16 Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 09/23] arm: introduce ARM_V8_FP16 feature bit Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 10/23] target/arm/translate-a64.c: handle_3same_64 comment fix Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 11/23] target/arm/translate-a64.c: AdvSIMD scalar 3 Same FP16 initial decode Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 12/23] target/arm/translate-a64.c: add FP16 FAGCT to AdvSIMD 3 Same Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 19:35 ` Richard Henderson
2017-07-20 19:35 ` [Qemu-devel] " Richard Henderson
2017-07-21 9:56 ` Alex Bennée
2017-07-21 9:56 ` [Qemu-devel] " Alex Bennée
2017-07-21 13:21 ` Aurelien Jarno
2017-07-21 13:50 ` Alex Bennée
2017-07-21 13:58 ` Peter Maydell
2017-07-21 17:43 ` Aurelien Jarno
2017-07-28 13:00 ` Alex Bennée
2017-07-28 13:00 ` [Qemu-devel] " Alex Bennée
2017-07-28 16:07 ` Richard Henderson
2017-07-28 16:07 ` [Qemu-devel] " Richard Henderson
2017-07-20 15:04 ` [RFC PATCH for 2.11 13/23] target/arm/translate-a64.c: add FP16 FADD " Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 19:37 ` Richard Henderson
2017-07-20 19:37 ` [Qemu-devel] " Richard Henderson
2017-07-20 15:04 ` [RFC PATCH for 2.11 14/23] target/arm/translate-a64.c: add ARMv8.2 fadd scalar half-precision Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 19:40 ` Richard Henderson
2017-07-20 19:40 ` [Qemu-devel] " Richard Henderson
2017-07-21 9:58 ` Alex Bennée
2017-07-21 9:58 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 15/23] target/arm/translate-a64.c: AdvSIMD scalar 2 register misc decode Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 19:49 ` Richard Henderson
2017-07-20 19:49 ` [Qemu-devel] " Richard Henderson
2017-07-21 9:35 ` Alex Bennée
2017-07-21 9:35 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 16/23] include/exec/helper-head.h: support f16 in helper calls Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 17/23] fpu/softfloat2a: implement propagateFloat16NaN Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 18/23] fpu/softfloat2a: implement float16_squash_input_denormal Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 19/23] fpu/softfloat2a: implement float16_abs helper Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 20/23] fpu/softfloat2a: add half-precision expansions for MINMAX fns Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 21/23] fpu/softfloat2a: propagate signalling NaNs in MINMAX Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 22/23] fpu/softfloat2a: improve comments on ARM NaN propagation Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:04 ` [RFC PATCH for 2.11 23/23] target/arm: implement half-precision F(MIN|MAX)(V|NMV) Alex Bennée
2017-07-20 15:04 ` [Qemu-devel] " Alex Bennée
2017-07-20 15:17 ` [RFC PATCH for 2.11 00/23] Implementing FP16 for ARMv8.2 using SoftFloat2a and 3c Peter Maydell
2017-07-20 15:17 ` [Qemu-devel] " Peter Maydell
2017-07-20 19:53 ` Aurelien Jarno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y3ri6sou.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=aurelien@aurel32.net \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.