X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fvalues.lisp;h=624483b9a3aeb08c68c4bee0567b2ca66cc2da2b;hb=94603790f67ddfd00bdb890c16e28a15df45a02b;hp=bea46f93f5b0c5a6e10e338f134fbb4d84d7929d;hpb=03e8baab974e52e86df105ee269e83efd65e3d8e;p=sbcl.git diff --git a/src/compiler/x86-64/values.lisp b/src/compiler/x86-64/values.lisp index bea46f9..624483b 100644 --- a/src/compiler/x86-64/values.lisp +++ b/src/compiler/x86-64/values.lisp @@ -76,6 +76,7 @@ (count :scs (any-reg))) (:temporary (:sc descriptor-reg :from (:argument 0) :to (:result 1)) list) (:temporary (:sc dword-reg :offset eax-offset :to (:result 1)) eax) + (:ignore eax) (:vop-var vop) (:save-p :compute-only) (:generator 0 @@ -87,10 +88,7 @@ (inst jmp :e DONE) (pushw list cons-car-slot list-pointer-lowtag) (loadw list list cons-cdr-slot list-pointer-lowtag) - (inst mov eax (make-dword-tn list)) - (inst and al-tn lowtag-mask) - (inst cmp al-tn list-pointer-lowtag) - (inst jmp :e LOOP) + (%test-lowtag list LOOP nil list-pointer-lowtag) (error-call vop 'bogus-arg-to-values-list-error list) DONE