guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 63/437: Fix stxr_c(_EAX, _EBX, _ESI).


From: Andy Wingo
Subject: [Guile-commits] 63/437: Fix stxr_c(_EAX, _EBX, _ESI).
Date: Mon, 2 Jul 2018 05:13:47 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit d369edf15d0a5b7b0dc608091b90cd6db15c01ed
Author: Paolo Bonzini <address@hidden>
Date:   Sat Mar 8 18:21:07 2008 +0100

    Fix stxr_c(_EAX, _EBX, _ESI).
    
    2008-03-08  Paolo Bonzini  <address@hidden>
    
        * lightning/i386/core-32.h: Fix stxr_c(_EAX, _EBX, _ESI).
---
 ChangeLog                | 4 ++++
 lightning/i386/core-32.h | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 9b6879c..5cfff68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-03-08  Paolo Bonzini  <address@hidden>
+
+       * lightning/i386/core-32.h: Fix stxr_c(_EAX, _EBX, _ESI).
+
 2008-02-13  Paolo Bonzini  <address@hidden>
 
        * lightning/i386/asm-32.h: Avoid redefinition of _r1, reported by
diff --git a/lightning/i386/core-32.h b/lightning/i386/core-32.h
index 48153e6..09e7f5f 100644
--- a/lightning/i386/core-32.h
+++ b/lightning/i386/core-32.h
@@ -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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]