Commit e283500c authored by Nathan Froyd's avatar Nathan Froyd
Browse files

fix erroring ub32 setters on x86-64

We used a dword register to manipulate the value, but then we attempted
to move said register into a qword register, which the assembler rightly
complained about.  Rename the incoming value register, so we can have
its qword and dword names available simultaneously throughout the body
of the VOP.
parent c61308fb
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@
                (:args (vector :scs (descriptor-reg))
                       (index :scs (immediate unsigned-reg))
                       ,@(when setterp
                           `((value :scs (,result-sc) :target result))))
                           `((value* :scs (,result-sc) :target result))))
                (:arg-types simple-array-unsigned-byte-8
                            positive-fixnum
                            ,@(when setterp
@@ -74,7 +74,7 @@
                                       other-pointer-lowtag))
                         (operand-size ,(if (= bitsize 32) :dword :qword))
                         ,@(when setterp
                             '((value (reg-in-size value operand-size))))
                             '((value (reg-in-size value* operand-size))))
                         ,@(when (and setterp big-endian-p)
                             '((temp (reg-in-size temp operand-size))))
                         (memref (sc-case index
@@ -98,7 +98,7 @@
                                     'result)
                                memref))
                    ,@(if setterp
                          '((move result value))
                          '((move result value*))
                          (when big-endian-p
                            `((inst bswap
                                    ,(if (= bitsize 32)