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

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


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

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

Date: Mon Aug  8 12:35:38 2005
Author: rlaakso

Index: sb-simd/generate-sse-instructions.lisp
diff -u sb-simd/generate-sse-instructions.lisp:1.1.1.1 sb-simd/generate-sse-instructions.lisp:1.2
--- sb-simd/generate-sse-instructions.lisp:1.1.1.1	Fri Aug  5 15:13:29 2005
+++ sb-simd/generate-sse-instructions.lisp	Mon Aug  8 12:35:37 2005
@@ -4,6 +4,98 @@
 
 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26568.pdf
 
+
+TODO:
+
+CMPPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
+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
+
+PSHUFD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
+PSHUFHW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
+PSHUFLW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
+PSLLD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
+PSLLDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
+PSLLQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
+PSLLW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
+PSRAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
+PSRAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
+PSRLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
+PSRLDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
+PSRLQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
+PSRLW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
+
+SHUFPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
+SHUFPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
+STMXCSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
+UCOMISD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
+UCOMISS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
+UNPCKHPD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
+UNPCKHPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
+UNPCKLPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
+UNPCKLPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
+
 |#
 
 (declaim (optimize (debug 3)))
@@ -16,8 +108,7 @@
 
 (defun gen-ops (&optional (stream t))
 
-  ;; single prec packed sse
-  ;;; like :
+  ;;; instructions like:
   ;;; ADDPS xmm1, xmm2/mem128 0F 58 /r
   (loop for (inst . ops) in 
 	'(
@@ -36,6 +127,7 @@
 	  (sqrtps #x0F #x51)
 	  (subps #x0F #x5C)
 	  (xorps #x0F #x57)
+
 	  ;; double precision float
 	  (addpd #x66 #x0F #x58)
 	  (addsubpd #x66 #x0F #xD0)
@@ -46,11 +138,104 @@
 	  (minpd #x66 #x0F #x5D)
 	  (mulpd #x66 #x0F #x59)
 	  (orps #x66 #x0F #x56)
-	  (rcppd #x66 #x0F #x53)
-	  (rsqrtpd #x66 #x0F #x52)
 	  (sqrtpd #x66 #x0F #x51)
 	  (subpd #x66 #x0F #x5C)
 	  (xorpd #x66 #x0F #x57)
+
+	  ;; scalar double precision float
+	  (addsd #xF2 #x0F #x58)
+	  (divsd #xF2 #x0F #x5E)
+	  (maxsd #xF2 #x0F #x5F)
+	  (minsd #xF2 #x0F #x5D)
+	  (mulsd #xF2 #x0F #x59)
+	  (sqrtsd #xF2 #x0F #x51)
+	  (subsd #xF2 #x0F #x5C)
+
+	  ;; scalar single precision float
+	  (addss #xF3 #x0F #x58)
+	  (divss #xF3 #x0F #x5E)
+	  (maxss #xF3 #x0F #x5F)
+	  (minss #xF3 #x0F #x5D)
+	  (mulss #xF3 #x0F #x59)
+	  (rcpss #xF3 #x0F #x53)
+	  (rsqrtss #xF3 #x0F #x52)
+	  (sqrtss #xF3 #x0F #x51)
+	  (subss #xF3 #x0F #x5C)
+
+	  ;; packed integer
+	  (packssdw #x66 #x0F #x6B)
+	  (packsswb #x66 #x0F #x63)
+	  (packuswb #x66 #x0F #x67)
+
+	  (paddb #x66 #x0F #xFC)
+	  (paddd #x66 #x0F #xFE)
+	  (paddq #x66 #x0F #xD4)
+	  (paddsb #x66 #x0F #xEC)
+	  (paddsw #x66 #x0F #xED)
+	  (paddusb #x66 #x0F #xDC)
+	  (paddusw #x66 #x0F #xDD)
+	  (paddw #x66 #x0F #xFD)
+
+	  (pand #x66 #x0F #xDB)
+	  (pandn #x66 #x0F #xDF)
+	  
+	  (pavgb #x66 #x0F #xE0)
+	  (pavgw #x66 #x0F #xE3)
+	  
+	  (pcmpeqb #x66 #x0F #x74)
+	  (pcmpeqd #x66 #x0F #x76)
+	  (pcmpeqw #x66 #x0F #x75)
+	  (pcmpgtb #x66 #x0F #x64)
+	  (pcmpgtd #x66 #x0F #x66)
+	  (pcmpgtw #x66 #x0F #x65)
+	  
+	  (pmaddwd #x66 #x0F #xF5)
+
+	  (pmaxsw #x66 #x0F #xEE)
+	  (pmaxub #x66 #x0F #xDE)
+	  
+	  (pminsw #x66 #x0F #xEA)
+	  (pminub #x66 #x0F #xDA)
+
+	  (pmovmskb #x66 #x0F #xD7)
+
+	  (pmulhuw #x66 #x0F #xE4)
+	  (pmulhw #x66 #x0F #xE5)
+	  (pmullw #x66 #x0F #xD5)
+	  (pmuludq #x66 #x0F #xF4)
+	  
+	  (por #x66 #x0F #xEB)
+	  
+	  (psadbw #x66 #x0F #xF6)
+	  (pssld #x66 #x0F #xF2)
+	  (psllq #x66 #x0F #xF3)
+	  (psllw #x66 #x0F #xF1)
+	  (psrad #x66 #x0F #xE2)
+	  (psraw #x66 #x0F #xE2)
+	  (psrld #x66 #x0F #xD2)
+	  (psrlq #x66 #x0F #xD3)
+	  (psrlw #x66 #x0F #xD1)
+	  
+	  (psubb #x66 #x0F #xF8)
+	  (psubd #x66 #x0F #xFA)
+	  (psubq #x66 #x0F #xFB)
+	  (psubsb #x66 #x0F #xE8)
+	  (psubsw #x66 #x0F #xE9)
+	  (psubusb #x66 #x0F #xD8)
+	  (psubusw #x66 #x0F #xD9)
+	  (psubw #x66 #x0F #xF9)
+	  
+	  (punpckhbw #x66 #x0F #x68)
+	  (punpckhdq #x66 #x0F #x6A)
+	  (punpckhqdq #x66 #x0F #x6D)
+	  (punpckhwd #x66 #x0F #x69)
+	  (punpcklbw #x66 #x0F #x60)
+	  (punpckldq #x66 #x0F #x62)
+	  (punpcklqdq #x66 #x0F #x6C)
+	  (punpcklwd #x66 #x0F #x61)
+	  
+	  (pxor #x66 #x0F #xEF)
+	  
 	  )
 	do
 	(format stream "~S~%~%"


Index: sb-simd/.cvsignore
diff -u sb-simd/.cvsignore:1.1 sb-simd/.cvsignore:1.2
--- sb-simd/.cvsignore:1.1	Mon Aug  8 11:57:48 2005
+++ sb-simd/.cvsignore	Mon Aug  8 12:35:37 2005
@@ -1 +1,3 @@
 .emacs.desktop
+*.fasl
+sse-insts.lisp




More information about the Sb-simd-cvs mailing list