Update of /project/sb-simd/cvsroot/sb-simd/sbcl-src In directory common-lisp.net:/tmp/cvs-serv31523/sbcl-src
Modified Files: patch_against_sbcl_0_9_3 makepatch.sh Log Message: ..
Date: Mon Aug 8 15:33:25 2005 Author: rlaakso
Index: sb-simd/sbcl-src/patch_against_sbcl_0_9_3 diff -u sb-simd/sbcl-src/patch_against_sbcl_0_9_3:1.1.1.1 sb-simd/sbcl-src/patch_against_sbcl_0_9_3:1.2 --- sb-simd/sbcl-src/patch_against_sbcl_0_9_3:1.1.1.1 Fri Aug 5 15:13:29 2005 +++ sb-simd/sbcl-src/patch_against_sbcl_0_9_3 Mon Aug 8 15:33:25 2005 @@ -1,15 +1,16 @@ -diff -Naur src-093/compiler/x86/insts.lisp src/compiler/x86/insts.lisp ---- src-093/compiler/x86/insts.lisp 2005-08-05 15:31:17.723664255 +0300 -+++ src/compiler/x86/insts.lisp 2005-08-05 15:42:36.536109257 +0300 -@@ -192,6 +192,7 @@ +diff -x 'CVS*' -Naur src-093/compiler/x86/insts.lisp src/compiler/x86/insts.lisp +--- src-093/compiler/x86/insts.lisp 2005-08-05 16:13:29.000000000 +0300 ++++ src/compiler/x86/insts.lisp 2005-08-08 16:30:23.352842152 +0300 +@@ -192,6 +192,8 @@ (:byte 8) (:word 16) (:dword 32) ++ (:qword 64) + (:dqword 128) (:float 32) (:double 64)))
-@@ -671,7 +672,7 @@ +@@ -671,7 +673,7 @@
(defun reg-tn-encoding (tn) (declare (type tn tn)) @@ -18,7 +19,7 @@ (let ((offset (tn-offset tn))) (logior (ash (logand offset 1) 2) (ash offset -1)))) -@@ -718,6 +719,8 @@ +@@ -718,6 +720,8 @@ (ecase (sb-name (sc-sb (tn-sc thing))) (registers (emit-mod-reg-r/m-byte segment #b11 reg (reg-tn-encoding thing))) @@ -27,7 +28,7 @@ (stack ;; Convert stack tns into an index off of EBP. (let ((disp (- (* (1+ (tn-offset thing)) n-word-bytes)))) -@@ -830,6 +833,10 @@ +@@ -830,6 +834,10 @@ (and (tn-p thing) (eq (sb-name (sc-sb (tn-sc thing))) 'registers)))
@@ -38,7 +39,7 @@ (defun accumulator-p (thing) (and (register-p thing) (= (tn-offset thing) 0))) -@@ -2042,6 +2049,123 @@ +@@ -2042,6 +2050,1339 @@ (:emitter (emit-header-data segment return-pc-header-widetag))) @@ -79,6 +80,20 @@ + (EMIT-BYTE SEGMENT 94) + (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) + ++(DEFINE-INSTRUCTION HADDPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 124) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION HSUBPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 125) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ +(DEFINE-INSTRUCTION MAXPS + (SEGMENT DST SRC) + (:EMITTER (EMIT-BYTE SEGMENT 15) @@ -127,24 +142,1227 @@ + (EMIT-BYTE SEGMENT 92) + (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) + ++(DEFINE-INSTRUCTION UNPCKHPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 21) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION UNPCKLPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 20) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ +(DEFINE-INSTRUCTION XORPS + (SEGMENT DST SRC) + (:EMITTER (EMIT-BYTE SEGMENT 15) + (EMIT-BYTE SEGMENT 87) + (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) + -+;;; SSE MOVE ++(DEFINE-INSTRUCTION ADDPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 88) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ADDSUBPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 208) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ANDNPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 85) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ANDPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 84) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION DIVPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 94) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION HADDPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 124) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION HSUBPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 125) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MAXPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 95) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MINPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 93) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MULPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 89) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ORPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 86) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SQRTPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 81) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SUBPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 92) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION UNPCKHPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 21) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION UNPCKLPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 20) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION XORPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 87) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ADDSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 88) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION COMISD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 47) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION DIVSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 94) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MAXSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 95) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MINSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 93) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MULSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 89) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SQRTSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 81) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SUBSD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 92) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION UCOMISD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 46) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION ADDSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 88) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION COMISS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 47) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION DIVSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 94) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MAXSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 95) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MINSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 93) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MULSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 89) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION RCPSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 83) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION RSQRTSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 82) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SQRTSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 81) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION SUBSS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 92) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION UCOMISS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 46) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PACKSSDW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 107) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PACKSSWB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 99) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PACKUSWB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 103) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 252) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 254) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 212) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDSB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 236) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 237) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDUSB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 220) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDUSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 221) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PADDW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 253) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PAND ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 219) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PANDN ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 223) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PAVGB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 224) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PAVGW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 227) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPEQB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 116) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPEQD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 118) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPEQW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 117) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPGTB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 100) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPGTD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 102) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PCMPGTW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 101) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMADDWD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 245) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMAXSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 238) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMAXUB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 222) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMINSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 234) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMINUB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 218) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMOVMSKB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 215) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMULHUW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 228) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMULHW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 229) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMULLW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 213) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PMULUDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 244) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION POR ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 235) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSADBW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 246) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSSLD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 242) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSLLQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 243) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSLLW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 241) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSRAD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 226) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSRAW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 226) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSRLD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 210) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSRLQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 211) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSRLW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 209) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 248) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 250) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 251) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBSB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 232) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 233) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBUSB ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 216) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBUSW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 217) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PSUBW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 249) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKHBW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 104) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKHDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 106) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKHQDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 109) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKHWD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 105) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKLBW ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 96) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKLDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 98) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKLQDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 108) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PUNPCKLWD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 97) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PXOR ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 239) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTDQ2PD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 230) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTDQ2PS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 91) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPD2DQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 230) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPD2PI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 45) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPD2PS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 90) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPI2PD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 42) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPI2PS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 42) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPS2DQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 91) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPS2PD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 90) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTPS2PI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 45) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSD2SI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 45) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSD2SS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 90) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSI2SD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 42) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSI2SS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 42) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSS2SD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 90) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTSS2SI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 45) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTPD2DQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 230) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTPD2PI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 44) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTPS2DQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 91) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTPS2PI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 44) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTSD2SI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 44) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION CVTTSS2SI ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 44) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION LDDQU ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 240) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MASKMOVDQU ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 247) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVDDUP ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 18) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVHLPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 18) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVLHPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 22) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVMSKPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 80) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVMSKPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 80) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVNTDQ ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 231) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVNTPD ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 43) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVNTPS ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 43) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVSHDUP ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 22) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION MOVSLDUP ++ (SEGMENT DST SRC) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 18) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)))) ++ ++(DEFINE-INSTRUCTION PEXTRW ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 197) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION PINSRW ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 196) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION PSHUFD ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 112) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION PSHUFHW ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 112) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION PSHUFLW ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 112) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION SHUFPD ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 198) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION SHUFPS ++ (SEGMENT DST SRC BYTE) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 198) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT :BYTE BYTE))) ++ ++(DEFINE-INSTRUCTION CMPPD ++ (SEGMENT DST SRC COND) ++ (:EMITTER (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 194) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT ++ :BYTE ++ (CDR ++ (ASSOC COND ++ '((:EQ . 0) ++ (:E . 0) (:Z . 0) ++ (:L . 1) ++ (:NGE . 1) ++ (:LE . 2) ++ (:NG . 2) ++ (:UNORD . 3) ++ (:NE . 4) ++ (:NZ . 4) ++ (:NL . 5) ++ (:GE . 5) ++ (:NLE . 6) ++ (:G . 6) ++ (:ORD . 7))))))) ++ ++(DEFINE-INSTRUCTION CMPPS ++ (SEGMENT DST SRC COND) ++ (:EMITTER (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 194) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT ++ :BYTE ++ (CDR ++ (ASSOC COND ++ '((:EQ . 0) ++ (:E . 0) (:Z . 0) ++ (:L . 1) ++ (:NGE . 1) ++ (:LE . 2) ++ (:NG . 2) ++ (:UNORD . 3) ++ (:NE . 4) ++ (:NZ . 4) ++ (:NL . 5) ++ (:GE . 5) ++ (:NLE . 6) ++ (:G . 6) ++ (:ORD . 7))))))) ++ ++(DEFINE-INSTRUCTION CMPSD ++ (SEGMENT DST SRC COND) ++ (:EMITTER (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 194) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT ++ :BYTE ++ (CDR ++ (ASSOC COND ++ '((:EQ . 0) ++ (:E . 0) (:Z . 0) ++ (:L . 1) ++ (:NGE . 1) ++ (:LE . 2) ++ (:NG . 2) ++ (:UNORD . 3) ++ (:NE . 4) ++ (:NZ . 4) ++ (:NL . 5) ++ (:GE . 5) ++ (:NLE . 6) ++ (:G . 6) ++ (:ORD . 7))))))) ++ ++(DEFINE-INSTRUCTION CMPSS ++ (SEGMENT DST SRC COND) ++ (:EMITTER (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 194) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST)) ++ (EMIT-SIZED-IMMEDIATE SEGMENT ++ :BYTE ++ (CDR ++ (ASSOC COND ++ '((:EQ . 0) ++ (:E . 0) (:Z . 0) ++ (:L . 1) ++ (:NGE . 1) ++ (:LE . 2) ++ (:NG . 2) ++ (:UNORD . 3) ++ (:NE . 4) ++ (:NZ . 4) ++ (:NL . 5) ++ (:GE . 5) ++ (:NLE . 6) ++ (:G . 6) ++ (:ORD . 7))))))) ++ ++(DEFINE-INSTRUCTION MOVAPD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 40) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 41) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVAPS ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 40) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 41) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 110) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 126) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVDQA ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 111) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 127) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVDQU ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 111) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 127) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVHPD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 22) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 23) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVHPS ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 22) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 23) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVLPD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 18) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 19) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVLPS ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 18) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 19) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVQ ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 126) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 214) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVSD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 16) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 242) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 17) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVSS ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 16) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 243) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 17) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVUPD ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) (EMIT-BYTE SEGMENT 16) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 102) ++ (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 17) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) ++ ++(DEFINE-INSTRUCTION MOVUPS ++ (SEGMENT DST SRC) ++ (:EMITTER ++ (COND ++ ((SSE-REGISTER-P DST) (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 16) ++ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) ++ (T (EMIT-BYTE SEGMENT 15) ++ (EMIT-BYTE SEGMENT 17) ++ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) + -+(DEFINE-INSTRUCTION MOVUPS (SEGMENT DST SRC) -+ (:EMITTER -+ (COND -+ ((SSE-REGISTER-P DST) -+ (EMIT-BYTE SEGMENT 15) -+ (EMIT-BYTE SEGMENT 16) -+ (EMIT-EA SEGMENT SRC (REG-TN-ENCODING DST))) -+ (T (EMIT-BYTE SEGMENT 15) -+ (EMIT-BYTE SEGMENT 17) -+ (EMIT-EA SEGMENT DST (REG-TN-ENCODING SRC)))))) + + +;;; CPUID @@ -155,16 +1373,15 @@ + (emit-byte segment #x0F) + (emit-byte segment #xA2))) + -+ + + + ;;;; fp instructions ;;;; ;;;; FIXME: This section said "added by jrd", which should end up in CREDITS. -diff -Naur src-093/compiler/x86/vm.lisp src/compiler/x86/vm.lisp ---- src-093/compiler/x86/vm.lisp 2005-08-05 15:32:19.810183044 +0300 -+++ src/compiler/x86/vm.lisp 2005-08-05 15:38:26.784310770 +0300 +diff -x 'CVS*' -Naur src-093/compiler/x86/vm.lisp src/compiler/x86/vm.lisp +--- src-093/compiler/x86/vm.lisp 2005-08-05 16:13:29.000000000 +0300 ++++ src/compiler/x86/vm.lisp 2005-08-08 16:32:19.609588299 +0300 @@ -21,7 +21,8 @@ (defvar *byte-register-names* (make-array 8 :initial-element nil)) (defvar *word-register-names* (make-array 16 :initial-element nil))
Index: sb-simd/sbcl-src/makepatch.sh diff -u sb-simd/sbcl-src/makepatch.sh:1.1.1.1 sb-simd/sbcl-src/makepatch.sh:1.2 --- sb-simd/sbcl-src/makepatch.sh:1.1.1.1 Fri Aug 5 15:13:29 2005 +++ sb-simd/sbcl-src/makepatch.sh Mon Aug 8 15:33:25 2005 @@ -1,4 +1,4 @@ #!/bin/sh find . -name '.emacs*' |xargs rm 2>/dev/null find . -name '*~' |xargs rm 2>/dev/null -diff -Naur src-093 src > patch_against_sbcl_0_9_3 +diff -x "CVS*" -Naur src-093 src > patch_against_sbcl_0_9_3