fcml  1.1.3
fcml_instructions.h
Go to the documentation of this file.
1 /*
2  * FCML - Free Code Manipulation Library.
3  * Copyright (C) 2010-2015 Slawomir Wojtasiak
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
26 #ifndef FCML_INSTRUCTIONS_H_
27 #define FCML_INSTRUCTIONS_H_
28 
35 #define FCML_AMT_UNDEF 0x0000000000000000UL
36 /* Grouping. */
37 #define FCML_AMT_SSEx 0x0000000000000001UL
38 #define FCML_AMT_VEXx 0x0000000000000002UL
39 #define FCML_AMT_SIMD 0x0000000000000004UL
40 /* CPUID. */
41 #define FCML_AMT_GPI 0x0000000000000008UL
42 #define FCML_AMT_FPU 0x0000000000000010UL
43 #define FCML_AMT_MMX 0x0000000000000020UL | FCML_AMT_SSEx
44 #define FCML_AMT_SSE 0x0000000000000040UL | FCML_AMT_SSEx
45 #define FCML_AMT_SSE2 0x0000000000000080UL | FCML_AMT_SSEx
46 #define FCML_AMT_SSE3 0x0000000000000100UL | FCML_AMT_SSEx
47 #define FCML_AMT_SSSE3 0x0000000000000200UL | FCML_AMT_SSEx
48 #define FCML_AMT_SSE41 0x0000000000000400UL | FCML_AMT_SSEx
49 #define FCML_AMT_SSE42 0x0000000000000800UL | FCML_AMT_SSEx
50 #define FCML_AMT_SSE4A 0x0000000000001000UL | FCML_AMT_SSEx
51 #define FCML_AMT_AVX 0x0000000000002000UL | FCML_AMT_VEXx
52 #define FCML_AMT_AVX2 0x0000000000004000UL | FCML_AMT_VEXx
53 #define FCML_AMT_AES 0x0000000000008000UL
54 #define FCML_AMT_SYSTEM 0x0000000000010000UL
55 #define FCML_AMT_3DNOW 0x0000000000020000UL | FCML_AMT_MMX
56 #define FCML_AMT_TBM 0x0000000000040000UL | FCML_AMT_VEXx
57 #define FCML_AMT_BMI1 0x0000000000080000UL
58 #define FCML_AMT_BMI2 0x0000000000100000UL
59 #define FCML_AMT_HLE 0x0000000000200000UL
60 #define FCML_AMT_ADX 0x0000000000400000UL
61 #define FCML_AMT_CLMUL 0x0000000000800000UL
62 #define FCML_AMT_F16C 0x0000000001000000UL | FCML_AMT_VEXx
63 #define FCML_AMT_RDRAND 0x0000000002000000UL
64 #define FCML_AMT_RDSEED 0x0000000004000000UL
65 #define FCML_AMT_PRFCHW 0x0000000008000000UL
66 #define FCML_AMT_LWP 0x0000000010000000UL | FCML_AMT_SIMD
67 #define FCML_AMT_SVM 0x0000000020000000UL
68 #define FCML_AMT_FSGSBASE 0x0000000040000000UL
69 #define FCML_AMT_FMA 0x0000000080000000UL | FCML_AMT_SIMD
70 #define FCML_AMT_FMA4 0x0000000100000000UL | FCML_AMT_SIMD
71 #define FCML_AMT_XOP 0x0000000200000000UL | FCML_AMT_SIMD
72 #define FCML_AMT_EDX 0x0000000400000000UL
73 #define FCML_AMT_ABM 0x0000000800000000UL
74 #define FCML_AMT_VMX 0x0000001000000000UL
75 #define FCML_AMT_SMX 0x0000002000000000UL
76 #define FCML_AMT_POPCNT 0x0000004000000000UL
77 #define FCML_AMT_RTM 0x0000008000000000UL
78 /* Control transfer instructions. */
79 #define FCML_AMT_CTI 0x0000010000000000UL
80 #define FCML_AMT_BRANCH 0x0000020000000000UL
81 /* Shortcuts. */
82 #define FCML_AMT_MMX_SIMD FCML_AMT_MMX | FCML_AMT_SIMD
83 #define FCML_AMT_SSE_SIMD FCML_AMT_SSE | FCML_AMT_SIMD
84 #define FCML_AMT_SSE2_SIMD FCML_AMT_SSE2 | FCML_AMT_SIMD
85 #define FCML_AMT_SSE3_SIMD FCML_AMT_SSE3 | FCML_AMT_SIMD
86 #define FCML_AMT_SSSE3_SIMD FCML_AMT_SSSE3 | FCML_AMT_SIMD
87 #define FCML_AMT_SSE41_SIMD FCML_AMT_SSE41 | FCML_AMT_SIMD
88 #define FCML_AMT_SSE42_SIMD FCML_AMT_SSE42 | FCML_AMT_SIMD
89 #define FCML_AMT_AVX_SIMD FCML_AMT_AVX | FCML_AMT_SIMD
90 #define FCML_AMT_AVX2_SIMD FCML_AMT_AVX2 | FCML_AMT_SIMD
91 #define FCML_AMT_3DNOW_SIMD FCML_AMT_3DNOW | FCML_AMT_SIMD
92 
97  FCML_AM_UNKNOWN = 0,
98  FCML_AM_NO_OPERANS,
99  FCML_AM_IMM8,
100  FCML_AM_IMMO,
101  FCML_AM_ER8_IMM8,
102  FCML_AM_R8_IMM8,
103  FCML_AM_ERO_IMMO,
104  FCML_AM_RM8_IMM8,
105  FCML_AM_RMO_IMMO,
106  FCML_AM_R0_IMM0,
107  FCML_AM_RMO_IMM8,
108  FCML_AM_RM8_R8,
109  FCML_AM_R8_RM8,
110  FCML_AM_R8_MOFF8,
111  FCML_AM_MOFF8_R8,
112  FCML_AM_R16_RM8,
113  FCML_AM_RO_RM16,
114  FCML_AM_RMO_RO,
115  FCML_AM_RO_RMO,
116  FCML_AM_RO_MOFFO,
117  FCML_AM_RO_MO,
118  FCML_AM_MOFFO_RO,
119  FCML_AM_MO_RO,
120  FCML_AM_RO_RM8,
121  FCML_AM_RM_SR,
122  FCML_AM_SR_RM,
123  FCML_AM_R32_DR,
124  FCML_AM_R64_DR,
125  FCML_AM_DR_R32,
126  FCML_AM_DR_R64,
127  FCML_AM_R32_CR,
128  FCML_AM_R64_CR,
129  FCML_AM_CR_R32,
130  FCML_AM_CR_R64,
131  FCML_AM_RO_RMO_IMM8,
132  FCML_AM_RO_RMO_IMMO,
133  FCML_AM_R32A_RM32_R32B,
134  FCML_AM_R64A_RM64_R64B,
135  FCML_AM_R32_RM32,
136  FCML_AM_R64_RM64,
137  FCML_AM_R32_RM32_R32,
138  FCML_AM_R64_RM64_R64,
139  FCML_AM_REL16,
140  FCML_AM_PTR16_O,
141  FCML_AM_M16_O,
142  FCML_AM_M8_M8,
143  FCML_AM_MO_MO,
144  FCML_AM_M8,
145  FCML_AM_M16,
146  FCML_AM_M32,
147  FCML_AM_M64,
148  FCML_AM_M80,
149  FCML_AM_M128,
150  FCML_AM_RX_RM32,
151  FCML_AM_RX_RM64,
152  FCML_AM_RX_RX_RM32,
153  FCML_AM_RX_RX_RM64,
154  FCML_AM_R32_RXM64,
155  FCML_AM_R64_RXM64,
156  FCML_AM_RM8,
157  FCML_AM_RMO,
158  FCML_AM_RO,
159  FCML_AM_SRO,
160  FCML_AM_SR_FSGSO,
161  FCML_AM_ST0_ST,
162  FCML_AM_ST_ST0,
163  FCML_AM_ST,
164  FCML_AM_M2BYTE,
165  FCML_AM_AX,
166  FCML_AM_R64_M128,
167  FCML_AM_R32_M128,
168  FCML_AM_RX_RX_I8_I8,
169  FCML_AM_RX_RX,
170  FCML_AM_REL8,
171  FCML_AM_REL0
172 };
173 
181 typedef enum fcml_en_instruction {
182  F_UNKNOWN,
183  F_AAA,
184  F_JCC,
185  F_AAD,
186  F_AAM,
187  F_AAS,
188  F_ADC,
189  F_ADD,
190  F_ADDPD,
191  F_VADDPD,
192  F_ADDPS,
193  F_VADDPS,
194  F_ADDSD,
195  F_VADDSD,
196  F_ADDSS,
197  F_VADDSS,
198  F_ADDSUBPD,
199  F_VADDSUBPD,
200  F_ADDSUBPS,
201  F_VADDSUBPS,
202  F_AESDEC,
203  F_VAESDEC,
204  F_AESDECLAST,
205  F_VAESDECLAST,
206  F_AESENC,
207  F_VAESENC,
208  F_AESENCLAST,
209  F_VAESENCLAST,
210  F_AESIMC,
211  F_VAESIMC,
212  F_AESKEYGENASSIST,
213  F_VAESKEYGENASSIST,
214  F_AND,
215  F_ANDPD,
216  F_VANDPD,
217  F_ANDPS,
218  F_VANDPS,
219  F_ANDNPD,
220  F_VANDNPD,
221  F_ANDNPS,
222  F_VANDNPS,
223  F_ARPL,
224  F_ANDN,
225  F_ADCX,
226  F_ADOX,
227  F_BLENDPD,
228  F_VBLENDPD,
229  F_BLENDPS,
230  F_VBLENDPS,
231  F_BLENDVPD,
232  F_VBLENDVPD,
233  F_BLENDVPS,
234  F_VBLENDVPS,
235  F_BOUND,
236  F_BSF,
237  F_BSR,
238  F_BSWAP,
239  F_BT,
240  F_BTC,
241  F_BTR,
242  F_BTS,
243  F_BEXR,
244  F_BLCFILL,
245  F_BLCI,
246  F_BLCIC,
247  F_BLCMSK,
248  F_BLCS,
249  F_BLSFILL,
250  F_BLSI,
251  F_BLSIC,
252  F_BLSMSK,
253  F_BLSR,
254  F_BZHI,
255  F_CALL,
256  F_CBW,
257  F_CWDE = F_CBW,
258  F_CDQE = F_CBW,
259  F_CLC,
260  F_CLD,
261  F_CLFLUSH,
262  F_CLI,
263  F_CLGI,
264  F_CLTS,
265  F_CMC,
266  F_CMOV,
267  F_CMP,
268  F_CMPPD,
269  F_VCMPPD,
270  F_CMPPS,
271  F_VCMPPS,
272  F_CMPS,
273  F_CMPSD,
274  F_VCMPSD,
275  F_CMPSS,
276  F_VCMPSS,
277  F_CMPXCHG,
278  F_CMPXCHGxB,
279  F_CPUID,
280  F_CRC32,
281  F_CVTDQ2PD,
282  F_VCVTDQ2PD,
283  F_CVTDQ2PS,
284  F_VCVTDQ2PS,
285  F_CVTPD2DQ,
286  F_VCVTPD2DQ,
287  F_CVTPD2PI,
288  F_CVTPD2PS,
289  F_VCVTPD2PS,
290  F_CVTPI2PD,
291  F_CVTPI2PS,
292  F_CVTPS2DQ,
293  F_VCVTPS2DQ,
294  F_CVTPS2PD,
295  F_VCVTPS2PD,
296  F_CVTPS2PI,
297  F_CVTSD2SI,
298  F_VCVTSD2SI,
299  F_CVTSD2SS,
300  F_VCVTSD2SS,
301  F_CVTSI2SD,
302  F_VCVTSI2SD,
303  F_CVTSI2SS,
304  F_VCVTSI2SS,
305  F_CVTSS2SD,
306  F_VCVTSS2SD,
307  F_CVTSS2SI,
308  F_VCVTSS2SI,
309  F_CVTTPD2DQ,
310  F_VCVTTPD2DQ,
311  F_CVTTPD2PI,
312  F_CVTTPS2DQ,
313  F_VCVTTPS2DQ,
314  F_CVTTPS2PI,
315  F_CVTTSD2SI,
316  F_VCVTTSD2SI,
317  F_CVTTSS2SI,
318  F_VCVTTSS2SI,
319  F_CWD,
320  F_CDQ = F_CWD,
321  F_CQO = F_CWD,
322  F_COMISD,
323  F_VCOMISD,
324  F_COMISS,
325  F_VCOMISS,
326  F_DAA,
327  F_DAS,
328  F_DEC,
329  F_DIV,
330  F_DIVPD,
331  F_VDIVPD,
332  F_DIVPS,
333  F_VDIVPS,
334  F_DIVSD,
335  F_VDIVSD,
336  F_DIVSS,
337  F_VDIVSS,
338  F_DPPD,
339  F_VDPPD,
340  F_DPPS,
341  F_VDPPS,
342  F_EMMS,
343  F_ENTER,
344  F_EXTRACTPS,
345  F_VEXTRACTPS,
346  F_EXTRQ,
347  F_F2XM1,
348  F_FABS,
349  F_FADD,
350  F_FIADD,
351  F_FADDP,
352  F_FBLD,
353  F_FBSTP,
354  F_FCHS,
355  F_FCLEX,
356  F_FNCLEX,
357  F_FCMOVB,
358  F_FCMOVE,
359  F_FCMOVBE,
360  F_FCMOVU,
361  F_FCMOVNB,
362  F_FCMOVNE,
363  F_FCMOVNBE,
364  F_FCMOVNU,
365  F_FCOS,
366  F_FCOM,
367  F_FCOMP,
368  F_FCOMPP,
369  F_FCOMI,
370  F_FCOMIP,
371  F_FUCOMI,
372  F_FUCOMIP,
373  F_FDECSTP,
374  F_FDIV,
375  F_FDIVP,
376  F_FIDIV,
377  F_FDIVR,
378  F_FDIVRP,
379  F_FIDIVR,
380  F_FFREE,
381  F_FICOM,
382  F_FICOMP,
383  F_FILD,
384  F_FINCSTP,
385  F_FINIT,
386  F_FNINIT,
387  F_FIST,
388  F_FISTP,
389  F_FLD,
390  F_FLD1,
391  F_FLDL2T,
392  F_FLDL2E,
393  F_FLDPI,
394  F_FLDLG2,
395  F_FLDLN2,
396  F_FLDZ,
397  F_FLDCW,
398  F_FLDENV,
399  F_FMUL,
400  F_FMULP,
401  F_FIMUL,
402  F_FNOP,
403  F_FPATAN,
404  F_FPREM,
405  F_FPREM1,
406  F_FPTAN,
407  F_FRNDINT,
408  F_FRSTOR,
409  F_FSAVE,
410  F_FNSAVE,
411  F_FSCALE,
412  F_FSIN,
413  F_FSINCOS,
414  F_FSQRT,
415  F_FST,
416  F_FSTP,
417  F_FSTCW,
418  F_FNSTCW,
419  F_FSTENV,
420  F_FNSTENV,
421  F_FSTSW,
422  F_FNSTSW,
423  F_FSUB,
424  F_FSUBP,
425  F_FISUB,
426  F_FSUBR,
427  F_FSUBRP,
428  F_FISUBR,
429  F_FTST,
430  F_FUCOM,
431  F_FUCOMP,
432  F_FUCOMPP,
433  F_FXAM,
434  F_FXCH,
435  F_FXRSTOR,
436  F_FXRSTOR64,
437  F_FXSAVE,
438  F_FXSAVE64,
439  F_FXTRACT,
440  F_FYL2X,
441  F_FYL2XP1,
442  F_FEMMS,
443  F_FISTTP,
444  F_GETSEC,
445  F_HADDPD,
446  F_VHADDPD,
447  F_HADDPS,
448  F_VHADDPS,
449  F_HLT,
450  F_HSUBPD,
451  F_VHSUBPD,
452  F_HSUBPS,
453  F_VHSUBPS,
454  F_INVEPT,
455  F_INVVPID,
456  F_IDIV,
457  F_IMUL,
458  F_IN,
459  F_INC,
460  F_INS,
461  F_INSERTPS,
462  F_VINSERTPS,
463  F_VEXTRACTF128,
464  F_VINSERTF128,
465  F_INSERTQ,
466  F_INT3,
467  F_INT,
468  F_INTO,
469  F_INVD,
470  F_INVLPG,
471  F_INVLPGA,
472  F_INVPCID,
473  F_IRET,
474  F_JCXZ,
475  F_JECXZ = F_JCXZ,
476  F_JRCXZ = F_JCXZ,
477  F_JMP,
478  F_LAR,
479  F_LAHF,
480  F_LDDQU,
481  F_VLDDQU,
482  F_LDMXCSR,
483  F_VLDMXCSR,
484  F_LDS,
485  F_LSS,
486  F_LES,
487  F_LFS,
488  F_LGS,
489  F_LEA,
490  F_LEAVE,
491  F_LFENCE,
492  F_LLWPCB,
493  F_LGDT,
494  F_LIDT,
495  F_LLDT,
496  F_LMSW,
497  F_LODS,
498  F_LOOP,
499  F_LOOPE,
500  F_LOOPNE,
501  F_LWPINS,
502  F_LWPVAL,
503  F_LSL,
504  F_LTR,
505  F_LZCNT,
506  F_MASKMOVDQU,
507  F_VMASKMOVDQU,
508  F_MASKMOVQ,
509  F_VMASKMOVPS,
510  F_VMASKMOVPD,
511  F_VPMASKMOVD,
512  F_VPMASKMOV,
513  F_VPMASKMOVQ,
514  F_MAXPD,
515  F_VMAXPD,
516  F_MAXPS,
517  F_VMAXPS,
518  F_MAXSD,
519  F_VMAXSD,
520  F_MAXSS,
521  F_VMAXSS,
522  F_MFENCE,
523  F_MINPD,
524  F_VMINPD,
525  F_MINPS,
526  F_VMINPS,
527  F_MINSD,
528  F_VMINSD,
529  F_MINSS,
530  F_VMINSS,
531  F_MONITOR,
532  F_MOVAPD,
533  F_VMOVAPD,
534  F_MOVAPS,
535  F_VMOVAPS,
536  F_MOVBE,
537  F_MOV,
538  F_MOVD,
539  F_VMOVD,
540  F_MOVQ,
541  F_VMOVQ,
542  F_MOVDDUP,
543  F_VMOVDDUP,
544  F_MOVDQA,
545  F_VMOVDQA,
546  F_MOVDQU,
547  F_VMOVDQU,
548  F_MOVDQ2Q,
549  F_MOVHLPS,
550  F_VMOVHLPS,
551  F_MOVHPD,
552  F_VMOVHPD,
553  F_MOVHPS,
554  F_VMOVHPS,
555  F_MOVLHPS,
556  F_VMOVLHPS,
557  F_MOVLPD,
558  F_VMOVLPD,
559  F_MOVLPS,
560  F_VMOVLPS,
561  F_MOVMSKPD,
562  F_VMOVMSKPD,
563  F_MOVMSKPS,
564  F_VMOVMSKPS,
565  F_MOVNTDQA,
566  F_VMOVNTDQA,
567  F_MOVNTDQ,
568  F_VMOVNTDQ,
569  F_MOVS,
570  F_MOVNTI,
571  F_MOVNTPD,
572  F_VMOVNTPD,
573  F_MOVNTPS,
574  F_VMOVNTPS,
575  F_MOVNTSD,
576  F_MOVNTSS,
577  F_MOVNTQ,
578  F_MOVQ2DQ,
579  F_MOVSD,
580  F_VMOVSD,
581  F_MOVSHDUP,
582  F_VMOVSHDUP,
583  F_MOVSLDUP,
584  F_VMOVSLDUP,
585  F_MOVSS,
586  F_VMOVSS,
587  F_MOVSX,
588  F_MOVSXD,
589  F_MOVUPD,
590  F_VMOVUPD,
591  F_MOVUPS,
592  F_VMOVUPS,
593  F_MOVZX,
594  F_MPSADBW,
595  F_VMPSADBW,
596  F_MUL,
597  F_MULPD,
598  F_VMULPD,
599  F_MULPS,
600  F_VMULPS,
601  F_MULSD,
602  F_VMULSD,
603  F_MULSS,
604  F_VMULSS,
605  F_MWAIT,
606  F_NEG,
607  F_NOP,
608  F_NOT,
609  F_OR,
610  F_ORPD,
611  F_VORPD,
612  F_ORPS,
613  F_VORPS,
614  F_OUT,
615  F_OUTS,
616  F_PABSW,
617  F_PABSB,
618  F_PABSD,
619  F_VPABSB,
620  F_VPABSW,
621  F_VPABSD,
622  F_VPACKSSWB,
623  F_PACKSSWB,
624  F_VPACKSSDW,
625  F_PACKSSDW,
626  F_PACKUSDW,
627  F_VPACKUSDW,
628  F_PACKUSWB,
629  F_VPACKUSWB,
630  F_VPADDW,
631  F_PADDW,
632  F_VPADDB,
633  F_VPADDD,
634  F_PADDB,
635  F_PADDD,
636  F_VPADDSW,
637  F_PADDSB,
638  F_PADDSW,
639  F_VPADDSB,
640  F_PADDUSW,
641  F_PADDUSB,
642  F_VPADDUSW,
643  F_PADDQ,
644  F_VPADDUSB,
645  F_VPADDQ,
646  F_POP,
647  F_PUSH,
648  F_POPA,
649  F_POPAD,
650  F_POPF,
651  F_POPFQ,
652  F_POPFD,
653  F_PUSHA,
654  F_PUSHF,
655  F_PUSHAD,
656  F_PUSHFQ,
657  F_PUSHFD,
658  F_PAVGUSB,
659  F_PF2ID,
660  F_PFACC,
661  F_PFADD,
662  F_PFCMPEQ,
663  F_PFCMPGE,
664  F_PFCMPGT,
665  F_PFMAX,
666  F_PFMIN,
667  F_PFMUL,
668  F_PFRCP,
669  F_PFRCPIT1,
670  F_PFRCPIT2,
671  F_PFRSQIT1,
672  F_PFRSQRT,
673  F_PFSUB,
674  F_PFSUBR,
675  F_PI2FD,
676  F_PMULHRW,
677  F_PF2IW,
678  F_PFNACC,
679  F_PFPNACC,
680  F_PI2FW,
681  F_PSWAPD,
682  F_PALIGNR,
683  F_VPALIGNR,
684  F_PAND,
685  F_VPAND,
686  F_PANDN,
687  F_VPANDN,
688  F_PAUSE,
689  F_PAVGW,
690  F_PAVGB,
691  F_VPAVGW,
692  F_VPAVGB,
693  F_PBLENDVB,
694  F_VPBLENDVB,
695  F_PBLENDW,
696  F_VPBLENDW,
697  F_VPBLENDD,
698  F_PCLMULQDQ,
699  F_VPCLMULQDQ,
700  F_PCMPEQW,
701  F_PCMPEQB,
702  F_PCMPEQD,
703  F_VPCMPEQD,
704  F_VPCMPEQW,
705  F_VPCMPEQB,
706  F_PCMPEQQ,
707  F_VPCMPEQQ,
708  F_PCMPESTRI,
709  F_VPCMPESTRI,
710  F_PCMPESTRM,
711  F_VPCMPESTRM,
712  F_PCMPGTW,
713  F_PCMPGTD,
714  F_PCMPGTB,
715  F_VPCMPGTW,
716  F_VPCMPGTD,
717  F_VPCMPGTB,
718  F_PCMPGTQ,
719  F_VPCMPGTQ,
720  F_PCMPISTRI,
721  F_VPCMPISTRI,
722  F_PCMPISTRM,
723  F_VPCMPISTRM,
724  F_VPEXTRB,
725  F_VPEXTRQ,
726  F_PEXTRQ,
727  F_PEXTRB,
728  F_PEXTRD,
729  F_VPEXTRD,
730  F_PEXTRW,
731  F_VPEXTRW,
732  F_VPHADDW,
733  F_VPHADDD,
734  F_PHADDD,
735  F_PHADDW,
736  F_PHADDSW,
737  F_VPHADDSW,
738  F_PHMINPOSUW,
739  F_VPHMINPOSUW,
740  F_PHSUBD,
741  F_PHSUBW,
742  F_VPHSUBD,
743  F_VPHSUBW,
744  F_PHSUBSW,
745  F_VPHSUBSW,
746  F_PINSRD,
747  F_VPINSRQ,
748  F_PINSRQ,
749  F_PINSRB,
750  F_VPINSRD,
751  F_VPINSRB,
752  F_PINSRW,
753  F_VPINSRW,
754  F_PMADDUBSW,
755  F_VPMADDUBSW,
756  F_PMADDWD,
757  F_VPMADDWD,
758  F_PMAXSB,
759  F_VPMAXSB,
760  F_PMAXSD,
761  F_VPMAXSD,
762  F_PMAXSW,
763  F_VPMAXSW,
764  F_PMAXUB,
765  F_VPMAXUB,
766  F_PMAXUD,
767  F_VPMAXUD,
768  F_PMAXUW,
769  F_VPMAXUW,
770  F_PMINSB,
771  F_VPMINSB,
772  F_PMINSD,
773  F_VPMINSD,
774  F_PMINSW,
775  F_VPMINSW,
776  F_PMINUW,
777  F_VPMINUW,
778  F_PMINUB,
779  F_VPMINUB,
780  F_PMINUD,
781  F_VPMINUD,
782  F_PMOVMSKB,
783  F_VPMOVMSKB,
784  F_VPMOVSXBQ,
785  F_PMOVSXBW,
786  F_PMOVSXWQ,
787  F_VPMOVSXWQ,
788  F_PMOVSXWD,
789  F_PMOVSXBD,
790  F_VPMOVSXDQ,
791  F_VPMOVSXWD,
792  F_PMOVSXBQ,
793  F_VPMOVSXBW,
794  F_PMOVSXDQ,
795  F_VPMOVSXBD,
796  F_PMOVZXWD,
797  F_PMOVZXDQ,
798  F_VPMOVZXDQ,
799  F_PMOVZXWQ,
800  F_VPMOVZXBQ,
801  F_PMOVZXBQ,
802  F_VPMOVZXWD,
803  F_VPMOVZXBD,
804  F_VPMOVZXWQ,
805  F_PMOVZXBD,
806  F_VPMOVZXBW,
807  F_PMOVZXBW,
808  F_PMULDQ,
809  F_PMULHRSW,
810  F_PMULHUW,
811  F_VPMULDQ,
812  F_VPMULHRSW,
813  F_VPMULHUW,
814  F_PMULHW,
815  F_VPMULHW,
816  F_PMULUDQ,
817  F_VPMULUDQ,
818  F_PMULLW,
819  F_PMULLD,
820  F_VPMULLD,
821  F_VPMULLW,
822  F_POPCNT,
823  F_POR,
824  F_VPOR,
825  F_PREFETCHT2,
826  F_PREFETCHW,
827  F_PREFETCHT1,
828  F_PREFETCHNTA,
829  F_PREFETCHT0,
830  F_PSADBW,
831  F_VPSADBW,
832  F_PSHUFB,
833  F_PSHUFD,
834  F_PSHUFHW,
835  F_VPSHUFD,
836  F_VPSHUFB,
837  F_PSHUFLW,
838  F_PSHUFW,
839  F_VPSHUFLW,
840  F_VPSHUFHW,
841  F_VPSIGNB,
842  F_VPSIGND,
843  F_PSIGNW,
844  F_PSIGNB,
845  F_VPSIGNW,
846  F_PSIGND,
847  F_PSLLDQ,
848  F_VPSLLDQ,
849  F_PSLLQ,
850  F_PSLLD,
851  F_VPSLLW,
852  F_VPSLLQ,
853  F_PSLLW,
854  F_VPSLLD,
855  F_VPSRAW,
856  F_PSRAD,
857  F_PSRAW,
858  F_VPSRAD,
859  F_PSRLDQ,
860  F_VPSRLDQ,
861  F_VPSRLQ,
862  F_PSRLQ,
863  F_PSRLD,
864  F_PSRLW,
865  F_VPSRLD,
866  F_VPSRLW,
867  F_VPSUBD,
868  F_PSUBD,
869  F_PSUBW,
870  F_VPSUBB,
871  F_VPSUBQ,
872  F_PSUBB,
873  F_VPSUBW,
874  F_PSUBQ,
875  F_PSUBSB,
876  F_VPSUBSW,
877  F_VPSUBSB,
878  F_PSUBSW,
879  F_VPSUBUSW,
880  F_VPSUBUSB,
881  F_PSUBUSB,
882  F_PSUBUSW,
883  F_VPTEST,
884  F_PTEST,
885  F_PUNPCKLBW,
886  F_PUNPCKLQDQ,
887  F_VPUNPCKLWD,
888  F_VPUNPCKLQDQ,
889  F_VPUNPCKLBW,
890  F_PUNPCKLWD,
891  F_PUNPCKLDQ,
892  F_VPUNPCKLDQ,
893  F_VPUNPCKHWD,
894  F_PUNPCKHDQ,
895  F_PUNPCKHWD,
896  F_PUNPCKHQDQ,
897  F_VPUNPCKHQDQ,
898  F_VPUNPCKHBW,
899  F_PUNPCKHBW,
900  F_VPUNPCKHDQ,
901  F_PXOR,
902  F_VPXOR,
903  F_PREFETCH,
904  F_RCL,
905  F_RCR,
906  F_ROL,
907  F_ROR,
908  F_RET,
909  F_RETF,
910  F_RCPPS,
911  F_VRCPPS,
912  F_RCPSS,
913  F_VRCPSS,
914  F_RDFSBASE,
915  F_RDGSBASE,
916  F_RDRAND,
917  F_RDTSCP,
918  F_RDTSC,
919  F_RDPMC,
920  F_RDMSR,
921  F_ROUNDPD,
922  F_VROUNDPD,
923  F_ROUNDPS,
924  F_VROUNDPS,
925  F_ROUNDSD,
926  F_VROUNDSD,
927  F_ROUNDSS,
928  F_VROUNDSS,
929  F_RSM,
930  F_RSQRTPS,
931  F_VRSQRTPS,
932  F_RSQRTSS,
933  F_VRSQRTSS,
934  F_SAHF,
935  F_SAR,
936  F_SAL,
937  F_SHL = F_SAL,
938  F_SHR,
939  F_SBB,
940  F_SCAS,
941  F_SET,
942  F_STOS,
943  F_SUB,
944  F_SFENCE,
945  F_SGDT,
946  F_SHLD,
947  F_SHRD,
948  F_SKINIT,
949  F_SLWPCB,
950  F_SHUFPD,
951  F_VSHUFPD,
952  F_SHUFPS,
953  F_VSHUFPS,
954  F_SIDT,
955  F_SLDT,
956  F_SMSW,
957  F_SQRTPD,
958  F_VSQRTPD,
959  F_SQRTPS,
960  F_VSQRTPS,
961  F_SQRTSD,
962  F_VSQRTSD,
963  F_SQRTSS,
964  F_VSQRTSS,
965  F_STC,
966  F_STD,
967  F_STGI,
968  F_STI,
969  F_STMXCSR,
970  F_VSTMXCSR,
971  F_STR,
972  F_SUBPD,
973  F_VSUBPD,
974  F_SUBPS,
975  F_VSUBPS,
976  F_SUBSD,
977  F_VSUBSD,
978  F_SUBSS,
979  F_VSUBSS,
980  F_SWAPGS,
981  F_SYSCALL,
982  F_SYSENTER,
983  F_SYSEXIT,
984  F_SYSRET,
985  F_TEST,
986  F_T1MSKC,
987  F_UCOMISD,
988  F_VUCOMISD,
989  F_UCOMISS,
990  F_VUCOMISS,
991  F_UD2,
992  F_UNPCKHPD,
993  F_VUNPCKHPD,
994  F_UNPCKHPS,
995  F_VUNPCKHPS,
996  F_UNPCKLPD,
997  F_VUNPCKLPD,
998  F_UNPCKLPS,
999  F_VUNPCKLPS,
1000  F_VMLOAD,
1001  F_VMRUN,
1002  F_VMSAVE,
1003  F_VFRCZPD,
1004  F_VFRCZPS,
1005  F_VFRCZSD,
1006  F_VFRCZSS,
1007  F_VPCMOV,
1008  F_VPERMIL2PD,
1009  F_VPERMIL2PS,
1010  F_VPHADDBD,
1011  F_VPHADDBW,
1012  F_VPHADDBQ,
1013  F_VPHADDDQ,
1014  F_VPHADDUBD,
1015  F_VPHADDUBQ,
1016  F_VPHADDUBW,
1017  F_VPHADDUDQ,
1018  F_VPHADDUWD,
1019  F_VPHADDUWQ,
1020  F_VPHADDWD,
1021  F_VPHADDWQ,
1022  F_VPHSUBBW,
1023  F_VPHSUBDQ,
1024  F_VPHSUBWD,
1025  F_VPMACSDD,
1026  F_VPMACSDQH,
1027  F_VPMACSDQL,
1028  F_VPMACSSDD,
1029  F_VPMACSSDQH,
1030  F_VPMACSSDQL,
1031  F_VPMACSSWD,
1032  F_VPMACSSWW,
1033  F_VPMACSWD,
1034  F_VPMACSWW,
1035  F_VPMADCSSWD,
1036  F_VPMADCSWD,
1037  F_VPPERM,
1038  F_VPROTD,
1039  F_VPROTB,
1040  F_VPROTQ,
1041  F_VPROTW,
1042  F_VPSHAB,
1043  F_VPSHAD,
1044  F_VPSHAQ,
1045  F_VPSHAW,
1046  F_VPSHLB,
1047  F_VPSHLD,
1048  F_VPSHLQ,
1049  F_VPSHLW,
1050  F_VFMADD213PD,
1051  F_VFMADDPD,
1052  F_VFMADD132PD,
1053  F_VFMADD231PD,
1054  F_VFMADDPS,
1055  F_VFMADD231PS,
1056  F_VFMADD132PS,
1057  F_VFMADD213PS,
1058  F_VFMADD132SD,
1059  F_VFMADD213SD,
1060  F_VFMADDSD,
1061  F_VFMADD231SD,
1062  F_VFMADD132SS,
1063  F_VFMADD213SS,
1064  F_VFMADDSS,
1065  F_VFMADD231SS,
1066  F_VFMADDSUB132PD,
1067  F_VFMADDSUB213PD,
1068  F_VFMADDSUBPD,
1069  F_VFMADDSUB231PD,
1070  F_VFMADDSUB231PS,
1071  F_VFMADDSUBPS,
1072  F_VFMADDSUB132PS,
1073  F_VFMADDSUB213PS,
1074  F_VFMSUBADDPD,
1075  F_VFMSUBADD213PD,
1076  F_VFMSUBADD132PD,
1077  F_VFMSUBADD231PD,
1078  F_VFMSUBADDPS,
1079  F_VFMSUBADD213PS,
1080  F_VFMSUBADD132PS,
1081  F_VFMSUBADD231PS,
1082  F_VFMSUB213PD,
1083  F_VFMSUBPD,
1084  F_VFMSUB132PD,
1085  F_VFMSUB231PD,
1086  F_VFMSUB213PS,
1087  F_VFMSUBPS,
1088  F_VFMSUB132PS,
1089  F_VFMSUB231PS,
1090  F_VFMSUBSD,
1091  F_VFMSUB231SD,
1092  F_VFMSUB132SD,
1093  F_VFMSUB213SD,
1094  F_VFMSUB231SS,
1095  F_VFMSUB213SS,
1096  F_VFMSUB132SS,
1097  F_VFMSUBSS,
1098  F_VFNMADD231PD,
1099  F_VFNMADDPD,
1100  F_VFNMADD132PD,
1101  F_VFNMADD213PD,
1102  F_VFNMADD231PS,
1103  F_VFNMADD132PS,
1104  F_VFNMADD213PS,
1105  F_VFNMADDPS,
1106  F_VFNMADD213SD,
1107  F_VFNMADDSD,
1108  F_VFNMADD231SD,
1109  F_VFNMADD132SD,
1110  F_VFNMADD213SS,
1111  F_VFNMADDSS,
1112  F_VFNMADD231SS,
1113  F_VFNMADD132SS,
1114  F_VFNMSUB132PD,
1115  F_VFNMSUB213PD,
1116  F_VFNMSUB231PD,
1117  F_VFNMSUBPD,
1118  F_VFNMSUBPS,
1119  F_VFNMSUB213PS,
1120  F_VFNMSUB132PS,
1121  F_VFNMSUB231PS,
1122  F_VFNMSUBSD,
1123  F_VFNMSUB231SD,
1124  F_VFNMSUB213SD,
1125  F_VFNMSUB132SD,
1126  F_VFNMSUBSS,
1127  F_VFNMSUB132SS,
1128  F_VFNMSUB213SS,
1129  F_VFNMSUB231SS,
1130  F_BEXTR,
1131  F_VPBROADCASTW,
1132  F_VPBROADCASTB,
1133  F_VPBROADCASTD,
1134  F_VPBROADCASTQ,
1135  F_VMPTRLD,
1136  F_VMPTRST,
1137  F_VMCLEAR,
1138  F_VMREAD,
1139  F_VMWRITE,
1140  F_VMLAUNCH,
1141  F_VMRESUME,
1142  F_VMXOFF,
1143  F_VMXON,
1144  F_VMCALL,
1145  F_VMFUNC,
1146  F_VBROADCASTSD,
1147  F_VBROADCASTSS,
1148  F_VBROADCASTI128,
1149  F_VBROADCASTF128,
1150  F_VCVTPH2PS,
1151  F_VCVTPS2PH,
1152  F_VERR,
1153  F_VERW,
1154  F_VMMCALL,
1155  F_VPERMILPD,
1156  F_VPERMILPS,
1157  F_VPSLLVQ,
1158  F_VPERM2F128,
1159  F_VPERM2I128,
1160  F_VEXTRACTI128,
1161  F_VINSERTI128,
1162  F_VPSRAVD,
1163  F_VPERMD,
1164  F_VPSLLVD,
1165  F_VPSRLVD,
1166  F_VPSRLVQ,
1167  F_VPERMPD,
1168  F_VPERMQ,
1169  F_VPERMPS,
1170  F_VTESTPS,
1171  F_VTESTPD,
1172  F_VGATHERDPD,
1173  F_VGATHERQPD,
1174  F_VGATHERDPS,
1175  F_VGATHERQPS,
1176  F_VPGATHERDD,
1177  F_VPGATHERQD,
1178  F_VPGATHERDQ,
1179  F_VPGATHERQQ,
1180  F_VZEROALL,
1181  F_VZEROUPPER,
1182  F_VPCOMB,
1183  F_VPCOMW,
1184  F_VPCOMD,
1185  F_VPCOMQ,
1186  F_VPCOMUB,
1187  F_VPCOMUW,
1188  F_VPCOMUD,
1189  F_VPCOMUQ,
1190  F_WAIT,
1191  F_FWAIT = F_WAIT,
1192  F_WBINVD,
1193  F_WRFSBASE,
1194  F_WRGSBASE,
1195  F_WRMSR,
1196  F_XLAT,
1197  F_XOR,
1198  F_XADD,
1199  F_XCHG,
1200  F_XGETBV,
1201  F_XORPD,
1202  F_VXORPD,
1203  F_XORPS,
1204  F_VXORPS,
1205  F_XRSTOR,
1206  F_XRSTOR64,
1207  F_XSAVE,
1208  F_XSAVE64,
1209  F_XSAVEOPT,
1210  F_XSAVEOPT64,
1211  F_XSETBV,
1212  F_MULX,
1213  F_PDEP,
1214  F_PEXT,
1215  F_RORX,
1216  F_SHLX,
1217  F_SHRX,
1218  F_SARX,
1219  F_TZCNT,
1220  F_TZMSK,
1221  F_XABORT,
1222  F_XBEGIN,
1223  F_XEND,
1224  F_XTEST,
1225  F_RDSEED,
1226  F_CLAC,
1227  F_STAC
1229 
1244 
1247 #endif /* FCML_INSTRUCTIONS_H_ */
fcml_en_instruction
Instruction codes.
Definition: fcml_instructions.h:181
fcml_en_instruction_addr_mode_codes
Instruction forms.
Definition: fcml_instructions.h:96
fcml_en_pseudo_operations
Pseudo operations.
Definition: fcml_instructions.h:1238
db / .byte
Definition: fcml_instructions.h:1242
Set if there is no pseudo operation.
Definition: fcml_instructions.h:1240