From: aurel32 Date: Tue, 6 May 2008 14:58:23 +0000 (+0000) Subject: PPC: fix efstst* instructions X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~14924 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=894efddb50a4531cbeaf2e2b0a1832133d1ef34d;p=sdk%2Femulator%2Fqemu.git PPC: fix efstst* instructions (Tristan Gingold) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4362 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-ppc/op_helper.h b/target-ppc/op_helper.h index 1d5fc0a..8c8c812 100644 --- a/target-ppc/op_helper.h +++ b/target-ppc/op_helper.h @@ -332,21 +332,21 @@ static always_inline int _do_efststlt (uint32_t op1, uint32_t op2) CPU_FloatU u1, u2; u1.l = op1; u2.l = op2; - return float32_lt(u1.f, u2.f, &env->spe_status) ? 1 : 0; + return float32_lt(u1.f, u2.f, &env->spe_status) ? 4 : 0; } static always_inline int _do_efststgt (uint32_t op1, uint32_t op2) { CPU_FloatU u1, u2; u1.l = op1; u2.l = op2; - return float32_le(u1.f, u2.f, &env->spe_status) ? 0 : 1; + return float32_le(u1.f, u2.f, &env->spe_status) ? 0 : 4; } static always_inline int _do_efststeq (uint32_t op1, uint32_t op2) { CPU_FloatU u1, u2; u1.l = op1; u2.l = op2; - return float32_eq(u1.f, u2.f, &env->spe_status) ? 1 : 0; + return float32_eq(u1.f, u2.f, &env->spe_status) ? 4 : 0; } /* Double precision floating-point helpers */ static always_inline int _do_efdtstlt (uint64_t op1, uint64_t op2) @@ -354,20 +354,20 @@ static always_inline int _do_efdtstlt (uint64_t op1, uint64_t op2) CPU_DoubleU u1, u2; u1.ll = op1; u2.ll = op2; - return float64_lt(u1.d, u2.d, &env->spe_status) ? 1 : 0; + return float64_lt(u1.d, u2.d, &env->spe_status) ? 4 : 0; } static always_inline int _do_efdtstgt (uint64_t op1, uint64_t op2) { CPU_DoubleU u1, u2; u1.ll = op1; u2.ll = op2; - return float64_le(u1.d, u2.d, &env->spe_status) ? 0 : 1; + return float64_le(u1.d, u2.d, &env->spe_status) ? 0 : 4; } static always_inline int _do_efdtsteq (uint64_t op1, uint64_t op2) { CPU_DoubleU u1, u2; u1.ll = op1; u2.ll = op2; - return float64_eq(u1.d, u2.d, &env->spe_status) ? 1 : 0; + return float64_eq(u1.d, u2.d, &env->spe_status) ? 4 : 0; } #endif