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_X64_SSE_INSTR_H_ 6 #define V8_X64_SSE_INSTR_H_ 7 8 #define SSE2_INSTRUCTION_LIST(V) \ 9 V(cvtps2dq, 66, 0F, 5B) \ 10 V(punpcklbw, 66, 0F, 60) \ 11 V(punpcklwd, 66, 0F, 61) \ 12 V(punpckldq, 66, 0F, 62) \ 13 V(packsswb, 66, 0F, 63) \ 14 V(packuswb, 66, 0F, 67) \ 15 V(punpckhbw, 66, 0F, 68) \ 16 V(punpckhwd, 66, 0F, 69) \ 17 V(punpckhdq, 66, 0F, 6A) \ 18 V(packssdw, 66, 0F, 6B) \ 19 V(punpcklqdq, 66, 0F, 6C) \ 20 V(punpckhqdq, 66, 0F, 6D) \ 21 V(paddb, 66, 0F, FC) \ 22 V(paddw, 66, 0F, FD) \ 23 V(paddd, 66, 0F, FE) \ 24 V(paddsb, 66, 0F, EC) \ 25 V(paddsw, 66, 0F, ED) \ 26 V(paddusb, 66, 0F, DC) \ 27 V(paddusw, 66, 0F, DD) \ 28 V(pcmpeqb, 66, 0F, 74) \ 29 V(pcmpeqw, 66, 0F, 75) \ 30 V(pcmpeqd, 66, 0F, 76) \ 31 V(pcmpgtb, 66, 0F, 64) \ 32 V(pcmpgtw, 66, 0F, 65) \ 33 V(pcmpgtd, 66, 0F, 66) \ 34 V(pmaxsw, 66, 0F, EE) \ 35 V(pmaxub, 66, 0F, DE) \ 36 V(pminsw, 66, 0F, EA) \ 37 V(pminub, 66, 0F, DA) \ 38 V(pmullw, 66, 0F, D5) \ 39 V(pmuludq, 66, 0F, F4) \ 40 V(psllw, 66, 0F, F1) \ 41 V(pslld, 66, 0F, F2) \ 42 V(psraw, 66, 0F, E1) \ 43 V(psrad, 66, 0F, E2) \ 44 V(psrlw, 66, 0F, D1) \ 45 V(psrld, 66, 0F, D2) \ 46 V(psubb, 66, 0F, F8) \ 47 V(psubw, 66, 0F, F9) \ 48 V(psubd, 66, 0F, FA) \ 49 V(psubsb, 66, 0F, E8) \ 50 V(psubsw, 66, 0F, E9) \ 51 V(psubusb, 66, 0F, D8) \ 52 V(psubusw, 66, 0F, D9) \ 53 V(pand, 66, 0F, DB) \ 54 V(por, 66, 0F, EB) \ 55 V(pxor, 66, 0F, EF) 56 57 #define SSSE3_INSTRUCTION_LIST(V) \ 58 V(pabsb, 66, 0F, 38, 1C) \ 59 V(pabsw, 66, 0F, 38, 1D) \ 60 V(pabsd, 66, 0F, 38, 1E) \ 61 V(phaddd, 66, 0F, 38, 02) \ 62 V(phaddw, 66, 0F, 38, 01) \ 63 V(pshufb, 66, 0F, 38, 00) \ 64 V(psignb, 66, 0F, 38, 08) \ 65 V(psignw, 66, 0F, 38, 09) \ 66 V(psignd, 66, 0F, 38, 0A) 67 68 #define SSE4_INSTRUCTION_LIST(V) \ 69 V(ptest, 66, 0F, 38, 17) \ 70 V(pmovsxbw, 66, 0F, 38, 20) \ 71 V(pmovsxwd, 66, 0F, 38, 23) \ 72 V(packusdw, 66, 0F, 38, 2B) \ 73 V(pmovzxbw, 66, 0F, 38, 30) \ 74 V(pmovzxwd, 66, 0F, 38, 33) \ 75 V(pminsb, 66, 0F, 38, 38) \ 76 V(pminsd, 66, 0F, 38, 39) \ 77 V(pminuw, 66, 0F, 38, 3A) \ 78 V(pminud, 66, 0F, 38, 3B) \ 79 V(pmaxsb, 66, 0F, 38, 3C) \ 80 V(pmaxsd, 66, 0F, 38, 3D) \ 81 V(pmaxuw, 66, 0F, 38, 3E) \ 82 V(pmaxud, 66, 0F, 38, 3F) \ 83 V(pmulld, 66, 0F, 38, 40) 84 85 #endif // V8_X64_SSE_INSTR_H_ 86