guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 100/437: fix jit_movbrm in the i386 backend


From: Andy Wingo
Subject: [Guile-commits] 100/437: fix jit_movbrm in the i386 backend
Date: Mon, 2 Jul 2018 05:13:53 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 2ecf6a2c28a8780f0bbf28af6d1bceb73666bb0c
Author: Paolo Bonzini <address@hidden>
Date:   Mon Jul 26 09:14:18 2010 +0200

    fix jit_movbrm in the i386 backend
    
    2010-07-26  Paolo Bonzini  <address@hidden>
    
        * lightning/i386/core-32.h (jit_replace): Move here (removed
        2009-03-01).
---
 ChangeLog                |  5 +++++
 lightning/i386/core-32.h | 10 +++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1b0836c..77975c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-26  Paolo Bonzini  <address@hidden>
+
+       * lightning/i386/core-32.h (jit_replace): Move here (removed
+       2009-03-01).
+
 2010-07-19  Paolo Bonzini  <address@hidden>
 
        * build-aux/lightning.m4: Always set and replace lightning_frag.
diff --git a/lightning/i386/core-32.h b/lightning/i386/core-32.h
index 46b3516..e176370 100644
--- a/lightning/i386/core-32.h
+++ b/lightning/i386/core-32.h
@@ -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 :       
 \



reply via email to

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