From: D Herring Date: Sat, 26 Jan 2008 02:44:07 +0000 (-0500) Subject: Aesthetic tweaks X-Git-Url: https://repo.or.cz/w/sbcl/simd.git/commitdiff_plain/88580d6c9a8b37964edc9deb02018a8815856d29 Aesthetic tweaks --- diff --git a/src/compiler/x86/float.lisp b/src/compiler/x86/float.lisp index 202bdc1e9..d5ac329ca 100644 --- a/src/compiler/x86/float.lisp +++ b/src/compiler/x86/float.lisp @@ -4307,14 +4307,14 @@ (defun ea-for-xmm-desc (tn) - (make-ea :xmmword :base tn - :disp (- (* xmm-value-slot n-word-bytes) other-pointer-lowtag))) + (make-ea :xmmword :base tn + :disp (- (* xmm-value-slot n-word-bytes) other-pointer-lowtag))) (defun ea-for-xmm-stack (tn) - (make-ea :xmmword :base ebp-tn - :disp (- (* (+ (tn-offset tn) - 4) - n-word-bytes)))) + (make-ea :xmmword :base ebp-tn + :disp (- (* (+ (tn-offset tn) + 4) + n-word-bytes)))) (define-move-fun (load-xmm 2) (vop x y) ((xmm-stack) (xmm-reg)) @@ -4336,36 +4336,36 @@ (define-vop (%load-xmm-from-array/single-float) (:policy :fast-safe) (:args (src :scs (descriptor-reg)) - (index :scs (unsigned-reg))) + (index :scs (unsigned-reg))) (:ARG-TYPES SIMPLE-ARRAY-SINGLE-FLOAT fixnum) (:results (dest :scs (xmm-reg))) (:result-types xmm) (:generator 1 - (inst shl index 2) - (inst movdqu dest (make-ea :xmmword :base src :index index - :disp (- (* VECTOR-DATA-OFFSET N-WORD-BYTES) OTHER-POINTER-LOWTAG))))) + (inst shl index 2) + (inst movdqu dest (make-ea :xmmword :base src :index index + :disp (- (* VECTOR-DATA-OFFSET N-WORD-BYTES) OTHER-POINTER-LOWTAG))))) + - (define-vop (%store-xmm-to-array/single-float) (:policy :fast-safe) (:args (dest :scs (descriptor-reg)) - (index :scs (unsigned-reg)) - (src :scs (xmm-reg))) + (index :scs (unsigned-reg)) + (src :scs (xmm-reg))) (:ARG-TYPES SIMPLE-ARRAY-SINGLE-FLOAT fixnum XMM) (:generator 1 - (inst shl index 2) - (inst movdqu (make-ea :xmmword :base dest :index index - :disp (- (* VECTOR-DATA-OFFSET N-WORD-BYTES) OTHER-POINTER-LOWTAG)) - src))) + (inst shl index 2) + (inst movdqu (make-ea :xmmword :base dest :index index + :disp (- (* VECTOR-DATA-OFFSET N-WORD-BYTES) OTHER-POINTER-LOWTAG)) + src))) + - (define-vop (xmm-move) (:args (x :scs (xmm-reg) :target y :load-if (not (location= x y)))) (:results (y :scs (xmm-reg) :load-if (not (location= x y)))) (:note "xmm move") (:generator 0 - (unless (location= x y) - (inst movdqa y x)))) + (unless (location= x y) + (inst movdqa y x)))) (define-move-vop xmm-move :move (xmm-reg) (xmm-reg)) @@ -4387,33 +4387,33 @@ (:results (y :scs (xmm-reg))) (:note "pointer to xmm coercion") (:generator 2 - (inst movdqu y (ea-for-xmm-desc x)))) + (inst movdqu y (ea-for-xmm-desc x)))) (define-move-vop move-to-xmm :move (descriptor-reg) (xmm-reg)) (define-vop (move-xmm-arg) (:args (x :scs (xmm-reg) :target y) - (fp :scs (any-reg) - :load-if (not (sc-is y xmm-reg)))) + (fp :scs (any-reg) + :load-if (not (sc-is y xmm-reg)))) (:results (y)) (:note "xmm argument move") (:generator 6 - (sc-case y - (xmm-reg - (unless (location= x y) - (inst movdqa y x))) - - (xmm-stack - (if (= (tn-offset fp) esp-offset) - (let* ((offset (* (tn-offset y) n-word-bytes)) - (ea (make-ea :xmmword :base fp :disp offset))) - (inst movdqu ea x)) - - (let ((ea (make-ea :xmmword :base fp - :disp (- (* (+ (tn-offset y) 4) - n-word-bytes))))) - (inst movdqu ea x))))))) + (sc-case y + (xmm-reg + (unless (location= x y) + (inst movdqa y x))) + + (xmm-stack + (if (= (tn-offset fp) esp-offset) + (let* ((offset (* (tn-offset y) n-word-bytes)) + (ea (make-ea :xmmword :base fp :disp offset))) + (inst movdqu ea x)) + + (let ((ea (make-ea :xmmword :base fp + :disp (- (* (+ (tn-offset y) 4) + n-word-bytes))))) + (inst movdqu ea x))))))) (define-move-vop move-xmm-arg :move-arg (xmm-reg descriptor-reg) (xmm-reg)) diff --git a/src/compiler/x86/insts.lisp b/src/compiler/x86/insts.lisp index 287e1f087..c879f24d8 100644 --- a/src/compiler/x86/insts.lisp +++ b/src/compiler/x86/insts.lisp @@ -2129,7 +2129,7 @@ ;;;; SSE instructions -;;;; +;;;; ;;;; Automatically generated diff --git a/src/compiler/x86/vm.lisp b/src/compiler/x86/vm.lisp index 61a762c6a..6896d1f9a 100644 --- a/src/compiler/x86/vm.lisp +++ b/src/compiler/x86/vm.lisp @@ -102,7 +102,7 @@ (defreg xmm6 6 :xmmword) (defreg xmm7 7 :xmmword) (defregset *xmm-regs* xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7) - + ;; registers used to pass arguments ;; ;; the number of arguments/return values passed in registers @@ -310,9 +310,9 @@ ;; non-descriptor XMMs (xmm-reg xmm-registers - :locations #.*xmm-regs* - :save-p t - :alternate-scs (xmm-stack)) + :locations #.*xmm-regs* + :save-p t + :alternate-scs (xmm-stack)) ;; non-descriptor LONG-FLOATs #!+long-float diff --git a/version.lisp-expr b/version.lisp-expr index cbeccb213..11294570b 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.14" +"1.0.14-simd"