;;;; files for more information.
(in-package "SB!VM")
-
-(file-comment
- "$Header$")
\f
;;;; allocator for the array header
(:result-types single-float)
(:generator 5
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fst (make-ea :dword :base object :index index :scale 1
:disp (- (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(:result-types single-float)
(:generator 4
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fst (make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(:result-types double-float)
(:generator 20
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fstd (make-ea :dword :base object :index index :scale 2
:disp (- (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(:result-types double-float)
(:generator 19
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fstd (make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
sb!vm:word-bytes)
;; temp = 3 * index
(inst lea temp (make-ea :dword :base index :index index :scale 2))
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(store-long-float
(make-ea :dword :base object :index temp :scale 1
:disp (- (* sb!vm:vector-data-offset sb!vm:word-bytes)
(:result-types long-float)
(:generator 19
(cond ((zerop (tn-offset value))
- ;; Value is in ST0
+ ;; Value is in ST0.
(store-long-float (make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(let ((value-real (complex-single-reg-real-tn value))
(result-real (complex-single-reg-real-tn result)))
(cond ((zerop (tn-offset value-real))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fst (make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(let ((value-real (complex-double-reg-real-tn value))
(result-real (complex-double-reg-real-tn result)))
(cond ((zerop (tn-offset value-real))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fstd (make-ea :dword :base object :index index :scale 4
:disp (- (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(let ((value-real (complex-double-reg-real-tn value))
(result-real (complex-double-reg-real-tn result)))
(cond ((zerop (tn-offset value-real))
- ;; Value is in ST0
+ ;; Value is in ST0.
(inst fstd (make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
sb!vm:word-bytes)
(let ((value-real (complex-long-reg-real-tn value))
(result-real (complex-long-reg-real-tn result)))
(cond ((zerop (tn-offset value-real))
- ;; Value is in ST0
+ ;; Value is in ST0.
(store-long-float
(make-ea :dword :base object :index temp :scale 2
:disp (- (* sb!vm:vector-data-offset sb!vm:word-bytes)
(let ((value-real (complex-long-reg-real-tn value))
(result-real (complex-long-reg-real-tn result)))
(cond ((zerop (tn-offset value-real))
- ;; Value is in ST0
+ ;; Value is in ST0.
(store-long-float
(make-ea :dword :base object
:disp (- (+ (* sb!vm:vector-data-offset
(unless (location= value-imag result-imag)
(inst fstd result-imag))
(inst fxch value-imag))))
-
\f
-;;;; dtc expanded and fixed the following:
-
;;; unsigned-byte-8
(define-vop (data-vector-ref/simple-array-unsigned-byte-8)