From: Juho Snellman Date: Thu, 12 Apr 2007 01:55:22 +0000 (+0000) Subject: 1.0.4.69: fix CL-PPCRE compilation on x86-64 X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=2525d41026619fbbe3517bd1a6e88f20cd8caf7d;p=sbcl.git 1.0.4.69: fix CL-PPCRE compilation on x86-64 * Broken by the character vop changes in 1.0.4.53 * Patch by Lutz Euler --- diff --git a/src/compiler/x86-64/char.lisp b/src/compiler/x86-64/char.lisp index 3b2307e..f7ef502 100644 --- a/src/compiler/x86-64/char.lisp +++ b/src/compiler/x86-64/char.lisp @@ -27,9 +27,14 @@ :load-if (not (location= x y)))) (:note "character untagging") (:generator 1 - (let ((y-dword (make-dword-tn y))) - (move y-dword (make-dword-tn x)) - (inst shr y-dword n-widetag-bits)))) + (cond ((and (sc-is y character-reg) (sc-is x any-reg descriptor-reg)) + (let ((y-dword (make-dword-tn y))) + (unless (location= x y) + (inst mov y-dword (make-dword-tn x))) + (inst shr y-dword n-widetag-bits))) + (t + (move y x) + (inst shr y n-widetag-bits))))) #!-sb-unicode (define-vop (move-to-character) (:args (x :scs (any-reg control-stack))) diff --git a/version.lisp-expr b/version.lisp-expr index 64e78e2..33d2cb4 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".) -"1.0.4.68" +"1.0.4.69"