[sb-simd-cvs] CVS update: sb-simd/generate-sse-instructions.lisp

Risto Laakso rlaakso at common-lisp.net
Mon Aug 8 10:59:56 UTC 2005


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

Modified Files:
	generate-sse-instructions.lisp 
Log Message:
..

Date: Mon Aug  8 12:59:53 2005
Author: rlaakso

Index: sb-simd/generate-sse-instructions.lisp
diff -u sb-simd/generate-sse-instructions.lisp:1.2 sb-simd/generate-sse-instructions.lisp:1.3
--- sb-simd/generate-sse-instructions.lisp:1.2	Mon Aug  8 12:35:37 2005
+++ sb-simd/generate-sse-instructions.lisp	Mon Aug  8 12:59:52 2005
@@ -11,63 +11,38 @@
 CMPPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 CMPSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 CMPSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
-COMISD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
-COMISS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
-CVTDQ2PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
-CVTDQ2PS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
-CVTPD2DQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
-CVTPD2PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
-CVTPD2PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
-CVTPI2PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
-CVTPI2PS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
-CVTPS2DQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
-CVTPS2PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
-CVTPS2PI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
-CVTSD2SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
-CVTSD2SS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
-CVTSI2SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
-CVTSI2SS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
-CVTSS2SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
-CVTSS2SI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
-CVTTPD2DQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
-CVTTPD2PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
-CVTTPS2DQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
-CVTTPS2PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
-CVTTSD2SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
-CVTTSS2SI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
+
 FXRSTOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
 FXSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
+
 HADDPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
 HADDPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
 HSUBPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
 HSUBPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
+
 LDDQU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
 LDMXCSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
+
 MASKMOVDQU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
-MOVAPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
-MOVAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
+
 MOVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
 MOVDDUP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
 MOVDQ2Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
-MOVDQA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
-MOVDQU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
+
 MOVHLPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
-MOVHPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
-MOVHPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
+
 MOVLHPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
-MOVLPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
-MOVLPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
+
 MOVMSKPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
 MOVMSKPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
 MOVNTDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
 MOVNTPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
 MOVNTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
-MOVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
+
 MOVQ2DQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
-MOVSD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
+
 MOVSHDUP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
 MOVSLDUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
-MOVSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
 
 PEXTRW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
 PINSRW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
@@ -89,12 +64,7 @@
 SHUFPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
 SHUFPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
 STMXCSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
-UCOMISD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
-UCOMISS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
-UNPCKHPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
-UNPCKHPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
-UNPCKLPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
-UNPCKLPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
+
 
 |#
 
