Patchwork [1/4] softfloat: Add float32_is_zero_or_denormal() function

login
register
mail settings
Submitter Peter Maydell
Date Jan. 7, 2011, 9:26 a.m.
Message ID <1294392387-24300-2-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/77861/
State New
Headers show

Comments

Peter Maydell - Jan. 7, 2011, 9:26 a.m.
Add a utility function to softfloat to test whether a float32
is zero or denormal.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 fpu/softfloat.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
Aurelien Jarno - Jan. 10, 2011, 7:13 p.m.
On Fri, Jan 07, 2011 at 09:26:24AM +0000, Peter Maydell wrote:
> Add a utility function to softfloat to test whether a float32
> is zero or denormal.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  fpu/softfloat.h |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>

> diff --git a/fpu/softfloat.h b/fpu/softfloat.h
> index 15052cc..1acf7af 100644
> --- a/fpu/softfloat.h
> +++ b/fpu/softfloat.h
> @@ -336,6 +336,11 @@ INLINE int float32_is_any_nan(float32 a)
>      return ((float32_val(a) & ~(1 << 31)) > 0x7f800000UL);
>  }
>  
> +INLINE int float32_is_zero_or_denormal(float32 a)
> +{
> +    return (float32_val(a) & 0x7f800000) == 0;
> +}
> +
>  #define float32_zero make_float32(0)
>  #define float32_one make_float32(0x3f800000)
>  #define float32_ln2 make_float32(0x3f317218)
> -- 
> 1.6.3.3
> 
> 
>

Patch

diff --git a/fpu/softfloat.h b/fpu/softfloat.h
index 15052cc..1acf7af 100644
--- a/fpu/softfloat.h
+++ b/fpu/softfloat.h
@@ -336,6 +336,11 @@  INLINE int float32_is_any_nan(float32 a)
     return ((float32_val(a) & ~(1 << 31)) > 0x7f800000UL);
 }
 
+INLINE int float32_is_zero_or_denormal(float32 a)
+{
+    return (float32_val(a) & 0x7f800000) == 0;
+}
+
 #define float32_zero make_float32(0)
 #define float32_one make_float32(0x3f800000)
 #define float32_ln2 make_float32(0x3f317218)