[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ChangeLog engine/cvmc_branch.c
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ChangeLog engine/cvmc_branch.c |
Date: |
Sun, 20 Jul 2008 12:15:03 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Changes by: Klaus Treichel <ktreichel> 08/07/20 12:15:03
Modified files:
. : ChangeLog
engine : cvmc_branch.c
Log message:
Fix handling of unordered float compares in cvm coder (Fix result for
NaN values).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3544&r2=1.3545
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/cvmc_branch.c?cvsroot=dotgnu-pnet&r1=1.14&r2=1.15
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3544
retrieving revision 1.3545
diff -u -b -r1.3544 -r1.3545
--- ChangeLog 20 Jul 2008 10:17:14 -0000 1.3544
+++ ChangeLog 20 Jul 2008 12:15:01 -0000 1.3545
@@ -5,6 +5,8 @@
(JITCoder_Compare): Handle the unsigned/unordered check opcodes
correctly
for float values (Fixes result for NaN values).
+ * engine/cvmc_branch.c (CVMCoder_Branch, CVMCoder_Compare): likewise.
+
2008-07-14 Klaus Treichel <address@hidden>
* engine/verify_branch.c (IL_PREFIX_OP_CEQ): Look for a following
Index: engine/cvmc_branch.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvmc_branch.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- engine/cvmc_branch.c 7 Oct 2007 19:20:11 -0000 1.14
+++ engine/cvmc_branch.c 20 Jul 2008 12:15:02 -0000 1.15
@@ -363,10 +363,10 @@
case IL_OP_BGT_UN:
case IL_OP_BGT_UN_S:
{
- /* Unsigned greater than testing branch */
+ /* Unsigned/unordered greater than testing branch */
AdjustMixedBinary(coder, 1, &type1, &type2);
OutputCondBranch(coder, COP_BGT_UN, COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPL,
COP_BGT, type1, dest);
+ COP_PREFIX_FCMPG,
COP_BGT, type1, dest);
}
break;
@@ -383,10 +383,10 @@
case IL_OP_BGE_UN:
case IL_OP_BGE_UN_S:
{
- /* Unsigned greater than or equal testing branch */
+ /* Unsigned/unordered greater than or equal testing
branch */
AdjustMixedBinary(coder, 1, &type1, &type2);
OutputCondBranch(coder, COP_BGE_UN, COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPL,
COP_BGE, type1, dest);
+ COP_PREFIX_FCMPG,
COP_BGE, type1, dest);
}
break;
@@ -403,10 +403,10 @@
case IL_OP_BLT_UN:
case IL_OP_BLT_UN_S:
{
- /* Unsigned less than testing branch */
+ /* Unsigned/unordered less than testing branch */
AdjustMixedBinary(coder, 1, &type1, &type2);
OutputCondBranch(coder, COP_BLT_UN, COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPG,
COP_BLT, type1, dest);
+ COP_PREFIX_FCMPL,
COP_BLT, type1, dest);
}
break;
@@ -423,10 +423,10 @@
case IL_OP_BLE_UN:
case IL_OP_BLE_UN_S:
{
- /* Unsigned less than or equal testing branch */
+ /* Unsigned/unordered less than or equal testing branch
*/
AdjustMixedBinary(coder, 1, &type1, &type2);
OutputCondBranch(coder, COP_BLE_UN, COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPG,
COP_BLE, type1, dest);
+ COP_PREFIX_FCMPL,
COP_BLE, type1, dest);
}
break;
}
@@ -585,10 +585,10 @@
case IL_OP_PREFIX + IL_PREFIX_OP_CGT_UN:
{
- /* Test two unsigned values for greater than */
+ /* Test two unsigned/unordered values for greater than
*/
AdjustMixedBinary(coder, 0, &type1, &type2);
OutputCondCompare(coder, COP_PREFIX_ICMP_UN,
COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPL,
COP_PREFIX_FCMPG,
+ COP_PREFIX_FCMPG,
COP_PREFIX_FCMPG,
COP_PREFIX_SETGT,
COP_PREFIX_SETLE,
type1, invertTest);
}
@@ -607,10 +607,10 @@
case IL_OP_PREFIX + IL_PREFIX_OP_CLT_UN:
{
- /* Test two unsigned values for less than */
+ /* Test two unsigned/unordered values for less than */
AdjustMixedBinary(coder, 0, &type1, &type2);
OutputCondCompare(coder, COP_PREFIX_ICMP_UN,
COP_PREFIX_LCMP_UN,
- COP_PREFIX_FCMPG,
COP_PREFIX_FCMPL,
+ COP_PREFIX_FCMPL,
COP_PREFIX_FCMPL,
COP_PREFIX_SETLT,
COP_PREFIX_SETGE,
type1, invertTest);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ChangeLog engine/cvmc_branch.c,
Klaus Treichel <=