(define-full-reffer ,(symbolicate "DATA-VECTOR-REF/" type)
,type
vector-data-offset other-pointer-lowtag
(define-full-reffer ,(symbolicate "DATA-VECTOR-REF/" type)
,type
vector-data-offset other-pointer-lowtag
(floor index ,elements-per-word)
(inst ldl object
(- (* (+ word vector-data-offset)
(floor index ,elements-per-word)
(inst ldl object
(- (* (+ word vector-data-offset)
other-pointer-lowtag) lip)
(unless (location= result value)
(inst fmove value result))))
other-pointer-lowtag) lip)
(unless (location= result value)
(inst fmove value result))))
lip)
(unless (location= result-real value-real)
(inst fmove value-real result-real)))
(let ((value-imag (complex-single-reg-imag-tn value))
(result-imag (complex-single-reg-imag-tn result)))
(inst sts value-imag
lip)
(unless (location= result-real value-real)
(inst fmove value-real result-real)))
(let ((value-imag (complex-single-reg-imag-tn value))
(result-imag (complex-single-reg-imag-tn result)))
(inst sts value-imag
lip)
(unless (location= result-real value-real)
(inst fmove value-real result-real)))
(let ((value-imag (complex-double-reg-imag-tn value))
(result-imag (complex-double-reg-imag-tn result)))
(inst stt value-imag
lip)
(unless (location= result-real value-real)
(inst fmove value-real result-real)))
(let ((value-imag (complex-double-reg-imag-tn value))
(result-imag (complex-double-reg-imag-tn result)))
(inst stt value-imag