Home | History | Annotate | Download | only in x64
      1 // Copyright 2012 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef V8_SSE_INSTR_H_
      6 #define V8_SSE_INSTR_H_
      7 
      8 #define SSE2_INSTRUCTION_LIST(V) \
      9   V(packsswb, 66, 0F, 63)        \
     10   V(packssdw, 66, 0F, 6B)        \
     11   V(packuswb, 66, 0F, 67)        \
     12   V(paddb, 66, 0F, FC)           \
     13   V(paddw, 66, 0F, FD)           \
     14   V(paddd, 66, 0F, FE)           \
     15   V(paddsb, 66, 0F, EC)          \
     16   V(paddsw, 66, 0F, ED)          \
     17   V(paddusb, 66, 0F, DC)         \
     18   V(paddusw, 66, 0F, DD)         \
     19   V(pcmpeqb, 66, 0F, 74)         \
     20   V(pcmpeqw, 66, 0F, 75)         \
     21   V(pcmpeqd, 66, 0F, 76)         \
     22   V(pcmpgtb, 66, 0F, 64)         \
     23   V(pcmpgtw, 66, 0F, 65)         \
     24   V(pcmpgtd, 66, 0F, 66)         \
     25   V(pmaxsw, 66, 0F, EE)          \
     26   V(pmaxub, 66, 0F, DE)          \
     27   V(pminsw, 66, 0F, EA)          \
     28   V(pminub, 66, 0F, DA)          \
     29   V(pmullw, 66, 0F, D5)          \
     30   V(pmuludq, 66, 0F, F4)         \
     31   V(psllw, 66, 0F, F1)           \
     32   V(pslld, 66, 0F, F2)           \
     33   V(psraw, 66, 0F, E1)           \
     34   V(psrad, 66, 0F, E2)           \
     35   V(psrlw, 66, 0F, D1)           \
     36   V(psrld, 66, 0F, D2)           \
     37   V(psubb, 66, 0F, F8)           \
     38   V(psubw, 66, 0F, F9)           \
     39   V(psubd, 66, 0F, FA)           \
     40   V(psubsb, 66, 0F, E8)          \
     41   V(psubsw, 66, 0F, E9)          \
     42   V(psubusb, 66, 0F, D8)         \
     43   V(psubusw, 66, 0F, D9)         \
     44   V(pxor, 66, 0F, EF)            \
     45   V(cvtps2dq, 66, 0F, 5B)
     46 
     47 #define SSSE3_INSTRUCTION_LIST(V) \
     48   V(pabsb, 66, 0F, 38, 1C)        \
     49   V(pabsw, 66, 0F, 38, 1D)        \
     50   V(pabsd, 66, 0F, 38, 1E)        \
     51   V(pshufb, 66, 0F, 38, 00)       \
     52   V(psignb, 66, 0F, 38, 08)       \
     53   V(psignw, 66, 0F, 38, 09)       \
     54   V(psignd, 66, 0F, 38, 0A)
     55 
     56 #define SSE4_INSTRUCTION_LIST(V) \
     57   V(packusdw, 66, 0F, 38, 2B)    \
     58   V(pminsb, 66, 0F, 38, 38)      \
     59   V(pminsd, 66, 0F, 38, 39)      \
     60   V(pminuw, 66, 0F, 38, 3A)      \
     61   V(pminud, 66, 0F, 38, 3B)      \
     62   V(pmaxsb, 66, 0F, 38, 3C)      \
     63   V(pmaxsd, 66, 0F, 38, 3D)      \
     64   V(pmaxuw, 66, 0F, 38, 3E)      \
     65   V(pmaxud, 66, 0F, 38, 3F)      \
     66   V(pmulld, 66, 0F, 38, 40)      \
     67   V(ptest, 66, 0F, 38, 17)
     68 
     69 #endif  // V8_SSE_INSTR_H_
     70