From 032b337d82f048206d6b5999c429c0ff38eb38d5 Mon Sep 17 00:00:00 2001 From: D Herring Date: Wed, 30 Jan 2008 01:56:21 -0500 Subject: [PATCH] Code fixes for test-matrix. --- sse-matrix.lisp | 2 +- test-matrix.lisp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sse-matrix.lisp b/sse-matrix.lisp index c0f5976..1a2de31 100644 --- a/sse-matrix.lisp +++ b/sse-matrix.lisp @@ -105,7 +105,7 @@ http://developer.intel.com/design/pentiumiii/sml/24504501.pdf (inst movss x1 (vect-ea mat1 24)) (inst movss (Vect-ea result) x3) - (inst movhpd (vect-ea result 4) x3) + (inst movhps (vect-ea result 4) x3) (inst addps x6 x5) (inst shufps x1 x1 0) diff --git a/test-matrix.lisp b/test-matrix.lisp index c404ccb..a2fcf4f 100644 --- a/test-matrix.lisp +++ b/test-matrix.lisp @@ -26,16 +26,18 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |# (in-package :cl-user) -(declaim (optimize (speed 3) (space 0) (safety 0) (debug 0))) +; On my machine, naive is 30% faster without this; sse is 10% slower. +;(declaim (optimize (speed 3) (space 0) (safety 0) (debug 0))) (defun test-matrix (&optional (test-count 10000000)) (let ((mat1 (make-array 9 :element-type 'single-float :initial-element 0f0)) (mat2 (make-array 9 :element-type 'single-float :initial-element 0f0)) - (naive #()) - (sse #()) + (naive (make-array 9 :element-type 'single-float)) + (sse (make-array 9 :element-type 'single-float)) ) - (declare (type (simple-vector) naive sse) (type fixnum test-count)) + (declare (type (simple-array single-float (9)) naive sse) + (type fixnum test-count)) (loop for i of-type fixnum from 0 below 9 do (setf (aref mat1 i) (float (random 1f6)) (aref mat2 i) (float (random 1f6)))) -- 2.11.4.GIT