X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fvalues.lisp;h=bea46f93f5b0c5a6e10e338f134fbb4d84d7929d;hb=2372ff8da6e1099e8840b0815d75c414fff2f302;hp=0ea0535c1e05d6338a717463e5388a0fc0c3ff39;hpb=3b5fb548ed34612fb853b11b2bcdd29440834eaa;p=sbcl.git diff --git a/src/compiler/x86-64/values.lisp b/src/compiler/x86-64/values.lisp index 0ea0535..bea46f9 100644 --- a/src/compiler/x86-64/values.lisp +++ b/src/compiler/x86-64/values.lisp @@ -75,21 +75,19 @@ (:results (start :scs (any-reg)) (count :scs (any-reg))) (:temporary (:sc descriptor-reg :from (:argument 0) :to (:result 1)) list) - (:temporary (:sc descriptor-reg :to (:result 1)) nil-temp) - (:temporary (:sc unsigned-reg :offset rax-offset :to (:result 1)) rax) + (:temporary (:sc dword-reg :offset eax-offset :to (:result 1)) eax) (:vop-var vop) (:save-p :compute-only) (:generator 0 (move list arg) (move start rsp-tn) ; WARN pointing 1 below - (inst mov nil-temp nil-value) LOOP - (inst cmp list nil-temp) + (inst cmp list nil-value) (inst jmp :e DONE) (pushw list cons-car-slot list-pointer-lowtag) (loadw list list cons-cdr-slot list-pointer-lowtag) - (inst mov rax list) + (inst mov eax (make-dword-tn list)) (inst and al-tn lowtag-mask) (inst cmp al-tn list-pointer-lowtag) (inst jmp :e LOOP)