From: Aurelien Jarno Date: Wed, 13 Apr 2011 22:49:30 +0000 (+0200) Subject: target-mips: fix c.ps.* instructions X-Git-Tag: v0.15.0-rc0~431 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=30a00bc142796f6d436b0b79f01757afb1e4c1e7;p=qemu.git target-mips: fix c.ps.* instructions Contrary to cabs.ps.* instructions, c.ps.* should not compare the absolute value of the operand, but directly the operands. Signed-off-by: Aurelien Jarno --- diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index 0a623614f..b35a6d293 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -2962,10 +2962,10 @@ FOP_COND_S(ngt, float32_unordered(fst1, fst0, &env->active_fpu.fp_status) || fl #define FOP_COND_PS(op, condl, condh) \ void helper_cmp_ps_ ## op (uint64_t fdt0, uint64_t fdt1, int cc) \ { \ - uint32_t fst0 = float32_abs(fdt0 & 0XFFFFFFFF); \ - uint32_t fsth0 = float32_abs(fdt0 >> 32); \ - uint32_t fst1 = float32_abs(fdt1 & 0XFFFFFFFF); \ - uint32_t fsth1 = float32_abs(fdt1 >> 32); \ + uint32_t fst0 = fdt0 & 0XFFFFFFFF; \ + uint32_t fsth0 = fdt0 >> 32; \ + uint32_t fst1 = fdt1 & 0XFFFFFFFF; \ + uint32_t fsth1 = fdt1 >> 32; \ int cl = condl; \ int ch = condh; \ \