X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fmove.lisp;h=cc0a777b938efd88032dd1c1accee69a61130767;hb=de3bfc084239fa962ef001eaa68e5b6f4b9bbf81;hp=7872710c01304c7b84894f239e789c25c9a79816;hpb=18775b5e3c9a75f5301e09ddef649f2f35ab9752;p=sbcl.git diff --git a/src/compiler/x86-64/move.lisp b/src/compiler/x86-64/move.lisp index 7872710..cc0a777 100644 --- a/src/compiler/x86-64/move.lisp +++ b/src/compiler/x86-64/move.lisp @@ -129,7 +129,7 @@ (sc-is target signed-reg unsigned-reg descriptor-reg any-reg)) (inst mov target val)) ;; Likewise if the value is small enough. - ((typep val '(signed-byte 31)) + ((typep val '(signed-byte 32)) (inst mov target val)) ;; Otherwise go through the temporary register (tmp-tn @@ -159,10 +159,8 @@ (etypecase val ((integer 0 0) (zeroize y)) - ((or (signed-byte 29) (unsigned-byte 29)) - (inst mov y (fixnumize val))) (integer - (move-immediate y (fixnumize val))) + (inst mov y (fixnumize val))) (symbol (load-symbol y val)) (character