(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst mov value (make-ea-for-raw-slot object index tmp))))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst mov (make-ea-for-raw-slot object index tmp) value)
(move result value)))
(:translate %raw-instance-atomic-incf/word)
(:policy :fast-safe)
(:args (object :scs (descriptor-reg))
- (diff :scs (signed-reg) :target result))
+ (diff :scs (unsigned-reg) :target result))
(:arg-types * (:constant (load/store-index #.n-word-bytes
#.instance-pointer-lowtag
#.instance-slots-offset))
- signed-num)
+ unsigned-num)
(:info index)
(:temporary (:sc unsigned-reg) tmp)
(:results (result :scs (unsigned-reg)))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movss value (make-ea-for-raw-slot object index tmp))))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movss (make-ea-for-raw-slot object index tmp) value)
(move result value)))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movsd value (make-ea-for-raw-slot object index tmp))))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movsd (make-ea-for-raw-slot object index tmp) value)
(move result value)))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movq value (make-ea-for-raw-slot object index tmp))))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(move result value)
(inst movq (make-ea-for-raw-slot object index tmp) value)))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(inst movdqu value (make-ea-for-raw-slot object index tmp -8))))
(:generator 5
(loadw tmp object 0 instance-pointer-lowtag)
(inst shr tmp n-widetag-bits)
- (inst shl tmp 3)
+ (inst shl tmp n-fixnum-tag-bits)
(inst sub tmp index)
(move result value)
(inst movdqu (make-ea-for-raw-slot object index tmp -8) value)))