@@ -126,6 +96,8 @@
 	  (rsqrtps #x0F #x52)
 	  (sqrtps #x0F #x51)
 	  (subps #x0F #x5C)
+	  (unpckhps #x0F #x15)
+	  (unpcklps #x0F #x14)
 	  (xorps #x0F #x57)
 
 	  ;; double precision float
@@ -140,19 +112,24 @@
 	  (orps #x66 #x0F #x56)
 	  (sqrtpd #x66 #x0F #x51)
 	  (subpd #x66 #x0F #x5C)
+	  (unpckhpd #x66 #x0F #x15)
+	  (unpcklpd #x66 #x0F #x14)
 	  (xorpd #x66 #x0F #x57)
 
 	  ;; scalar double precision float
 	  (addsd #xF2 #x0F #x58)
+	  (comisd #x66 #x0F #x2F)
 	  (divsd #xF2 #x0F #x5E)
 	  (maxsd #xF2 #x0F #x5F)
 	  (minsd #xF2 #x0F #x5D)
 	  (mulsd #xF2 #x0F #x59)
 	  (sqrtsd #xF2 #x0F #x51)
 	  (subsd #xF2 #x0F #x5C)
+	  (ucomisd #x66 #x0F #x2E)
 
 	  ;; scalar single precision float
 	  (addss #xF3 #x0F #x58)
+	  (comiss #x0F #x2F)
 	  (divss #xF3 #x0F #x5E)
 	  (maxss #xF3 #x0F #x5F)
 	  (minss #xF3 #x0F #x5D)
@@ -161,6 +138,8 @@
 	  (rsqrtss #xF3 #x0F #x52)
 	  (sqrtss #xF3 #x0F #x51)
 	  (subss #xF3 #x0F #x5C)
+	  (ucomiss #x0F #x2E)
+	  
 
 	  ;; packed integer
 	  (packssdw #x66 #x0F #x6B)
@@ -235,6 +214,30 @@
 	  (punpcklwd #x66 #x0F #x61)
 	  
 	  (pxor #x66 #x0F #xEF)
+
+	  ;; convert
+	  (cvtdq2pd #xF3 #x0F #xE6)
+	  (cvtdq2ps #x0F #x5B)
+	  (cvtpd2dq #xF2 #x0F #xE6)
+	  (cvtpd2pi #x66 #x0F #x2D)
+	  (cvtpd2ps #x66 #x0F #x5A)
+	  (cvtpi2pd #x66 #x0F #x2A)
+	  (cvtpi2ps #x0F #x2A)
+	  (cvtps2dq #x66 #x0F #x5B)
+	  (cvtps2pd #x0F #x5A)
+	  (cvtps2pi #x0F #x2D)
+	  (cvtsd2si #xF2 #x0F #x2D)
+	  (cvtsd2ss #xF2 #x0F #x5A)
+	  (cvtsi2sd #xF2 #x0F #x2A)
+	  (cvtsi2ss #xF3 #x0F #x2A)
+	  (cvtss2sd #xF3 #x0F #x5A)
+	  (cvtss2si #xF3 #x0F #x2D)
+	  (cvttpd2dq #x66 #x0F #xE6)
+	  (cvttpd2pi #x66 #x0F #x2C)
+	  (cvttps2dq #xF3 #x0F #x5B)
+	  (cvttps2pi #x0F #x2C)
+	  (cvttsd2si #xF2 #x0F #x2C)
+	  (cvttss2si #xF3 #x0F #x2C)
 	  
 	  )
 	do
@@ -244,11 +247,30 @@
 		   ,@(emit-ops ops)
 		   (emit-ea segment src (reg-tn-encoding dst))))))
 
-  ;; MOVUPS
+  ;; MOVES
   (loop for (inst ops-m2r ops-r2m) in
 	'(
+	  (movapd (#x66 #x0F #x28) (#x66 #x0F #x29))
+	  (movaps (#x0F #x28) (#x0F #x29))
+
+	  (movdqa (#x66 #x0F #x6F) (#x66 #x0F #x7F))
+	  (movdqu (#xF3 #x0F #x6F) (#xF3 #x0F #x7F))
+
+	  (movhpd (#x66 #x0F #x16) (#x66 #x0F #x17))
+	  (movhps (#x0F #x16) (#x0F #x17))
+
+	  (movlpd (#x66 #x0F #x12) (#x66 #x0F #x13))
+	  (movlps (#x0F #x12) (#x0F #x13))
+
+	  (movq (#xF3 #x0F #x7E) (#x66 #x0F #xD6))
+
+	  (movsd (#xF2 #x0F #x10) (#xF2 #x0F #x11))
+
+	  (movss (#xF3 #x0F #x10) (#xF3 #x0F #x11))
+
+	  (movupd (#x66 #x0F #x10) (#x66 #x0F #x11))
 	  (movups (#x0F #x10) (#x0F #x11))
-	  (movupd (#x66 #x0F #x10) (#x66 #x0F #x11)))
+	  )
 	do
 	(format stream "~S~%~%"
 		`(define-instruction ,(intern (symbol-name inst)) (segment dst src)




More information about the Sb-simd-cvs mailing list