qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4362] PPC: fix efstst* instructions


From: Aurelien Jarno
Subject: [Qemu-devel] [4362] PPC: fix efstst* instructions
Date: Tue, 06 May 2008 14:58:23 +0000

Revision: 4362
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4362
Author:   aurel32
Date:     2008-05-06 14:58:23 +0000 (Tue, 06 May 2008)

Log Message:
-----------
PPC: fix efstst* instructions

(Tristan Gingold)

Modified Paths:
--------------
    trunk/target-ppc/op_helper.h

Modified: trunk/target-ppc/op_helper.h
===================================================================
--- trunk/target-ppc/op_helper.h        2008-05-06 14:58:15 UTC (rev 4361)
+++ trunk/target-ppc/op_helper.h        2008-05-06 14:58:23 UTC (rev 4362)
@@ -332,21 +332,21 @@
     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 @@
     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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]