[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