[sb-simd-cvs] CVS update: sb-simd/test-seq.lisp sb-simd/sse-seq.lisp sb-simd/VOP.txt sb-simd/load.lisp sb-simd/generate-sse-instructions.lisp sb-simd/detect-simd.lisp sb-simd/TODO

Risto Laakso rlaakso at common-lisp.net
Fri Aug 12 11:55:43 UTC 2005


Update of /project/sb-simd/cvsroot/sb-simd
In directory common-lisp.net:/tmp/cvs-serv26463

Modified Files:
	load.lisp generate-sse-instructions.lisp detect-simd.lisp TODO 
Added Files:
	test-seq.lisp sse-seq.lisp VOP.txt 
Log Message:

Date: Fri Aug 12 13:55:40 2005
Author: rlaakso







Index: sb-simd/load.lisp
diff -u sb-simd/load.lisp:1.3 sb-simd/load.lisp:1.4
--- sb-simd/load.lisp:1.3	Tue Aug  9 19:18:15 2005
+++ sb-simd/load.lisp	Fri Aug 12 13:55:39 2005
@@ -14,6 +14,8 @@
 (if t
     (progn
       (load (compile-file "detect-simd.lisp"))
-      (load (compile-file "push-simd-features.lisp"))
+      (load (compile-file "timing.lisp"))
+      (load (compile-file "sse-seq.lisp"))
+      (load (compile-file "test-seq.lisp"))
       ))
       


Index: sb-simd/generate-sse-instructions.lisp
diff -u sb-simd/generate-sse-instructions.lisp:1.5 sb-simd/generate-sse-instructions.lisp:1.6
--- sb-simd/generate-sse-instructions.lisp:1.5	Mon Aug  8 18:23:22 2005
+++ sb-simd/generate-sse-instructions.lisp	Fri Aug 12 13:55:39 2005
@@ -42,18 +42,6 @@
 
 MOVQ2DQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
 
-(ib-forms:)
-PSLLD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
-PSLLDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
-PSLLQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
-PSLLW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
-PSRAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
-PSRAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
-PSRLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
-PSRLDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
-PSRLQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
-PSRLW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
-
 STMXCSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
 
 
@@ -339,7 +327,31 @@
 			  ,@(emit-ops ops-m2r)
 			  (emit-ea segment src (reg-tn-encoding dst)))
 			 (t ,@(emit-ops ops-r2m)
-			    (emit-ea segment dst (reg-tn-encoding src)))))))))
+			    (emit-ea segment dst (reg-tn-encoding src))))))))
+
+  ;; misc
+  (loop for (name mode . opcodes) in
+	'(
+	  (pslld-ib 6 #x66 #x0F #x72)
+	  (pslldq-ib 7 #x66 #x0F #x73)
+	  (psllq-ib 6 #x66 #x0F #x73)
+	  (psllw-ib 6 #x66 #x0F #x71)
+	  (psrad-ib 4 #x66 #x0F #x72)
+	  (psraw-ib 4 #x66 #x0F #x71)
+	  (psrld-ib 2 #x66 #x0F #x72)
+	  (psrldq-ib 3 #x66 #x0F #x73)	  
+	  (psrlq-ib 2 #x66 #x0F #x73)
+	  (psrlw-ib 2 #x66 #x0F #x71)
+	  )
+	do
+	(format stream "~S~%~%"
+		`(define-instruction ,(intern (symbol-name name)) (segment dst amount)
+		  (:emitter
+		   ,@(emit-ops opcodes)
+		   (emit-ea segment dst ,mode)
+		   (emit-byte segment amount)))))
+
+  )
 
 (defun gen-ops-to-file (filename)
   (with-open-file (stream filename :direction :output :if-exists :supersede)


Index: sb-simd/detect-simd.lisp
diff -u sb-simd/detect-simd.lisp:1.1 sb-simd/detect-simd.lisp:1.2
--- sb-simd/detect-simd.lisp:1.1	Tue Aug  9 19:18:15 2005
+++ sb-simd/detect-simd.lisp	Fri Aug 12 13:55:39 2005
@@ -57,11 +57,3 @@
 
 	      (inst mov res edx)))
 
-  
-(eval-when (:load-toplevel)
-  (let ((res (sb-sys:%primitive sb-vm::%detect-simd/x86)))
-;;    (format t "res is ~A~%" res)
-    (if (/= (logand res #b001) 0) (pushnew :sse sb-vm::*backend-subfeatures*))
-    (if (/= (logand res #b010) 0) (pushnew :sse2 sb-vm::*backend-subfeatures*))
-    (if (/= (logand res #b100) 0) (pushnew :sse3 sb-vm::*backend-subfeatures*))))
-    
\ No newline at end of file


Index: sb-simd/TODO
diff -u sb-simd/TODO:1.1.1.1 sb-simd/TODO:1.2
--- sb-simd/TODO:1.1.1.1	Fri Aug  5 15:13:29 2005
+++ sb-simd/TODO	Fri Aug 12 13:55:39 2005
@@ -1,20 +1 @@
 
-operations from AMD manual:
-
-
-sign:
-
-andps xmm0, #x8000 0000 8000 0000 ..
-
-neg:
-
-xorps xmm0, #x8000 0000 8000 0000 ..
-
-abs:
-
-andps xmm0, #x7FFF FFFF 7FFF FFFF ..
-
-clear:
-
-xorps xmm0, xmm0
-




More information about the Sb-simd-cvs mailing list