X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Farray.lisp;h=801172ba131039b9f8f5b6a785a696ee5a301046;hb=031646c3b8236eb441434664e10fb88f8e7ec7be;hp=bcbe0eae158bbc0246e05abb93d77c2bfb895579;hpb=9a641acd464b948a8ef57d37907a6995333f570a;p=sbcl.git diff --git a/src/compiler/mips/array.lisp b/src/compiler/mips/array.lisp index bcbe0ea..801172b 100644 --- a/src/compiler/mips/array.lisp +++ b/src/compiler/mips/array.lisp @@ -138,13 +138,13 @@ (def-full-data-vector-frobs simple-array-signed-byte-32 signed-num signed-reg)) -;;; Integer vectors whos elements are smaller than a byte. I.e. bit, 2-bit, +;;; Integer vectors whose elements are smaller than a byte. I.e. bit, 2-bit, ;;; and 4-bit vectors. (macrolet ((def-small-data-vector-frobs (type bits) (let* ((elements-per-word (floor n-word-bits bits)) (bit-shift (1- (integer-length elements-per-word)))) `(progn - (define-vop (,(symbolicate 'data-vector-ref/ type)) + (define-vop (,(symbolicate 'DATA-VECTOR-REF/ type)) (:note "inline array access") (:translate data-vector-ref) (:policy :fast-safe) @@ -170,7 +170,7 @@ (inst srl result temp) (inst and result ,(1- (ash 1 bits))) (inst sll value result n-fixnum-tag-bits))) - (define-vop (,(symbolicate 'data-vector-ref-c/ type)) + (define-vop (,(symbolicate 'DATA-VECTOR-REF-C/ type)) (:translate data-vector-ref) (:policy :fast-safe) (:args (object :scs (descriptor-reg))) @@ -195,7 +195,7 @@ (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)) + (define-vop (,(symbolicate 'DATA-VECTOR-SET/ type)) (:note "inline array store") (:translate data-vector-set) (:policy :fast-safe) @@ -244,7 +244,7 @@ (move result zero-tn)) (unsigned-reg (move result value))))) - (define-vop (,(symbolicate 'data-vector-set-c/ type)) + (define-vop (,(symbolicate 'DATA-VECTOR-SET-C/ type)) (:translate data-vector-set) (:policy :fast-safe) (:args (object :scs (descriptor-reg)) @@ -510,37 +510,6 @@ (inst fmove :double result-imag value-imag))))) -;;; These VOPs are used for implementing float slots in structures (whose raw -;;; data is an unsigned-32 vector. -(define-vop (raw-ref-single data-vector-ref/simple-array-single-float) - (:translate %raw-ref-single) - (:arg-types sb!c::raw-vector positive-fixnum)) -(define-vop (raw-set-single data-vector-set/simple-array-single-float) - (:translate %raw-set-single) - (:arg-types sb!c::raw-vector positive-fixnum single-float)) -(define-vop (raw-ref-double data-vector-ref/simple-array-double-float) - (:translate %raw-ref-double) - (:arg-types sb!c::raw-vector positive-fixnum)) -(define-vop (raw-set-double data-vector-set/simple-array-double-float) - (:translate %raw-set-double) - (:arg-types sb!c::raw-vector positive-fixnum double-float)) -(define-vop (raw-ref-complex-single - data-vector-ref/simple-array-complex-single-float) - (:translate %raw-ref-complex-single) - (:arg-types sb!c::raw-vector positive-fixnum)) -(define-vop (raw-set-complex-single - data-vector-set/simple-array-complex-single-float) - (:translate %raw-set-complex-single) - (:arg-types sb!c::raw-vector positive-fixnum complex-single-float)) -(define-vop (raw-ref-complex-double - data-vector-ref/simple-array-complex-double-float) - (:translate %raw-ref-complex-double) - (:arg-types sb!c::raw-vector positive-fixnum)) -(define-vop (raw-set-complex-double - data-vector-set/simple-array-complex-double-float) - (:translate %raw-set-complex-double) - (:arg-types sb!c::raw-vector positive-fixnum complex-double-float)) - ;;; These vops are useful for accessing the bits of a vector irrespective of ;;; what type of vector it is. (define-full-reffer raw-bits * 0 other-pointer-lowtag (unsigned-reg) unsigned-num