guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 103/437: fix two bugs in load/store for i386


From: Andy Wingo
Subject: [Guile-commits] 103/437: fix two bugs in load/store for i386
Date: Mon, 2 Jul 2018 05:13:54 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 5cef6494865f23d00b0075d9fa66b0f27f2b83a7
Author: Paulo César Pereira de Andrade <address@hidden>
Date:   Tue Aug 10 08:35:35 2010 -0400

    fix two bugs in load/store for i386
    
    * lightning/i386/core-32.h (jit_replace): Use MOVLrr, not MOVLir.
    (jit_movbrm): Check index register as well.
---
 lightning/i386/core-32.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lightning/i386/core-32.h b/lightning/i386/core-32.h
index 3813145..461869b 100644
--- a/lightning/i386/core-32.h
+++ b/lightning/i386/core-32.h
@@ -129,17 +129,17 @@ struct jit_local_state {
 
 #define jit_replace(s, rep, op)                         \
         (jit_pushr_i(rep),                              \
-         MOVLir((s), (rep)),                            \
+         MOVLrr((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(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 != _EAX && db != _EAX && di != _EAX) ? _EAX 
:              \
+                              ((dd != _ECX && db != _ECX && di != _ECX) ? _ECX 
: _EDX)),      \
+                              MOVBrm(((dd != _EAX && db != _EAX && di != _EAX) 
? _AL :        \
+                                     ((dd != _ECX && db != _ECX && di != _ECX) 
? _CL : _DL)), \
                                      dd, db, di, ds)))
 
 #define jit_ldi_c(d, is)                MOVSBLmr((is), 0,    0,    0, (d))



reply via email to

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