[Qemu-devel] [PATCH v5 23/28] fpu/softfloat: Make is_nan et al available to softfloat-specialize.h

Richard Henderson posted 28 patches 7 years, 5 months ago
There is a newer version of this series
[Qemu-devel] [PATCH v5 23/28] fpu/softfloat: Make is_nan et al available to softfloat-specialize.h
Posted by Richard Henderson 7 years, 5 months ago
We will need these helpers within softfloat-specialize.h, so move
the definitions above the include.  After specialization, they will
not always be used so mark them to avoid the Werror.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 fpu/softfloat.c | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index e9e421728b..9934adbae5 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -181,6 +181,22 @@ typedef enum __attribute__ ((__packed__)) {
     float_class_snan,
 } FloatClass;
 
+/* Simple helpers for checking if, or what kind of, NaN we have */
+static inline __attribute__((unused)) bool is_nan(FloatClass c)
+{
+    return unlikely(c >= float_class_qnan);
+}
+
+static inline __attribute__((unused)) bool is_snan(FloatClass c)
+{
+    return c == float_class_snan;
+}
+
+static inline __attribute__((unused)) bool is_qnan(FloatClass c)
+{
+    return c == float_class_qnan;
+}
+
 /*
  * Structure holding all of the decomposed parts of a float. The
  * exponent is unbiased and the fraction is normalized. All
@@ -536,20 +552,6 @@ static float64 float64_round_pack_canonical(FloatParts p, float_status *s)
     return float64_pack_raw(round_canonical(p, s, &float64_params));
 }
 
-/* Simple helpers for checking if what NaN we have */
-static bool is_nan(FloatClass c)
-{
-    return unlikely(c >= float_class_qnan);
-}
-static bool is_snan(FloatClass c)
-{
-    return c == float_class_snan;
-}
-static bool is_qnan(FloatClass c)
-{
-    return c == float_class_qnan;
-}
-
 static FloatParts return_nan(FloatParts a, float_status *s)
 {
     switch (a.cls) {
-- 
2.17.0


Re: [Qemu-devel] [PATCH v5 23/28] fpu/softfloat: Make is_nan et al available to softfloat-specialize.h
Posted by Peter Maydell 7 years, 5 months ago
On 14 May 2018 at 23:12, Richard Henderson <richard.henderson@linaro.org> wrote:
> We will need these helpers within softfloat-specialize.h, so move
> the definitions above the include.  After specialization, they will
> not always be used so mark them to avoid the Werror.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  fpu/softfloat.c | 30 ++++++++++++++++--------------
>  1 file changed, 16 insertions(+), 14 deletions(-)

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM

Re: [Qemu-devel] [PATCH v5 23/28] fpu/softfloat: Make is_nan et al available to softfloat-specialize.h
Posted by Alex Bennée 7 years, 5 months ago
Richard Henderson <richard.henderson@linaro.org> writes:

> We will need these helpers within softfloat-specialize.h, so move
> the definitions above the include.  After specialization, they will
> not always be used so mark them to avoid the Werror.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  fpu/softfloat.c | 30 ++++++++++++++++--------------
>  1 file changed, 16 insertions(+), 14 deletions(-)
>
> diff --git a/fpu/softfloat.c b/fpu/softfloat.c
> index e9e421728b..9934adbae5 100644
> --- a/fpu/softfloat.c
> +++ b/fpu/softfloat.c
> @@ -181,6 +181,22 @@ typedef enum __attribute__ ((__packed__)) {
>      float_class_snan,
>  } FloatClass;
>
> +/* Simple helpers for checking if, or what kind of, NaN we have */
> +static inline __attribute__((unused)) bool is_nan(FloatClass c)
> +{
> +    return unlikely(c >= float_class_qnan);
> +}
> +
> +static inline __attribute__((unused)) bool is_snan(FloatClass c)
> +{
> +    return c == float_class_snan;
> +}
> +
> +static inline __attribute__((unused)) bool is_qnan(FloatClass c)
> +{
> +    return c == float_class_qnan;
> +}
> +
>  /*
>   * Structure holding all of the decomposed parts of a float. The
>   * exponent is unbiased and the fraction is normalized. All
> @@ -536,20 +552,6 @@ static float64 float64_round_pack_canonical(FloatParts p, float_status *s)
>      return float64_pack_raw(round_canonical(p, s, &float64_params));
>  }
>
> -/* Simple helpers for checking if what NaN we have */
> -static bool is_nan(FloatClass c)
> -{
> -    return unlikely(c >= float_class_qnan);
> -}
> -static bool is_snan(FloatClass c)
> -{
> -    return c == float_class_snan;
> -}
> -static bool is_qnan(FloatClass c)
> -{
> -    return c == float_class_qnan;
> -}
> -
>  static FloatParts return_nan(FloatParts a, float_status *s)
>  {
>      switch (a.cls) {


--
Alex Bennée