mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-03 13:20:26 +02:00
fix jit_movbrm in the i386 backend
2010-07-26 Paolo Bonzini <bonzini@gnu.org> * lightning/i386/core-32.h (jit_replace): Move here (removed 2009-03-01).
This commit is contained in:
parent
21ece8cdcd
commit
2ecf6a2c28
2 changed files with 12 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-07-26 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* lightning/i386/core-32.h (jit_replace): Move here (removed
|
||||
2009-03-01).
|
||||
|
||||
2010-07-19 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* build-aux/lightning.m4: Always set and replace lightning_frag.
|
||||
|
|
|
@ -127,11 +127,15 @@ struct jit_local_state {
|
|||
#define jit_reg8(rs) ( ((rs) == _SI || (rs) == _DI) ? _AL : (_rN(rs) | _AL ))
|
||||
#define jit_reg16(rs) ( _rN(rs) | _AX )
|
||||
|
||||
/* In jit_replace below, _EBX is dummy */
|
||||
#define jit_movbrm(rs, dd, db, di, ds) \
|
||||
#define jit_replace(s, rep, cmp, op) \
|
||||
(jit_pushr_i(rep), \
|
||||
MOVLir((s), (rep)), \
|
||||
op, jit_popr_i(rep))
|
||||
|
||||
#define jit_movbrm(rs, dd, db, di, ds) \
|
||||
(jit_check8(rs) \
|
||||
? MOVBrm(jit_reg8(rs), dd, db, di, ds) \
|
||||
: jit_replace(_EBX, rs, \
|
||||
: jit_replace(rs, \
|
||||
((dd != _EAX && db != _EAX) ? _EAX : \
|
||||
((dd != _ECX && db != _ECX) ? _ECX : _EDX)), \
|
||||
MOVBrm(((dd != _EAX && db != _EAX) ? _AL : \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue