[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-rules-x86.ins
From: |
Aleksey Demakov |
Subject: |
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-rules-x86.ins |
Date: |
Thu, 06 Jul 2006 12:04:07 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: libjit
Changes by: Aleksey Demakov <avd> 06/07/06 12:04:07
Modified files:
. : ChangeLog
jit : jit-rules-x86.ins
Log message:
fix division by power of two
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.241&r2=1.242
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-rules-x86.ins?cvsroot=dotgnu-pnet&r1=1.10&r2=1.11
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.241
retrieving revision 1.242
diff -u -b -r1.241 -r1.242
--- ChangeLog 4 Jul 2006 17:28:07 -0000 1.241
+++ ChangeLog 6 Jul 2006 12:04:07 -0000 1.242
@@ -1,3 +1,7 @@
+2006-07-06 Aleksey Demakov <address@hidden>
+
+ * jit/jit-rules-x86.ins: fix division by power of two.
+
2006-07-05 Aleksey Demakov <address@hidden>
* configure.in: make new register allocator the default.
Index: jit/jit-rules-x86.ins
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-rules-x86.ins,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- jit/jit-rules-x86.ins 2 Jul 2006 23:01:24 -0000 1.10
+++ jit/jit-rules-x86.ins 6 Jul 2006 12:04:07 -0000 1.11
@@ -554,8 +554,8 @@
}
[reg, imm, if("(((jit_nuint)$2) & (((jit_nuint)$2) - 1)) == 0")] -> {
/* x & (x - 1) is equal to zero if x is a power of 2 */
- jit_nuint shift, value;
- for(shift = 0, value = $2; value; value >>= 1)
+ jit_nuint shift, value = $2 >> 1;
+ for(shift = 0; value; value >>= 1)
{
++shift;
}
@@ -594,12 +594,12 @@
}
[reg, imm, if("(((jit_nuint)$2) & (((jit_nuint)$2) - 1)) == 0")] -> {
/* x & (x - 1) is equal to zero if x is a power of 2 */
- jit_nuint shift, value;
- for(shift = 0, value = $2; value; value >>= 1)
+ jit_nuint shift, value = $2 >> 1;
+ for(shift = 0; value; value >>= 1)
{
++shift;
}
- x86_shift_reg_imm(inst, X86_SAR, $1, shift);
+ x86_shift_reg_imm(inst, X86_SHR, $1, shift);
}
[reg("eax"), imm, scratch("?", "edx")] -> {
x86_mov_reg_imm(inst, $3, $2);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog jit/jit-rules-x86.ins,
Aleksey Demakov <=