Message ID | 1464979398-16838-7-git-send-email-aleksandar.markovic@rt-rk.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jun 03, 2016 at 08:43:12PM +0200, Aleksandar Markovic wrote: > From: Aleksandar Markovic <aleksandar.markovic@imgtec.com> > > Function msa_reset() is updated so that flag snan_bit_is_one is > properly set to 0. > > By applying this patch, a number of incorrect MSA behaviors that > require IEEE 754-2008 compliance will be fixed. Those are behaviors > that (up to the moment of applying this patch) did not get the desired > functionality from SoftFloat library with respect to distinguishing > between quiet and signaling NaN, getting default NaN values (both > quiet and signaling), establishing if a floating point number is NaN > or not, etc. > > Two examples: > > * FMAX, FMIN will now correctly detect and propagate NaNs. > * FCLASS.D ans FCLASS.S will now correcty detect NaN flavors. > > Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com> > --- > target-mips/translate_init.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Leon Alrae <leon.alrae@imgtec.com>
diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c index e81a831..a37d8bb 100644 --- a/target-mips/translate_init.c +++ b/target-mips/translate_init.c @@ -893,5 +893,6 @@ static void msa_reset(CPUMIPSState *env) /* clear float_status nan mode */ set_default_nan_mode(0, &env->active_tc.msa_fp_status); - set_snan_bit_is_one(1, &env->active_tc.msa_fp_status); + /* set proper signanling bit meaning ("1" means "quiet") */ + set_snan_bit_is_one(0, &env->active_tc.msa_fp_status); }