X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Ftype-vops.lisp;h=fd4b9d0a83489a75e1bec65076937d682efd894f;hb=d306e2d23b38487488eb93881dad836e439e0c77;hp=aca94f3cc42ecaa8468ad625404522ed2cecc378;hpb=953e2961a4e0f130d67da600d1c965d6794a8984;p=sbcl.git diff --git a/src/compiler/x86/type-vops.lisp b/src/compiler/x86/type-vops.lisp index aca94f3..fd4b9d0 100644 --- a/src/compiler/x86/type-vops.lisp +++ b/src/compiler/x86/type-vops.lisp @@ -14,7 +14,7 @@ ;;;; test generation utilities (defun generate-fixnum-test (value) - (emit-optimized-test-inst value 3)) + (emit-optimized-test-inst value fixnum-tag-mask)) (defun %test-fixnum (value target not-p) (generate-fixnum-test value) @@ -293,8 +293,8 @@ (values not-target target) (values target not-target)) ;; Is it a fixnum? - (generate-fixnum-test value) (move eax-tn value) + (inst test al-tn fixnum-tag-mask) (inst jmp :e fixnum) ;; If not, is it an other pointer?