X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fx86-64%2Farray.lisp;h=8d2a8c18201c52d4a81af6616bd99ea99751da94;hb=776a2f1275624352bbba37b03dabea03ec13a9e5;hp=7b3243369cc927a3f801dbc870b4869a940dc30e;hpb=5c41b6d95580938db33efd4640c2947b9e51e723;p=sbcl.git diff --git a/src/compiler/x86-64/array.lisp b/src/compiler/x86-64/array.lisp index 7b32433..8d2a8c1 100644 --- a/src/compiler/x86-64/array.lisp +++ b/src/compiler/x86-64/array.lisp @@ -706,7 +706,7 @@ (:policy :fast-safe) (:args (object :scs (descriptor-reg) :to (:eval 0)) (index :scs (unsigned-reg) :to (:eval 0)) - (value :scs ,scs :target rax)) + (value :scs ,scs ,@(unless 8-bit-tns-p '(:target rax)))) (:info offset) (:arg-types ,ptype positive-fixnum (:constant (constant-displacement other-pointer-lowtag @@ -730,7 +730,7 @@ (:translate data-vector-set-with-offset) (:policy :fast-safe) (:args (object :scs (descriptor-reg) :to (:eval 0)) - (value :scs ,scs :target rax)) + (value :scs ,scs ,@(unless 8-bit-tns-p '(:target rax)))) (:info index offset) (:arg-types ,ptype (:constant low-index) (:constant (constant-displacement other-pointer-lowtag @@ -945,6 +945,7 @@ unsigned-reg signed-reg) (define-data-vector-frobs simple-array-signed-byte-32 movsxd tagged-num signed-reg) + #!+sb-unicode (define-data-vector-frobs simple-character-string movzxd character character-reg))