qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] softfloat: Enable run-time-configurable mea


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 1/2] softfloat: Enable run-time-configurable meaning of signaling NaN bit
Date: Mon, 28 Mar 2016 14:36:17 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 03/25/2016 05:50 AM, Aleksandar Markovic wrote:
+float16 float16_default_nan(float_status *status) {

{ on the next line.

+        return const_float64(LIT64( 0xFFF8000000000000 ));

Let's please fix the horrible formatting in this file as we touch the lines, please.

-#define floatx80_default_nan_high 0x7FFF
-#define floatx80_default_nan_low  LIT64(0xBFFFFFFFFFFFFFFF)
-#else
-#define floatx80_default_nan_high 0xFFFF
-#define floatx80_default_nan_low  LIT64( 0xC000000000000000 )
-#endif
+uint16_t floatx80_default_nan_high(float_status *status) {
+uint64_t floatx80_default_nan_low(float_status *status) {

Why do you need two separate functions for this?

+floatx80 floatx80_default_nan(float_status *status) {

Seems to me this one is good enough, and indeed preferable.

-#define float128_default_nan_high LIT64(0x7FFF7FFFFFFFFFFF)
-#define float128_default_nan_low  LIT64(0xFFFFFFFFFFFFFFFF)
...
+float128 float128_default_nan(float_status *status) {

Likewise.


diff --git a/target-alpha/cpu.c b/target-alpha/cpu.c
index 2eab060..1714387 100644
--- a/target-alpha/cpu.c
+++ b/target-alpha/cpu.c
@@ -277,6 +277,8 @@ static void alpha_cpu_initfn(Object *obj)
  #endif
      env->lock_addr = -1;
      env->fen = 1;
+
+    set_snan_bit_is_one(0, &env->fp_status);

We've just done a memset of (most of) the entire cpu struct. We don't need to re-initialize this field to zero here. Same with most of the other cpus.


r~



reply via email to

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