Code fixes for test-matrix.master
authorD Herring <dherring@at.tentpost.dot.com>
Wed, 30 Jan 2008 06:56:21 +0000 (30 01:56 -0500)
committerD Herring <dherring@at.tentpost.dot.com>
Wed, 30 Jan 2008 06:56:21 +0000 (30 01:56 -0500)
sse-matrix.lisp
test-matrix.lisp

index c0f5976..1a2de31 100644 (file)
@@ -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)
index c404ccb..a2fcf4f 100644 (file)
@@ -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))))