Changeset 13411


Ignore:
Timestamp:
Jan 28, 2010, 3:56:04 AM (10 years ago)
Author:
gb
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/x86-asm.lisp

    r13298 r13411  
    18451845     #x0f7e #o000 #x0 #x66)
    18461846
     1847   ;; movdqa
     1848   (def-x86-opcode (movdqa :cpu64)  ((:regxmm :insert-xmm-reg) (:anymem :insert-memory))
     1849     #x0f7f #o300 #x0 #x66)
     1850   (def-x86-opcode (movdqa :cpu64) ((:anymem :insert-memory) (:regxmm :insert-xmm-reg))
     1851     #x0f6f #o000 #x0 #x66)
     1852   
     1853
    18471854   ;; sign-extending mov
    18481855   (def-x86-opcode movsbl ((:reg8 :insert-modrm-rm) (:reg32 :insert-modrm-reg))
     
    30263033   (def-x86-opcode movapd ((:regxmm :insert-xmm-reg) (:anymem :insert-memory))
    30273034     #x0f29 #o000 #x0 #x66)
     3035
     3036   ;; movaps
     3037   (def-x86-opcode movaps ((:regxmm :insert-xmm-rm) (:regxmm :insert-xmm-reg))
     3038     #x0f28 #o300 #x0)
     3039   (def-x86-opcode movaps ((:anymem :insert-memory) (:regxmm :insert-xmm-reg))
     3040     #x0f28 #o000 #x0)
     3041   (def-x86-opcode movaps ((:regxmm :insert-xmm-reg) (:anymem :insert-memory))
     3042     #x0f29 #o000 #x0)
    30283043   
    30293044   ;; mulsd
     
    32093224     #x0fdf #o000 #x0 #x66)
    32103225
     3226   ;; pcmpeqb
     3227   (def-x86-opcode pcmpeqb ((:regxmm :insert-modrm-rm) (:regxmm :insert-modrm-reg))
     3228     #x0f74 #o300 #x0 #x66)
     3229   
    32113230   ;; por
    32123231   (def-x86-opcode por ((:regmmx :insert-mmx-rm) (:regmmx :insert-mmx-reg))
Note: See TracChangeset for help on using the changeset viewer.