microblaze: Add support for fcmp.un

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
This commit is contained in:
Edgar E. Iglesias 2010-09-09 22:05:48 +02:00 committed by Edgar E. Iglesias
parent e403e433c1
commit ef9d48da59
1 changed files with 16 additions and 2 deletions

View File

@ -297,8 +297,22 @@ uint32_t helper_fdiv(uint32_t a, uint32_t b)
uint32_t helper_fcmp_un(uint32_t a, uint32_t b)
{
cpu_abort(env, "Unsupported fcmp.un\n");
return 0;
CPU_FloatU fa, fb;
uint32_t r = 0;
fa.l = a;
fb.l = b;
if (float32_is_signaling_nan(fa.f) || float32_is_signaling_nan(fb.f)) {
update_fpu_flags(float_flag_invalid);
r = 1;
}
if (float32_is_nan(fa.f) || float32_is_nan(fb.f)) {
r = 1;
}
return r;
}
uint32_t helper_fcmp_lt(uint32_t a, uint32_t b)