(def-data-vector-frobs simple-array-unsigned-byte-32 word-index
unsigned-num unsigned-reg)
- (def-data-vector-frobs simple-array-unsigned-byte-29 word-index
+ (def-data-vector-frobs simple-array-unsigned-fixnum word-index
positive-fixnum any-reg)
- (def-data-vector-frobs simple-array-signed-byte-30 word-index
+ (def-data-vector-frobs simple-array-fixnum word-index
tagged-num any-reg)
(def-data-vector-frobs simple-array-signed-byte-32 word-index
signed-num signed-reg))
\f
;;; These vops are useful for accessing the bits of a vector irrespective of
;;; what type of vector it is.
-(define-vop (raw-bits word-index-ref)
- (:note "raw-bits VOP")
- (:translate %raw-bits)
- (:results (value :scs (unsigned-reg)))
- (:result-types unsigned-num)
- (:variant 0 other-pointer-lowtag))
-
-(define-vop (set-raw-bits word-index-set)
- (:note "setf raw-bits VOP")
- (:translate %set-raw-bits)
- (:args (object :scs (descriptor-reg))
- (index :scs (any-reg zero immediate))
- (value :scs (unsigned-reg)))
- (:arg-types * tagged-num unsigned-num)
- (:results (result :scs (unsigned-reg)))
- (:result-types unsigned-num)
- (:variant 0 other-pointer-lowtag))
-
(define-vop (vector-raw-bits word-index-ref)
(:note "vector-raw-bits VOP")
(:translate %vector-raw-bits)