mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-28 16:00:22 +02:00
fix jit_replace8 for case when one of the operands is _EAX.
2008-06-10 Laurent Michel <ldm@engr.uconn.edu> * lightning/i386/core-i386.h: Fix jit_replace8 for case when one of the operands is _EAX.
This commit is contained in:
parent
5ab8cddd61
commit
1e9000649c
2 changed files with 13 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-06-10 Laurent Michel <ldm@engr.uconn.edu>
|
||||
|
||||
* lightning/i386/core-i386.h: Fix jit_replace8 for
|
||||
case when one of the operands is _EAX.
|
||||
|
||||
2008-05-19 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* tests/run-test: Avoid CRLF issues on mingw.
|
||||
|
|
|
@ -69,10 +69,14 @@
|
|||
(rs == forced) ? op : (jit_pushr_i(forced), MOVLrr(rs, forced), op, jit_popr_i(forced)))
|
||||
|
||||
/* For LT, LE, ... */
|
||||
#define jit_replace8(d, cmp, op) \
|
||||
(jit_check8(d) \
|
||||
? (XORLrr(d, d), (cmp), op(_rN(d) | _AL)) \
|
||||
: (jit_pushr_i(_EAX), XORLrr(_EAX, _EAX), (cmp), op(_AL), MOVLrr(_EAX, (d)), jit_popr_i(_EAX)))
|
||||
#define jit_replace8(d, cmp, op) \
|
||||
(jit_check8(d) \
|
||||
? ((cmp), \
|
||||
MOVLir(0, (d)), \
|
||||
op(_rN(d) | _AL)) \
|
||||
: (jit_pushr_i(_EAX), (cmp), \
|
||||
MOVLir(0, _EAX), \
|
||||
op(_AL), MOVLrr(_EAX, (d)), jit_popr_i(_EAX)))
|
||||
|
||||
#define jit_bool_r(d, s1, s2, op) \
|
||||
(jit_replace8(d, CMPLrr(s2, s1), op))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue