From: Christophe Rhodes Date: Sun, 4 Jan 2004 19:29:32 +0000 (+0000) Subject: 0.8.7.7: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=201e598b805d3b8f3a1206bc487cbb25180cef30;p=sbcl.git 0.8.7.7: Fix the %LEA-MOD32 fix, *sigh*: ... define out-of-line versions for it (#+/#-sb-xc-host) --- diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp index dedb74a..565a2e9 100644 --- a/src/compiler/x86/arith.lisp +++ b/src/compiler/x86/arith.lisp @@ -1253,6 +1253,17 @@ (cut-to-width index width) 'sb!vm::%lea-mod32)) +#+sb-xc-host +(defun sb!vm::%lea-mod32 (base index scale disp) + (ldb (byte 32 0) (%lea base index scale disp))) +#-sb-xc-host +(defun sb!vm::%lea-mod32 (base index scale disp) + (let ((base (logand base #xffffffff)) + (index (logand index #xffffffff))) + ;; can't use modular version of %LEA, as we only have VOPs for + ;; constant SCALE and DISP. + (ldb (byte 32 0) (+ base (* index scale) disp)))) + (in-package "SB!VM") (define-vop (%lea-mod32/unsigned=>unsigned diff --git a/version.lisp-expr b/version.lisp-expr index 40ff5e8..e6482d6 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.7.6" +"0.8.7.7"