[Openmcl-cvs-notifications] r13411 - /trunk/source/compiler/X86/x86-asm.lisp
gb at clozure.com
gb at clozure.com
Thu Jan 28 03:56:05 UTC 2010
Author: gb
Date: Thu Jan 28 03:56:04 2010
New Revision: 13411
Log:
Add a few SSE2 instructions (or at least some cases): MOVQDA where
either source or dest operand is in memory, MOVAPS (which is supposedly
the fastest/smallest way to move XMM registers around), PCMPEQB where
both operands are XMM registers.
Modified:
trunk/source/compiler/X86/x86-asm.lisp
Modified: trunk/source/compiler/X86/x86-asm.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/X86/x86-asm.lisp (original)
+++ trunk/source/compiler/X86/x86-asm.lisp Thu Jan 28 03:56:04 2010
@@ -1844,6 +1844,13 @@
(def-x86-opcode movd ((:regxmm :insert-xmm-reg) (:anymem :insert-memory=
))
#x0f7e #o000 #x0 #x66)
=
+ ;; movdqa
+ (def-x86-opcode (movdqa :cpu64) ((:regxmm :insert-xmm-reg) (:anymem :i=
nsert-memory))
+ #x0f7f #o300 #x0 #x66)
+ (def-x86-opcode (movdqa :cpu64) ((:anymem :insert-memory) (:regxmm :ins=
ert-xmm-reg)) =
+ #x0f6f #o000 #x0 #x66)
+ =
+
;; sign-extending mov
(def-x86-opcode movsbl ((:reg8 :insert-modrm-rm) (:reg32 :insert-modrm-=
reg))
#x0fbe #o300 0)
@@ -3025,6 +3032,14 @@
#x0f28 #o000 #x0 #x66)
(def-x86-opcode movapd ((:regxmm :insert-xmm-reg) (:anymem :insert-memo=
ry))
#x0f29 #o000 #x0 #x66)
+
+ ;; movaps
+ (def-x86-opcode movaps ((:regxmm :insert-xmm-rm) (:regxmm :insert-xmm-r=
eg))
+ #x0f28 #o300 #x0)
+ (def-x86-opcode movaps ((:anymem :insert-memory) (:regxmm :insert-xmm-r=
eg))
+ #x0f28 #o000 #x0)
+ (def-x86-opcode movaps ((:regxmm :insert-xmm-reg) (:anymem :insert-memo=
ry))
+ #x0f29 #o000 #x0)
=
;; mulsd
(def-x86-opcode mulsd ((:anymem :insert-memory) (:regxmm :insert-xmm-re=
g))
@@ -3208,6 +3223,10 @@
(def-x86-opcode pandn ((:anymem :insert-memory) (:regxmm :insert-modrm-=
reg))
#x0fdf #o000 #x0 #x66)
=
+ ;; pcmpeqb
+ (def-x86-opcode pcmpeqb ((:regxmm :insert-modrm-rm) (:regxmm :insert-mo=
drm-reg))
+ #x0f74 #o300 #x0 #x66)
+ =
;; por
(def-x86-opcode por ((:regmmx :insert-mmx-rm) (:regmmx :insert-mmx-reg))
#x0feb #o300 #x0)
More information about the Openmcl-cvs-notifications
mailing list