On 9 September 2012 02:29, Max Filippov <jcmvb...@gmail.com> wrote: > @@ -262,9 +263,13 @@ float32 float32_maybe_silence_nan( float32 a_ ) > # error Rules for silencing a signaling NaN are target-specific > # endif > #else > +# if defined(TARGET_XTENSA) > + return a_; > +# else > uint32_t a = float32_val(a_); > a |= (1 << 22); > return make_float32(a); > +# endif > #endif > } > return a_;
So this looks rather odd, because just returning a_ is making no attempt to turn a signaling NaN into a quiet one. Looking at the Xtensa ISA it says it doesn't have signaling NaNs. Maybe it would be better to have a define for NO_SIGNALING_NANS which made float*_is_signaling_nan() always return false and float*_is_quiet_nan() always return true? -- PMM