From: Tom Musta Date: Fri, 31 Oct 2014 16:39:54 +0000 (-0500) Subject: target-ppc: Fix vcmpbfp. Unordered Case X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4007b8de6e1012675672d6e6e4fc08633b3a0023;p=qemu.git target-ppc: Fix vcmpbfp. Unordered Case Fix the implementation of Vector Compare Bounds Single Precision. Specifically, fix the case where the operands are unordered -- since the result is non-zero, the CR[6] field should be set to zero. Signed-off-by: Tom Musta Signed-off-by: Alexander Graf --- diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index 12c9ab08be..4c2b71c708 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -708,7 +708,7 @@ static inline void vcmpbfp_internal(CPUPPCState *env, ppc_avr_t *r, int le_rel = float32_compare_quiet(a->f[i], b->f[i], &env->vec_status); if (le_rel == float_relation_unordered) { r->u32[i] = 0xc0000000; - /* ALL_IN does not need to be updated here. */ + all_in = 1; } else { float32 bneg = float32_chs(b->f[i]); int ge_rel = float32_compare_quiet(a->f[i], bneg, &env->vec_status);