0.7.12.18:
[sbcl.git] / src / compiler / sparc / array.lisp
index 8bbceaa..eac0f62 100644 (file)
@@ -33,7 +33,7 @@
       (inst or ndescr ndescr type)
       ;; Remove the extraneous fixnum tag bits because TYPE and RANK
       ;; were fixnums
-      (inst srl ndescr ndescr fixnum-tag-bits)
+      (inst srl ndescr ndescr n-fixnum-tag-bits)
       (storew ndescr header 0 other-pointer-lowtag))
     (move result header)))
 
@@ -69,7 +69,7 @@
     (loadw temp x 0 other-pointer-lowtag)
     (inst sra temp n-widetag-bits)
     (inst sub temp (1- array-dimensions-offset))
-    (inst sll res temp fixnum-tag-bits)))
+    (inst sll res temp n-fixnum-tag-bits)))
 
 
 \f
         (:temporary (:scs (non-descriptor-reg) :to (:result 0)) temp result)
         (:generator 20
           (inst srl temp index ,bit-shift)
-          (inst sll temp fixnum-tag-bits)
+          (inst sll temp n-fixnum-tag-bits)
           (inst add temp (- (* vector-data-offset n-word-bytes)
                             other-pointer-lowtag))
           (inst ld result object temp)
         (:result-types positive-fixnum)
         (:temporary (:scs (non-descriptor-reg)) temp)
         (:generator 15
-          (multiple-value-bind (word extra) (floor index ,elements-per-word)
+          (multiple-value-bind (word extra) 
+               (floor index ,elements-per-word)
             (setf extra (logxor extra (1- ,elements-per-word)))
             (let ((offset (- (* (+ word vector-data-offset) n-word-bytes)
                              other-pointer-lowtag)))
                      (inst li temp offset)
                      (inst ld result object temp))))
             (unless (zerop extra)
-              (inst srl result
-                    (logxor (* extra ,bits) ,(1- elements-per-word))))
+              (inst srl result (* extra ,bits)))
             (unless (= extra ,(1- elements-per-word))
               (inst and result ,(1- (ash 1 bits)))))))
        (define-vop (,(symbolicate 'data-vector-set/ type))
         (:temporary (:scs (non-descriptor-reg) :from (:argument 1)) shift)
         (:generator 25
           (inst srl offset index ,bit-shift)
-          (inst sll offset fixnum-tag-bits)
+          (inst sll offset n-fixnum-tag-bits)
           (inst add offset (- (* vector-data-offset n-word-bytes)
                               other-pointer-lowtag))
           (inst ld old object offset)