1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-25 22:20:28 +02:00

Fix stxr_c(_EAX, _EBX, _ESI).

2008-03-08  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h: Fix stxr_c(_EAX, _EBX, _ESI).
This commit is contained in:
Paolo Bonzini 2008-03-08 18:21:07 +01:00
parent a369fa1fad
commit d369edf15d
2 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2008-03-08 Paolo Bonzini <bonzini@gnu.org>
* lightning/i386/core-32.h: Fix stxr_c(_EAX, _EBX, _ESI).
2008-02-13 Paolo Bonzini <bonzini@gnu.org>
* lightning/i386/asm-32.h: Avoid redefinition of _r1, reported by

View file

@ -117,7 +117,12 @@ struct jit_local_state {
#define jit_movbrm(rs, dd, db, di, ds) \
(jit_check8(rs) \
? MOVBrm(jit_reg8(rs), dd, db, di, ds) \
: jit_replace(_EBX, rs, _EAX, MOVBrm(_AL, dd, db, di, ds)))
: jit_replace(_EBX, rs, \
((dd != _EAX && db != _EAX) ? _EAX : \
((dd != _ECX && db != _ECX) ? _ECX : _EDX)), \
MOVBrm(((dd != _EAX && db != _EAX) ? _AL : \
((dd != _ECX && db != _ECX) ? _CL : _DL)), \
dd, db, di, ds)))
#define jit_ldi_c(d, is) MOVSBLmr((is), 0, 0, 0, (d))
#define jit_ldxi_c(d, rs, is) MOVSBLmr((is), (rs), 0, 0, (d))