blob: 82391244ae005e525aede0b27f33b06a5282302d [file] [log] [blame]
/* **********************************************************
* Copyright (c) 2011-2014 Google, Inc. All rights reserved.
* Copyright (c) 2000-2010 VMware, Inc. All rights reserved.
* **********************************************************/
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of VMware, Inc. nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*/
/* Copyright (c) 2003-2007 Determina Corp. */
/* Copyright (c) 2001-2003 Massachusetts Institute of Technology */
/* Copyright (c) 2000-2001 Hewlett-Packard Company */
/* file "opcode.h" -- opcode definitions and utilities */
#ifndef _OPCODE_H_
#define _OPCODE_H_ 1
/* DR_API EXPORT TOFILE dr_ir_opcodes_x86.h */
/* DR_API EXPORT BEGIN */
/****************************************************************************
* OPCODES
*/
/**
* @file dr_ir_opcodes_x86.h
* @brief Instruction opcode constants for IA-32 and AMD64.
*/
#ifdef AVOID_API_EXPORT
/*
* This enum corresponds with the array in decode_table.c
* IF YOU CHANGE ONE YOU MUST CHANGE THE OTHER
* The Perl script tools/x86opnums.pl is useful for re-numbering these
* if you add or delete in the middle (feed it the array from decode_table.c).
* When adding new instructions, be sure to update all of these places:
* 1) decode_table op_instr array
* 2) decode_table decoding table entries
* 3) OP_ enum (here) via x86opnums.pl
* 4) update OP_LAST at end of enum here
* 5) decode_fast tables if necessary (they are conservative)
* 6) instr_create macros
* 7) suite/tests/api/ir* tests
*/
#endif
/** Opcode constants for use in the instr_t data structure. */
enum {
/* 0 */ OP_INVALID, /* NULL, */ /**< INVALID opcode */
/* 1 */ OP_UNDECODED, /* NULL, */ /**< UNDECODED opcode */
/* 2 */ OP_CONTD, /* NULL, */ /**< CONTD opcode */
/* 3 */ OP_LABEL, /* NULL, */ /**< LABEL opcode */
/* 4 */ OP_add, /**< IA-32/AMD64 add opcode. */
/* 5 */ OP_or, /**< IA-32/AMD64 or opcode. */
/* 6 */ OP_adc, /**< IA-32/AMD64 adc opcode. */
/* 7 */ OP_sbb, /**< IA-32/AMD64 sbb opcode. */
/* 8 */ OP_and, /**< IA-32/AMD64 and opcode. */
/* 9 */ OP_daa, /**< IA-32/AMD64 daa opcode. */
/* 10 */ OP_sub, /**< IA-32/AMD64 sub opcode. */
/* 11 */ OP_das, /**< IA-32/AMD64 das opcode. */
/* 12 */ OP_xor, /**< IA-32/AMD64 xor opcode. */
/* 13 */ OP_aaa, /**< IA-32/AMD64 aaa opcode. */
/* 14 */ OP_cmp, /**< IA-32/AMD64 cmp opcode. */
/* 15 */ OP_aas, /**< IA-32/AMD64 aas opcode. */
/* 16 */ OP_inc, /**< IA-32/AMD64 inc opcode. */
/* 17 */ OP_dec, /**< IA-32/AMD64 dec opcode. */
/* 18 */ OP_push, /**< IA-32/AMD64 push opcode. */
/* 19 */ OP_push_imm, /**< IA-32/AMD64 push_imm opcode. */
/* 20 */ OP_pop, /**< IA-32/AMD64 pop opcode. */
/* 21 */ OP_pusha, /**< IA-32/AMD64 pusha opcode. */
/* 22 */ OP_popa, /**< IA-32/AMD64 popa opcode. */
/* 23 */ OP_bound, /**< IA-32/AMD64 bound opcode. */
/* 24 */ OP_arpl, /**< IA-32/AMD64 arpl opcode. */
/* 25 */ OP_imul, /**< IA-32/AMD64 imul opcode. */
/* 26 */ OP_jo_short, /**< IA-32/AMD64 jo_short opcode. */
/* 27 */ OP_jno_short, /**< IA-32/AMD64 jno_short opcode. */
/* 28 */ OP_jb_short, /**< IA-32/AMD64 jb_short opcode. */
/* 29 */ OP_jnb_short, /**< IA-32/AMD64 jnb_short opcode. */
/* 30 */ OP_jz_short, /**< IA-32/AMD64 jz_short opcode. */
/* 31 */ OP_jnz_short, /**< IA-32/AMD64 jnz_short opcode. */
/* 32 */ OP_jbe_short, /**< IA-32/AMD64 jbe_short opcode. */
/* 33 */ OP_jnbe_short, /**< IA-32/AMD64 jnbe_short opcode. */
/* 34 */ OP_js_short, /**< IA-32/AMD64 js_short opcode. */
/* 35 */ OP_jns_short, /**< IA-32/AMD64 jns_short opcode. */
/* 36 */ OP_jp_short, /**< IA-32/AMD64 jp_short opcode. */
/* 37 */ OP_jnp_short, /**< IA-32/AMD64 jnp_short opcode. */
/* 38 */ OP_jl_short, /**< IA-32/AMD64 jl_short opcode. */
/* 39 */ OP_jnl_short, /**< IA-32/AMD64 jnl_short opcode. */
/* 40 */ OP_jle_short, /**< IA-32/AMD64 jle_short opcode. */
/* 41 */ OP_jnle_short, /**< IA-32/AMD64 jnle_short opcode. */
/* 42 */ OP_call, /**< IA-32/AMD64 call opcode. */
/* 43 */ OP_call_ind, /**< IA-32/AMD64 call_ind opcode. */
/* 44 */ OP_call_far, /**< IA-32/AMD64 call_far opcode. */
/* 45 */ OP_call_far_ind, /**< IA-32/AMD64 call_far_ind opcode. */
/* 46 */ OP_jmp, /**< IA-32/AMD64 jmp opcode. */
/* 47 */ OP_jmp_short, /**< IA-32/AMD64 jmp_short opcode. */
/* 48 */ OP_jmp_ind, /**< IA-32/AMD64 jmp_ind opcode. */
/* 49 */ OP_jmp_far, /**< IA-32/AMD64 jmp_far opcode. */
/* 50 */ OP_jmp_far_ind, /**< IA-32/AMD64 jmp_far_ind opcode. */
/* 51 */ OP_loopne, /**< IA-32/AMD64 loopne opcode. */
/* 52 */ OP_loope, /**< IA-32/AMD64 loope opcode. */
/* 53 */ OP_loop, /**< IA-32/AMD64 loop opcode. */
/* 54 */ OP_jecxz, /**< IA-32/AMD64 jecxz opcode. */
/* point ld & st at eAX & al instrs, they save 1 byte (no modrm),
* hopefully time taken considering them doesn't offset that */
/* 55 */ OP_mov_ld, /**< IA-32/AMD64 mov_ld opcode. */
/* 56 */ OP_mov_st, /**< IA-32/AMD64 mov_st opcode. */
/* PR 250397: store of immed is mov_st not mov_imm, even though can be immed->reg,
* which we address by sharing part of the mov_st template chain */
/* 57 */ OP_mov_imm, /**< IA-32/AMD64 mov_imm opcode. */
/* 58 */ OP_mov_seg, /**< IA-32/AMD64 mov_seg opcode. */
/* 59 */ OP_mov_priv, /**< IA-32/AMD64 mov_priv opcode. */
/* 60 */ OP_test, /**< IA-32/AMD64 test opcode. */
/* 61 */ OP_lea, /**< IA-32/AMD64 lea opcode. */
/* 62 */ OP_xchg, /**< IA-32/AMD64 xchg opcode. */
/* 63 */ OP_cwde, /**< IA-32/AMD64 cwde opcode. */
/* 64 */ OP_cdq, /**< IA-32/AMD64 cdq opcode. */
/* 65 */ OP_fwait, /**< IA-32/AMD64 fwait opcode. */
/* 66 */ OP_pushf, /**< IA-32/AMD64 pushf opcode. */
/* 67 */ OP_popf, /**< IA-32/AMD64 popf opcode. */
/* 68 */ OP_sahf, /**< IA-32/AMD64 sahf opcode. */
/* 69 */ OP_lahf, /**< IA-32/AMD64 lahf opcode. */
/* 70 */ OP_ret, /**< IA-32/AMD64 ret opcode. */
/* 71 */ OP_ret_far, /**< IA-32/AMD64 ret_far opcode. */
/* 72 */ OP_les, /**< IA-32/AMD64 les opcode. */
/* 73 */ OP_lds, /**< IA-32/AMD64 lds opcode. */
/* 74 */ OP_enter, /**< IA-32/AMD64 enter opcode. */
/* 75 */ OP_leave, /**< IA-32/AMD64 leave opcode. */
/* 76 */ OP_int3, /**< IA-32/AMD64 int3 opcode. */
/* 77 */ OP_int, /**< IA-32/AMD64 int opcode. */
/* 78 */ OP_into, /**< IA-32/AMD64 into opcode. */
/* 79 */ OP_iret, /**< IA-32/AMD64 iret opcode. */
/* 80 */ OP_aam, /**< IA-32/AMD64 aam opcode. */
/* 81 */ OP_aad, /**< IA-32/AMD64 aad opcode. */
/* 82 */ OP_xlat, /**< IA-32/AMD64 xlat opcode. */
/* 83 */ OP_in, /**< IA-32/AMD64 in opcode. */
/* 84 */ OP_out, /**< IA-32/AMD64 out opcode. */
/* 85 */ OP_hlt, /**< IA-32/AMD64 hlt opcode. */
/* 86 */ OP_cmc, /**< IA-32/AMD64 cmc opcode. */
/* 87 */ OP_clc, /**< IA-32/AMD64 clc opcode. */
/* 88 */ OP_stc, /**< IA-32/AMD64 stc opcode. */
/* 89 */ OP_cli, /**< IA-32/AMD64 cli opcode. */
/* 90 */ OP_sti, /**< IA-32/AMD64 sti opcode. */
/* 91 */ OP_cld, /**< IA-32/AMD64 cld opcode. */
/* 92 */ OP_std, /**< IA-32/AMD64 std opcode. */
/* 93 */ OP_lar, /**< IA-32/AMD64 lar opcode. */
/* 94 */ OP_lsl, /**< IA-32/AMD64 lsl opcode. */
/* 95 */ OP_syscall, /**< IA-32/AMD64 syscall opcode. */
/* 96 */ OP_clts, /**< IA-32/AMD64 clts opcode. */
/* 97 */ OP_sysret, /**< IA-32/AMD64 sysret opcode. */
/* 98 */ OP_invd, /**< IA-32/AMD64 invd opcode. */
/* 99 */ OP_wbinvd, /**< IA-32/AMD64 wbinvd opcode. */
/* 100 */ OP_ud2a, /**< IA-32/AMD64 ud2a opcode. */
/* 101 */ OP_nop_modrm, /**< IA-32/AMD64 nop_modrm opcode. */
/* 102 */ OP_movntps, /**< IA-32/AMD64 movntps opcode. */
/* 103 */ OP_movntpd, /**< IA-32/AMD64 movntpd opcode. */
/* 104 */ OP_wrmsr, /**< IA-32/AMD64 wrmsr opcode. */
/* 105 */ OP_rdtsc, /**< IA-32/AMD64 rdtsc opcode. */
/* 106 */ OP_rdmsr, /**< IA-32/AMD64 rdmsr opcode. */
/* 107 */ OP_rdpmc, /**< IA-32/AMD64 rdpmc opcode. */
/* 108 */ OP_sysenter, /**< IA-32/AMD64 sysenter opcode. */
/* 109 */ OP_sysexit, /**< IA-32/AMD64 sysexit opcode. */
/* 110 */ OP_cmovo, /**< IA-32/AMD64 cmovo opcode. */
/* 111 */ OP_cmovno, /**< IA-32/AMD64 cmovno opcode. */
/* 112 */ OP_cmovb, /**< IA-32/AMD64 cmovb opcode. */
/* 113 */ OP_cmovnb, /**< IA-32/AMD64 cmovnb opcode. */
/* 114 */ OP_cmovz, /**< IA-32/AMD64 cmovz opcode. */
/* 115 */ OP_cmovnz, /**< IA-32/AMD64 cmovnz opcode. */
/* 116 */ OP_cmovbe, /**< IA-32/AMD64 cmovbe opcode. */
/* 117 */ OP_cmovnbe, /**< IA-32/AMD64 cmovnbe opcode. */
/* 118 */ OP_cmovs, /**< IA-32/AMD64 cmovs opcode. */
/* 119 */ OP_cmovns, /**< IA-32/AMD64 cmovns opcode. */
/* 120 */ OP_cmovp, /**< IA-32/AMD64 cmovp opcode. */
/* 121 */ OP_cmovnp, /**< IA-32/AMD64 cmovnp opcode. */
/* 122 */ OP_cmovl, /**< IA-32/AMD64 cmovl opcode. */
/* 123 */ OP_cmovnl, /**< IA-32/AMD64 cmovnl opcode. */
/* 124 */ OP_cmovle, /**< IA-32/AMD64 cmovle opcode. */
/* 125 */ OP_cmovnle, /**< IA-32/AMD64 cmovnle opcode. */
/* 126 */ OP_punpcklbw, /**< IA-32/AMD64 punpcklbw opcode. */
/* 127 */ OP_punpcklwd, /**< IA-32/AMD64 punpcklwd opcode. */
/* 128 */ OP_punpckldq, /**< IA-32/AMD64 punpckldq opcode. */
/* 129 */ OP_packsswb, /**< IA-32/AMD64 packsswb opcode. */
/* 130 */ OP_pcmpgtb, /**< IA-32/AMD64 pcmpgtb opcode. */
/* 131 */ OP_pcmpgtw, /**< IA-32/AMD64 pcmpgtw opcode. */
/* 132 */ OP_pcmpgtd, /**< IA-32/AMD64 pcmpgtd opcode. */
/* 133 */ OP_packuswb, /**< IA-32/AMD64 packuswb opcode. */
/* 134 */ OP_punpckhbw, /**< IA-32/AMD64 punpckhbw opcode. */
/* 135 */ OP_punpckhwd, /**< IA-32/AMD64 punpckhwd opcode. */
/* 136 */ OP_punpckhdq, /**< IA-32/AMD64 punpckhdq opcode. */
/* 137 */ OP_packssdw, /**< IA-32/AMD64 packssdw opcode. */
/* 138 */ OP_punpcklqdq, /**< IA-32/AMD64 punpcklqdq opcode. */
/* 139 */ OP_punpckhqdq, /**< IA-32/AMD64 punpckhqdq opcode. */
/* 140 */ OP_movd, /**< IA-32/AMD64 movd opcode. */
/* 141 */ OP_movq, /**< IA-32/AMD64 movq opcode. */
/* 142 */ OP_movdqu, /**< IA-32/AMD64 movdqu opcode. */
/* 143 */ OP_movdqa, /**< IA-32/AMD64 movdqa opcode. */
/* 144 */ OP_pshufw, /**< IA-32/AMD64 pshufw opcode. */
/* 145 */ OP_pshufd, /**< IA-32/AMD64 pshufd opcode. */
/* 146 */ OP_pshufhw, /**< IA-32/AMD64 pshufhw opcode. */
/* 147 */ OP_pshuflw, /**< IA-32/AMD64 pshuflw opcode. */
/* 148 */ OP_pcmpeqb, /**< IA-32/AMD64 pcmpeqb opcode. */
/* 149 */ OP_pcmpeqw, /**< IA-32/AMD64 pcmpeqw opcode. */
/* 150 */ OP_pcmpeqd, /**< IA-32/AMD64 pcmpeqd opcode. */
/* 151 */ OP_emms, /**< IA-32/AMD64 emms opcode. */
/* 152 */ OP_jo, /**< IA-32/AMD64 jo opcode. */
/* 153 */ OP_jno, /**< IA-32/AMD64 jno opcode. */
/* 154 */ OP_jb, /**< IA-32/AMD64 jb opcode. */
/* 155 */ OP_jnb, /**< IA-32/AMD64 jnb opcode. */
/* 156 */ OP_jz, /**< IA-32/AMD64 jz opcode. */
/* 157 */ OP_jnz, /**< IA-32/AMD64 jnz opcode. */
/* 158 */ OP_jbe, /**< IA-32/AMD64 jbe opcode. */
/* 159 */ OP_jnbe, /**< IA-32/AMD64 jnbe opcode. */
/* 160 */ OP_js, /**< IA-32/AMD64 js opcode. */
/* 161 */ OP_jns, /**< IA-32/AMD64 jns opcode. */
/* 162 */ OP_jp, /**< IA-32/AMD64 jp opcode. */
/* 163 */ OP_jnp, /**< IA-32/AMD64 jnp opcode. */
/* 164 */ OP_jl, /**< IA-32/AMD64 jl opcode. */
/* 165 */ OP_jnl, /**< IA-32/AMD64 jnl opcode. */
/* 166 */ OP_jle, /**< IA-32/AMD64 jle opcode. */
/* 167 */ OP_jnle, /**< IA-32/AMD64 jnle opcode. */
/* 168 */ OP_seto, /**< IA-32/AMD64 seto opcode. */
/* 169 */ OP_setno, /**< IA-32/AMD64 setno opcode. */
/* 170 */ OP_setb, /**< IA-32/AMD64 setb opcode. */
/* 171 */ OP_setnb, /**< IA-32/AMD64 setnb opcode. */
/* 172 */ OP_setz, /**< IA-32/AMD64 setz opcode. */
/* 173 */ OP_setnz, /**< IA-32/AMD64 setnz opcode. */
/* 174 */ OP_setbe, /**< IA-32/AMD64 setbe opcode. */
/* 175 */ OP_setnbe, /**< IA-32/AMD64 setnbe opcode. */
/* 176 */ OP_sets, /**< IA-32/AMD64 sets opcode. */
/* 177 */ OP_setns, /**< IA-32/AMD64 setns opcode. */
/* 178 */ OP_setp, /**< IA-32/AMD64 setp opcode. */
/* 179 */ OP_setnp, /**< IA-32/AMD64 setnp opcode. */
/* 180 */ OP_setl, /**< IA-32/AMD64 setl opcode. */
/* 181 */ OP_setnl, /**< IA-32/AMD64 setnl opcode. */
/* 182 */ OP_setle, /**< IA-32/AMD64 setle opcode. */
/* 183 */ OP_setnle, /**< IA-32/AMD64 setnle opcode. */
/* 184 */ OP_cpuid, /**< IA-32/AMD64 cpuid opcode. */
/* 185 */ OP_bt, /**< IA-32/AMD64 bt opcode. */
/* 186 */ OP_shld, /**< IA-32/AMD64 shld opcode. */
/* 187 */ OP_rsm, /**< IA-32/AMD64 rsm opcode. */
/* 188 */ OP_bts, /**< IA-32/AMD64 bts opcode. */
/* 189 */ OP_shrd, /**< IA-32/AMD64 shrd opcode. */
/* 190 */ OP_cmpxchg, /**< IA-32/AMD64 cmpxchg opcode. */
/* 191 */ OP_lss, /**< IA-32/AMD64 lss opcode. */
/* 192 */ OP_btr, /**< IA-32/AMD64 btr opcode. */
/* 193 */ OP_lfs, /**< IA-32/AMD64 lfs opcode. */
/* 194 */ OP_lgs, /**< IA-32/AMD64 lgs opcode. */
/* 195 */ OP_movzx, /**< IA-32/AMD64 movzx opcode. */
/* 196 */ OP_ud2b, /**< IA-32/AMD64 ud2b opcode. */
/* 197 */ OP_btc, /**< IA-32/AMD64 btc opcode. */
/* 198 */ OP_bsf, /**< IA-32/AMD64 bsf opcode. */
/* 199 */ OP_bsr, /**< IA-32/AMD64 bsr opcode. */
/* 200 */ OP_movsx, /**< IA-32/AMD64 movsx opcode. */
/* 201 */ OP_xadd, /**< IA-32/AMD64 xadd opcode. */
/* 202 */ OP_movnti, /**< IA-32/AMD64 movnti opcode. */
/* 203 */ OP_pinsrw, /**< IA-32/AMD64 pinsrw opcode. */
/* 204 */ OP_pextrw, /**< IA-32/AMD64 pextrw opcode. */
/* 205 */ OP_bswap, /**< IA-32/AMD64 bswap opcode. */
/* 206 */ OP_psrlw, /**< IA-32/AMD64 psrlw opcode. */
/* 207 */ OP_psrld, /**< IA-32/AMD64 psrld opcode. */
/* 208 */ OP_psrlq, /**< IA-32/AMD64 psrlq opcode. */
/* 209 */ OP_paddq, /**< IA-32/AMD64 paddq opcode. */
/* 210 */ OP_pmullw, /**< IA-32/AMD64 pmullw opcode. */
/* 211 */ OP_pmovmskb, /**< IA-32/AMD64 pmovmskb opcode. */
/* 212 */ OP_psubusb, /**< IA-32/AMD64 psubusb opcode. */
/* 213 */ OP_psubusw, /**< IA-32/AMD64 psubusw opcode. */
/* 214 */ OP_pminub, /**< IA-32/AMD64 pminub opcode. */
/* 215 */ OP_pand, /**< IA-32/AMD64 pand opcode. */
/* 216 */ OP_paddusb, /**< IA-32/AMD64 paddusb opcode. */
/* 217 */ OP_paddusw, /**< IA-32/AMD64 paddusw opcode. */
/* 218 */ OP_pmaxub, /**< IA-32/AMD64 pmaxub opcode. */
/* 219 */ OP_pandn, /**< IA-32/AMD64 pandn opcode. */
/* 220 */ OP_pavgb, /**< IA-32/AMD64 pavgb opcode. */
/* 221 */ OP_psraw, /**< IA-32/AMD64 psraw opcode. */
/* 222 */ OP_psrad, /**< IA-32/AMD64 psrad opcode. */
/* 223 */ OP_pavgw, /**< IA-32/AMD64 pavgw opcode. */
/* 224 */ OP_pmulhuw, /**< IA-32/AMD64 pmulhuw opcode. */
/* 225 */ OP_pmulhw, /**< IA-32/AMD64 pmulhw opcode. */
/* 226 */ OP_movntq, /**< IA-32/AMD64 movntq opcode. */
/* 227 */ OP_movntdq, /**< IA-32/AMD64 movntdq opcode. */
/* 228 */ OP_psubsb, /**< IA-32/AMD64 psubsb opcode. */
/* 229 */ OP_psubsw, /**< IA-32/AMD64 psubsw opcode. */
/* 230 */ OP_pminsw, /**< IA-32/AMD64 pminsw opcode. */
/* 231 */ OP_por, /**< IA-32/AMD64 por opcode. */
/* 232 */ OP_paddsb, /**< IA-32/AMD64 paddsb opcode. */
/* 233 */ OP_paddsw, /**< IA-32/AMD64 paddsw opcode. */
/* 234 */ OP_pmaxsw, /**< IA-32/AMD64 pmaxsw opcode. */
/* 235 */ OP_pxor, /**< IA-32/AMD64 pxor opcode. */
/* 236 */ OP_psllw, /**< IA-32/AMD64 psllw opcode. */
/* 237 */ OP_pslld, /**< IA-32/AMD64 pslld opcode. */
/* 238 */ OP_psllq, /**< IA-32/AMD64 psllq opcode. */
/* 239 */ OP_pmuludq, /**< IA-32/AMD64 pmuludq opcode. */
/* 240 */ OP_pmaddwd, /**< IA-32/AMD64 pmaddwd opcode. */
/* 241 */ OP_psadbw, /**< IA-32/AMD64 psadbw opcode. */
/* 242 */ OP_maskmovq, /**< IA-32/AMD64 maskmovq opcode. */
/* 243 */ OP_maskmovdqu, /**< IA-32/AMD64 maskmovdqu opcode. */
/* 244 */ OP_psubb, /**< IA-32/AMD64 psubb opcode. */
/* 245 */ OP_psubw, /**< IA-32/AMD64 psubw opcode. */
/* 246 */ OP_psubd, /**< IA-32/AMD64 psubd opcode. */
/* 247 */ OP_psubq, /**< IA-32/AMD64 psubq opcode. */
/* 248 */ OP_paddb, /**< IA-32/AMD64 paddb opcode. */
/* 249 */ OP_paddw, /**< IA-32/AMD64 paddw opcode. */
/* 250 */ OP_paddd, /**< IA-32/AMD64 paddd opcode. */
/* 251 */ OP_psrldq, /**< IA-32/AMD64 psrldq opcode. */
/* 252 */ OP_pslldq, /**< IA-32/AMD64 pslldq opcode. */
/* 253 */ OP_rol, /**< IA-32/AMD64 rol opcode. */
/* 254 */ OP_ror, /**< IA-32/AMD64 ror opcode. */
/* 255 */ OP_rcl, /**< IA-32/AMD64 rcl opcode. */
/* 256 */ OP_rcr, /**< IA-32/AMD64 rcr opcode. */
/* 257 */ OP_shl, /**< IA-32/AMD64 shl opcode. */
/* 258 */ OP_shr, /**< IA-32/AMD64 shr opcode. */
/* 259 */ OP_sar, /**< IA-32/AMD64 sar opcode. */
/* 260 */ OP_not, /**< IA-32/AMD64 not opcode. */
/* 261 */ OP_neg, /**< IA-32/AMD64 neg opcode. */
/* 262 */ OP_mul, /**< IA-32/AMD64 mul opcode. */
/* 263 */ OP_div, /**< IA-32/AMD64 div opcode. */
/* 264 */ OP_idiv, /**< IA-32/AMD64 idiv opcode. */
/* 265 */ OP_sldt, /**< IA-32/AMD64 sldt opcode. */
/* 266 */ OP_str, /**< IA-32/AMD64 str opcode. */
/* 267 */ OP_lldt, /**< IA-32/AMD64 lldt opcode. */
/* 268 */ OP_ltr, /**< IA-32/AMD64 ltr opcode. */
/* 269 */ OP_verr, /**< IA-32/AMD64 verr opcode. */
/* 270 */ OP_verw, /**< IA-32/AMD64 verw opcode. */
/* 271 */ OP_sgdt, /**< IA-32/AMD64 sgdt opcode. */
/* 272 */ OP_sidt, /**< IA-32/AMD64 sidt opcode. */
/* 273 */ OP_lgdt, /**< IA-32/AMD64 lgdt opcode. */
/* 274 */ OP_lidt, /**< IA-32/AMD64 lidt opcode. */
/* 275 */ OP_smsw, /**< IA-32/AMD64 smsw opcode. */
/* 276 */ OP_lmsw, /**< IA-32/AMD64 lmsw opcode. */
/* 277 */ OP_invlpg, /**< IA-32/AMD64 invlpg opcode. */
/* 278 */ OP_cmpxchg8b, /**< IA-32/AMD64 cmpxchg8b opcode. */
/* 279 */ OP_fxsave32, /**< IA-32/AMD64 fxsave opcode. */
/* 280 */ OP_fxrstor32, /**< IA-32/AMD64 fxrstor opcode. */
/* 281 */ OP_ldmxcsr, /**< IA-32/AMD64 ldmxcsr opcode. */
/* 282 */ OP_stmxcsr, /**< IA-32/AMD64 stmxcsr opcode. */
/* 283 */ OP_lfence, /**< IA-32/AMD64 lfence opcode. */
/* 284 */ OP_mfence, /**< IA-32/AMD64 mfence opcode. */
/* 285 */ OP_clflush, /**< IA-32/AMD64 clflush opcode. */
/* 286 */ OP_sfence, /**< IA-32/AMD64 sfence opcode. */
/* 287 */ OP_prefetchnta, /**< IA-32/AMD64 prefetchnta opcode. */
/* 288 */ OP_prefetcht0, /**< IA-32/AMD64 prefetcht0 opcode. */
/* 289 */ OP_prefetcht1, /**< IA-32/AMD64 prefetcht1 opcode. */
/* 290 */ OP_prefetcht2, /**< IA-32/AMD64 prefetcht2 opcode. */
/* 291 */ OP_prefetch, /**< IA-32/AMD64 prefetch opcode. */
/* 292 */ OP_prefetchw, /**< IA-32/AMD64 prefetchw opcode. */
/* 293 */ OP_movups, /**< IA-32/AMD64 movups opcode. */
/* 294 */ OP_movss, /**< IA-32/AMD64 movss opcode. */
/* 295 */ OP_movupd, /**< IA-32/AMD64 movupd opcode. */
/* 296 */ OP_movsd, /**< IA-32/AMD64 movsd opcode. */
/* 297 */ OP_movlps, /**< IA-32/AMD64 movlps opcode. */
/* 298 */ OP_movlpd, /**< IA-32/AMD64 movlpd opcode. */
/* 299 */ OP_unpcklps, /**< IA-32/AMD64 unpcklps opcode. */
/* 300 */ OP_unpcklpd, /**< IA-32/AMD64 unpcklpd opcode. */
/* 301 */ OP_unpckhps, /**< IA-32/AMD64 unpckhps opcode. */
/* 302 */ OP_unpckhpd, /**< IA-32/AMD64 unpckhpd opcode. */
/* 303 */ OP_movhps, /**< IA-32/AMD64 movhps opcode. */
/* 304 */ OP_movhpd, /**< IA-32/AMD64 movhpd opcode. */
/* 305 */ OP_movaps, /**< IA-32/AMD64 movaps opcode. */
/* 306 */ OP_movapd, /**< IA-32/AMD64 movapd opcode. */
/* 307 */ OP_cvtpi2ps, /**< IA-32/AMD64 cvtpi2ps opcode. */
/* 308 */ OP_cvtsi2ss, /**< IA-32/AMD64 cvtsi2ss opcode. */
/* 309 */ OP_cvtpi2pd, /**< IA-32/AMD64 cvtpi2pd opcode. */
/* 310 */ OP_cvtsi2sd, /**< IA-32/AMD64 cvtsi2sd opcode. */
/* 311 */ OP_cvttps2pi, /**< IA-32/AMD64 cvttps2pi opcode. */
/* 312 */ OP_cvttss2si, /**< IA-32/AMD64 cvttss2si opcode. */
/* 313 */ OP_cvttpd2pi, /**< IA-32/AMD64 cvttpd2pi opcode. */
/* 314 */ OP_cvttsd2si, /**< IA-32/AMD64 cvttsd2si opcode. */
/* 315 */ OP_cvtps2pi, /**< IA-32/AMD64 cvtps2pi opcode. */
/* 316 */ OP_cvtss2si, /**< IA-32/AMD64 cvtss2si opcode. */
/* 317 */ OP_cvtpd2pi, /**< IA-32/AMD64 cvtpd2pi opcode. */
/* 318 */ OP_cvtsd2si, /**< IA-32/AMD64 cvtsd2si opcode. */
/* 319 */ OP_ucomiss, /**< IA-32/AMD64 ucomiss opcode. */
/* 320 */ OP_ucomisd, /**< IA-32/AMD64 ucomisd opcode. */
/* 321 */ OP_comiss, /**< IA-32/AMD64 comiss opcode. */
/* 322 */ OP_comisd, /**< IA-32/AMD64 comisd opcode. */
/* 323 */ OP_movmskps, /**< IA-32/AMD64 movmskps opcode. */
/* 324 */ OP_movmskpd, /**< IA-32/AMD64 movmskpd opcode. */
/* 325 */ OP_sqrtps, /**< IA-32/AMD64 sqrtps opcode. */
/* 326 */ OP_sqrtss, /**< IA-32/AMD64 sqrtss opcode. */
/* 327 */ OP_sqrtpd, /**< IA-32/AMD64 sqrtpd opcode. */
/* 328 */ OP_sqrtsd, /**< IA-32/AMD64 sqrtsd opcode. */
/* 329 */ OP_rsqrtps, /**< IA-32/AMD64 rsqrtps opcode. */
/* 330 */ OP_rsqrtss, /**< IA-32/AMD64 rsqrtss opcode. */
/* 331 */ OP_rcpps, /**< IA-32/AMD64 rcpps opcode. */
/* 332 */ OP_rcpss, /**< IA-32/AMD64 rcpss opcode. */
/* 333 */ OP_andps, /**< IA-32/AMD64 andps opcode. */
/* 334 */ OP_andpd, /**< IA-32/AMD64 andpd opcode. */
/* 335 */ OP_andnps, /**< IA-32/AMD64 andnps opcode. */
/* 336 */ OP_andnpd, /**< IA-32/AMD64 andnpd opcode. */
/* 337 */ OP_orps, /**< IA-32/AMD64 orps opcode. */
/* 338 */ OP_orpd, /**< IA-32/AMD64 orpd opcode. */
/* 339 */ OP_xorps, /**< IA-32/AMD64 xorps opcode. */
/* 340 */ OP_xorpd, /**< IA-32/AMD64 xorpd opcode. */
/* 341 */ OP_addps, /**< IA-32/AMD64 addps opcode. */
/* 342 */ OP_addss, /**< IA-32/AMD64 addss opcode. */
/* 343 */ OP_addpd, /**< IA-32/AMD64 addpd opcode. */
/* 344 */ OP_addsd, /**< IA-32/AMD64 addsd opcode. */
/* 345 */ OP_mulps, /**< IA-32/AMD64 mulps opcode. */
/* 346 */ OP_mulss, /**< IA-32/AMD64 mulss opcode. */
/* 347 */ OP_mulpd, /**< IA-32/AMD64 mulpd opcode. */
/* 348 */ OP_mulsd, /**< IA-32/AMD64 mulsd opcode. */
/* 349 */ OP_cvtps2pd, /**< IA-32/AMD64 cvtps2pd opcode. */
/* 350 */ OP_cvtss2sd, /**< IA-32/AMD64 cvtss2sd opcode. */
/* 351 */ OP_cvtpd2ps, /**< IA-32/AMD64 cvtpd2ps opcode. */
/* 352 */ OP_cvtsd2ss, /**< IA-32/AMD64 cvtsd2ss opcode. */
/* 353 */ OP_cvtdq2ps, /**< IA-32/AMD64 cvtdq2ps opcode. */
/* 354 */ OP_cvttps2dq, /**< IA-32/AMD64 cvttps2dq opcode. */
/* 355 */ OP_cvtps2dq, /**< IA-32/AMD64 cvtps2dq opcode. */
/* 356 */ OP_subps, /**< IA-32/AMD64 subps opcode. */
/* 357 */ OP_subss, /**< IA-32/AMD64 subss opcode. */
/* 358 */ OP_subpd, /**< IA-32/AMD64 subpd opcode. */
/* 359 */ OP_subsd, /**< IA-32/AMD64 subsd opcode. */
/* 360 */ OP_minps, /**< IA-32/AMD64 minps opcode. */
/* 361 */ OP_minss, /**< IA-32/AMD64 minss opcode. */
/* 362 */ OP_minpd, /**< IA-32/AMD64 minpd opcode. */
/* 363 */ OP_minsd, /**< IA-32/AMD64 minsd opcode. */
/* 364 */ OP_divps, /**< IA-32/AMD64 divps opcode. */
/* 365 */ OP_divss, /**< IA-32/AMD64 divss opcode. */
/* 366 */ OP_divpd, /**< IA-32/AMD64 divpd opcode. */
/* 367 */ OP_divsd, /**< IA-32/AMD64 divsd opcode. */
/* 368 */ OP_maxps, /**< IA-32/AMD64 maxps opcode. */
/* 369 */ OP_maxss, /**< IA-32/AMD64 maxss opcode. */
/* 370 */ OP_maxpd, /**< IA-32/AMD64 maxpd opcode. */
/* 371 */ OP_maxsd, /**< IA-32/AMD64 maxsd opcode. */
/* 372 */ OP_cmpps, /**< IA-32/AMD64 cmpps opcode. */
/* 373 */ OP_cmpss, /**< IA-32/AMD64 cmpss opcode. */
/* 374 */ OP_cmppd, /**< IA-32/AMD64 cmppd opcode. */
/* 375 */ OP_cmpsd, /**< IA-32/AMD64 cmpsd opcode. */
/* 376 */ OP_shufps, /**< IA-32/AMD64 shufps opcode. */
/* 377 */ OP_shufpd, /**< IA-32/AMD64 shufpd opcode. */
/* 378 */ OP_cvtdq2pd, /**< IA-32/AMD64 cvtdq2pd opcode. */
/* 379 */ OP_cvttpd2dq, /**< IA-32/AMD64 cvttpd2dq opcode. */
/* 380 */ OP_cvtpd2dq, /**< IA-32/AMD64 cvtpd2dq opcode. */
/* 381 */ OP_nop, /**< IA-32/AMD64 nop opcode. */
/* 382 */ OP_pause, /**< IA-32/AMD64 pause opcode. */
/* 383 */ OP_ins, /**< IA-32/AMD64 ins opcode. */
/* 384 */ OP_rep_ins, /**< IA-32/AMD64 rep_ins opcode. */
/* 385 */ OP_outs, /**< IA-32/AMD64 outs opcode. */
/* 386 */ OP_rep_outs, /**< IA-32/AMD64 rep_outs opcode. */
/* 387 */ OP_movs, /**< IA-32/AMD64 movs opcode. */
/* 388 */ OP_rep_movs, /**< IA-32/AMD64 rep_movs opcode. */
/* 389 */ OP_stos, /**< IA-32/AMD64 stos opcode. */
/* 390 */ OP_rep_stos, /**< IA-32/AMD64 rep_stos opcode. */
/* 391 */ OP_lods, /**< IA-32/AMD64 lods opcode. */
/* 392 */ OP_rep_lods, /**< IA-32/AMD64 rep_lods opcode. */
/* 393 */ OP_cmps, /**< IA-32/AMD64 cmps opcode. */
/* 394 */ OP_rep_cmps, /**< IA-32/AMD64 rep_cmps opcode. */
/* 395 */ OP_repne_cmps, /**< IA-32/AMD64 repne_cmps opcode. */
/* 396 */ OP_scas, /**< IA-32/AMD64 scas opcode. */
/* 397 */ OP_rep_scas, /**< IA-32/AMD64 rep_scas opcode. */
/* 398 */ OP_repne_scas, /**< IA-32/AMD64 repne_scas opcode. */
/* 399 */ OP_fadd, /**< IA-32/AMD64 fadd opcode. */
/* 400 */ OP_fmul, /**< IA-32/AMD64 fmul opcode. */
/* 401 */ OP_fcom, /**< IA-32/AMD64 fcom opcode. */
/* 402 */ OP_fcomp, /**< IA-32/AMD64 fcomp opcode. */
/* 403 */ OP_fsub, /**< IA-32/AMD64 fsub opcode. */
/* 404 */ OP_fsubr, /**< IA-32/AMD64 fsubr opcode. */
/* 405 */ OP_fdiv, /**< IA-32/AMD64 fdiv opcode. */
/* 406 */ OP_fdivr, /**< IA-32/AMD64 fdivr opcode. */
/* 407 */ OP_fld, /**< IA-32/AMD64 fld opcode. */
/* 408 */ OP_fst, /**< IA-32/AMD64 fst opcode. */
/* 409 */ OP_fstp, /**< IA-32/AMD64 fstp opcode. */
/* 410 */ OP_fldenv, /**< IA-32/AMD64 fldenv opcode. */
/* 411 */ OP_fldcw, /**< IA-32/AMD64 fldcw opcode. */
/* 412 */ OP_fnstenv, /**< IA-32/AMD64 fnstenv opcode. */
/* 413 */ OP_fnstcw, /**< IA-32/AMD64 fnstcw opcode. */
/* 414 */ OP_fiadd, /**< IA-32/AMD64 fiadd opcode. */
/* 415 */ OP_fimul, /**< IA-32/AMD64 fimul opcode. */
/* 416 */ OP_ficom, /**< IA-32/AMD64 ficom opcode. */
/* 417 */ OP_ficomp, /**< IA-32/AMD64 ficomp opcode. */
/* 418 */ OP_fisub, /**< IA-32/AMD64 fisub opcode. */
/* 419 */ OP_fisubr, /**< IA-32/AMD64 fisubr opcode. */
/* 420 */ OP_fidiv, /**< IA-32/AMD64 fidiv opcode. */
/* 421 */ OP_fidivr, /**< IA-32/AMD64 fidivr opcode. */
/* 422 */ OP_fild, /**< IA-32/AMD64 fild opcode. */
/* 423 */ OP_fist, /**< IA-32/AMD64 fist opcode. */
/* 424 */ OP_fistp, /**< IA-32/AMD64 fistp opcode. */
/* 425 */ OP_frstor, /**< IA-32/AMD64 frstor opcode. */
/* 426 */ OP_fnsave, /**< IA-32/AMD64 fnsave opcode. */
/* 427 */ OP_fnstsw, /**< IA-32/AMD64 fnstsw opcode. */
/* 428 */ OP_fbld, /**< IA-32/AMD64 fbld opcode. */
/* 429 */ OP_fbstp, /**< IA-32/AMD64 fbstp opcode. */
/* 430 */ OP_fxch, /**< IA-32/AMD64 fxch opcode. */
/* 431 */ OP_fnop, /**< IA-32/AMD64 fnop opcode. */
/* 432 */ OP_fchs, /**< IA-32/AMD64 fchs opcode. */
/* 433 */ OP_fabs, /**< IA-32/AMD64 fabs opcode. */
/* 434 */ OP_ftst, /**< IA-32/AMD64 ftst opcode. */
/* 435 */ OP_fxam, /**< IA-32/AMD64 fxam opcode. */
/* 436 */ OP_fld1, /**< IA-32/AMD64 fld1 opcode. */
/* 437 */ OP_fldl2t, /**< IA-32/AMD64 fldl2t opcode. */
/* 438 */ OP_fldl2e, /**< IA-32/AMD64 fldl2e opcode. */
/* 439 */ OP_fldpi, /**< IA-32/AMD64 fldpi opcode. */
/* 440 */ OP_fldlg2, /**< IA-32/AMD64 fldlg2 opcode. */
/* 441 */ OP_fldln2, /**< IA-32/AMD64 fldln2 opcode. */
/* 442 */ OP_fldz, /**< IA-32/AMD64 fldz opcode. */
/* 443 */ OP_f2xm1, /**< IA-32/AMD64 f2xm1 opcode. */
/* 444 */ OP_fyl2x, /**< IA-32/AMD64 fyl2x opcode. */
/* 445 */ OP_fptan, /**< IA-32/AMD64 fptan opcode. */
/* 446 */ OP_fpatan, /**< IA-32/AMD64 fpatan opcode. */
/* 447 */ OP_fxtract, /**< IA-32/AMD64 fxtract opcode. */
/* 448 */ OP_fprem1, /**< IA-32/AMD64 fprem1 opcode. */
/* 449 */ OP_fdecstp, /**< IA-32/AMD64 fdecstp opcode. */
/* 450 */ OP_fincstp, /**< IA-32/AMD64 fincstp opcode. */
/* 451 */ OP_fprem, /**< IA-32/AMD64 fprem opcode. */
/* 452 */ OP_fyl2xp1, /**< IA-32/AMD64 fyl2xp1 opcode. */
/* 453 */ OP_fsqrt, /**< IA-32/AMD64 fsqrt opcode. */
/* 454 */ OP_fsincos, /**< IA-32/AMD64 fsincos opcode. */
/* 455 */ OP_frndint, /**< IA-32/AMD64 frndint opcode. */
/* 456 */ OP_fscale, /**< IA-32/AMD64 fscale opcode. */
/* 457 */ OP_fsin, /**< IA-32/AMD64 fsin opcode. */
/* 458 */ OP_fcos, /**< IA-32/AMD64 fcos opcode. */
/* 459 */ OP_fcmovb, /**< IA-32/AMD64 fcmovb opcode. */
/* 460 */ OP_fcmove, /**< IA-32/AMD64 fcmove opcode. */
/* 461 */ OP_fcmovbe, /**< IA-32/AMD64 fcmovbe opcode. */
/* 462 */ OP_fcmovu, /**< IA-32/AMD64 fcmovu opcode. */
/* 463 */ OP_fucompp, /**< IA-32/AMD64 fucompp opcode. */
/* 464 */ OP_fcmovnb, /**< IA-32/AMD64 fcmovnb opcode. */
/* 465 */ OP_fcmovne, /**< IA-32/AMD64 fcmovne opcode. */
/* 466 */ OP_fcmovnbe, /**< IA-32/AMD64 fcmovnbe opcode. */
/* 467 */ OP_fcmovnu, /**< IA-32/AMD64 fcmovnu opcode. */
/* 468 */ OP_fnclex, /**< IA-32/AMD64 fnclex opcode. */
/* 469 */ OP_fninit, /**< IA-32/AMD64 fninit opcode. */
/* 470 */ OP_fucomi, /**< IA-32/AMD64 fucomi opcode. */
/* 471 */ OP_fcomi, /**< IA-32/AMD64 fcomi opcode. */
/* 472 */ OP_ffree, /**< IA-32/AMD64 ffree opcode. */
/* 473 */ OP_fucom, /**< IA-32/AMD64 fucom opcode. */
/* 474 */ OP_fucomp, /**< IA-32/AMD64 fucomp opcode. */
/* 475 */ OP_faddp, /**< IA-32/AMD64 faddp opcode. */
/* 476 */ OP_fmulp, /**< IA-32/AMD64 fmulp opcode. */
/* 477 */ OP_fcompp, /**< IA-32/AMD64 fcompp opcode. */
/* 478 */ OP_fsubrp, /**< IA-32/AMD64 fsubrp opcode. */
/* 479 */ OP_fsubp, /**< IA-32/AMD64 fsubp opcode. */
/* 480 */ OP_fdivrp, /**< IA-32/AMD64 fdivrp opcode. */
/* 481 */ OP_fdivp, /**< IA-32/AMD64 fdivp opcode. */
/* 482 */ OP_fucomip, /**< IA-32/AMD64 fucomip opcode. */
/* 483 */ OP_fcomip, /**< IA-32/AMD64 fcomip opcode. */
/* SSE3 instructions */
/* 484 */ OP_fisttp, /**< IA-32/AMD64 fisttp opcode. */
/* 485 */ OP_haddpd, /**< IA-32/AMD64 haddpd opcode. */
/* 486 */ OP_haddps, /**< IA-32/AMD64 haddps opcode. */
/* 487 */ OP_hsubpd, /**< IA-32/AMD64 hsubpd opcode. */
/* 488 */ OP_hsubps, /**< IA-32/AMD64 hsubps opcode. */
/* 489 */ OP_addsubpd, /**< IA-32/AMD64 addsubpd opcode. */
/* 490 */ OP_addsubps, /**< IA-32/AMD64 addsubps opcode. */
/* 491 */ OP_lddqu, /**< IA-32/AMD64 lddqu opcode. */
/* 492 */ OP_monitor, /**< IA-32/AMD64 monitor opcode. */
/* 493 */ OP_mwait, /**< IA-32/AMD64 mwait opcode. */
/* 494 */ OP_movsldup, /**< IA-32/AMD64 movsldup opcode. */
/* 495 */ OP_movshdup, /**< IA-32/AMD64 movshdup opcode. */
/* 496 */ OP_movddup, /**< IA-32/AMD64 movddup opcode. */
/* 3D-Now! instructions */
/* 497 */ OP_femms, /**< IA-32/AMD64 femms opcode. */
/* 498 */ OP_unknown_3dnow, /**< IA-32/AMD64 unknown_3dnow opcode. */
/* 499 */ OP_pavgusb, /**< IA-32/AMD64 pavgusb opcode. */
/* 500 */ OP_pfadd, /**< IA-32/AMD64 pfadd opcode. */
/* 501 */ OP_pfacc, /**< IA-32/AMD64 pfacc opcode. */
/* 502 */ OP_pfcmpge, /**< IA-32/AMD64 pfcmpge opcode. */
/* 503 */ OP_pfcmpgt, /**< IA-32/AMD64 pfcmpgt opcode. */
/* 504 */ OP_pfcmpeq, /**< IA-32/AMD64 pfcmpeq opcode. */
/* 505 */ OP_pfmin, /**< IA-32/AMD64 pfmin opcode. */
/* 506 */ OP_pfmax, /**< IA-32/AMD64 pfmax opcode. */
/* 507 */ OP_pfmul, /**< IA-32/AMD64 pfmul opcode. */
/* 508 */ OP_pfrcp, /**< IA-32/AMD64 pfrcp opcode. */
/* 509 */ OP_pfrcpit1, /**< IA-32/AMD64 pfrcpit1 opcode. */
/* 510 */ OP_pfrcpit2, /**< IA-32/AMD64 pfrcpit2 opcode. */
/* 511 */ OP_pfrsqrt, /**< IA-32/AMD64 pfrsqrt opcode. */
/* 512 */ OP_pfrsqit1, /**< IA-32/AMD64 pfrsqit1 opcode. */
/* 513 */ OP_pmulhrw, /**< IA-32/AMD64 pmulhrw opcode. */
/* 514 */ OP_pfsub, /**< IA-32/AMD64 pfsub opcode. */
/* 515 */ OP_pfsubr, /**< IA-32/AMD64 pfsubr opcode. */
/* 516 */ OP_pi2fd, /**< IA-32/AMD64 pi2fd opcode. */
/* 517 */ OP_pf2id, /**< IA-32/AMD64 pf2id opcode. */
/* 518 */ OP_pi2fw, /**< IA-32/AMD64 pi2fw opcode. */
/* 519 */ OP_pf2iw, /**< IA-32/AMD64 pf2iw opcode. */
/* 520 */ OP_pfnacc, /**< IA-32/AMD64 pfnacc opcode. */
/* 521 */ OP_pfpnacc, /**< IA-32/AMD64 pfpnacc opcode. */
/* 522 */ OP_pswapd, /**< IA-32/AMD64 pswapd opcode. */
/* SSSE3 */
/* 523 */ OP_pshufb, /**< IA-32/AMD64 pshufb opcode. */
/* 524 */ OP_phaddw, /**< IA-32/AMD64 phaddw opcode. */
/* 525 */ OP_phaddd, /**< IA-32/AMD64 phaddd opcode. */
/* 526 */ OP_phaddsw, /**< IA-32/AMD64 phaddsw opcode. */
/* 527 */ OP_pmaddubsw, /**< IA-32/AMD64 pmaddubsw opcode. */
/* 528 */ OP_phsubw, /**< IA-32/AMD64 phsubw opcode. */
/* 529 */ OP_phsubd, /**< IA-32/AMD64 phsubd opcode. */
/* 530 */ OP_phsubsw, /**< IA-32/AMD64 phsubsw opcode. */
/* 531 */ OP_psignb, /**< IA-32/AMD64 psignb opcode. */
/* 532 */ OP_psignw, /**< IA-32/AMD64 psignw opcode. */
/* 533 */ OP_psignd, /**< IA-32/AMD64 psignd opcode. */
/* 534 */ OP_pmulhrsw, /**< IA-32/AMD64 pmulhrsw opcode. */
/* 535 */ OP_pabsb, /**< IA-32/AMD64 pabsb opcode. */
/* 536 */ OP_pabsw, /**< IA-32/AMD64 pabsw opcode. */
/* 537 */ OP_pabsd, /**< IA-32/AMD64 pabsd opcode. */
/* 538 */ OP_palignr, /**< IA-32/AMD64 palignr opcode. */
/* SSE4 (incl AMD (SSE4A) and Intel-specific (SSE4.1, SSE4.2) extensions */
/* 539 */ OP_popcnt, /**< IA-32/AMD64 popcnt opcode. */
/* 540 */ OP_movntss, /**< IA-32/AMD64 movntss opcode. */
/* 541 */ OP_movntsd, /**< IA-32/AMD64 movntsd opcode. */
/* 542 */ OP_extrq, /**< IA-32/AMD64 extrq opcode. */
/* 543 */ OP_insertq, /**< IA-32/AMD64 insertq opcode. */
/* 544 */ OP_lzcnt, /**< IA-32/AMD64 lzcnt opcode. */
/* 545 */ OP_pblendvb, /**< IA-32/AMD64 pblendvb opcode. */
/* 546 */ OP_blendvps, /**< IA-32/AMD64 blendvps opcode. */
/* 547 */ OP_blendvpd, /**< IA-32/AMD64 blendvpd opcode. */
/* 548 */ OP_ptest, /**< IA-32/AMD64 ptest opcode. */
/* 549 */ OP_pmovsxbw, /**< IA-32/AMD64 pmovsxbw opcode. */
/* 550 */ OP_pmovsxbd, /**< IA-32/AMD64 pmovsxbd opcode. */
/* 551 */ OP_pmovsxbq, /**< IA-32/AMD64 pmovsxbq opcode. */
/* 552 */ OP_pmovsxwd, /**< IA-32/AMD64 pmovsxwd opcode. */
/* 553 */ OP_pmovsxwq, /**< IA-32/AMD64 pmovsxwq opcode. */
/* 554 */ OP_pmovsxdq, /**< IA-32/AMD64 pmovsxdq opcode. */
/* 555 */ OP_pmuldq, /**< IA-32/AMD64 pmuldq opcode. */
/* 556 */ OP_pcmpeqq, /**< IA-32/AMD64 pcmpeqq opcode. */
/* 557 */ OP_movntdqa, /**< IA-32/AMD64 movntdqa opcode. */
/* 558 */ OP_packusdw, /**< IA-32/AMD64 packusdw opcode. */
/* 559 */ OP_pmovzxbw, /**< IA-32/AMD64 pmovzxbw opcode. */
/* 560 */ OP_pmovzxbd, /**< IA-32/AMD64 pmovzxbd opcode. */
/* 561 */ OP_pmovzxbq, /**< IA-32/AMD64 pmovzxbq opcode. */
/* 562 */ OP_pmovzxwd, /**< IA-32/AMD64 pmovzxwd opcode. */
/* 563 */ OP_pmovzxwq, /**< IA-32/AMD64 pmovzxwq opcode. */
/* 564 */ OP_pmovzxdq, /**< IA-32/AMD64 pmovzxdq opcode. */
/* 565 */ OP_pcmpgtq, /**< IA-32/AMD64 pcmpgtq opcode. */
/* 566 */ OP_pminsb, /**< IA-32/AMD64 pminsb opcode. */
/* 567 */ OP_pminsd, /**< IA-32/AMD64 pminsd opcode. */
/* 568 */ OP_pminuw, /**< IA-32/AMD64 pminuw opcode. */
/* 569 */ OP_pminud, /**< IA-32/AMD64 pminud opcode. */
/* 570 */ OP_pmaxsb, /**< IA-32/AMD64 pmaxsb opcode. */
/* 571 */ OP_pmaxsd, /**< IA-32/AMD64 pmaxsd opcode. */
/* 572 */ OP_pmaxuw, /**< IA-32/AMD64 pmaxuw opcode. */
/* 573 */ OP_pmaxud, /**< IA-32/AMD64 pmaxud opcode. */
/* 574 */ OP_pmulld, /**< IA-32/AMD64 pmulld opcode. */
/* 575 */ OP_phminposuw, /**< IA-32/AMD64 phminposuw opcode. */
/* 576 */ OP_crc32, /**< IA-32/AMD64 crc32 opcode. */
/* 577 */ OP_pextrb, /**< IA-32/AMD64 pextrb opcode. */
/* 578 */ OP_pextrd, /**< IA-32/AMD64 pextrd opcode. */
/* 579 */ OP_extractps, /**< IA-32/AMD64 extractps opcode. */
/* 580 */ OP_roundps, /**< IA-32/AMD64 roundps opcode. */
/* 581 */ OP_roundpd, /**< IA-32/AMD64 roundpd opcode. */
/* 582 */ OP_roundss, /**< IA-32/AMD64 roundss opcode. */
/* 583 */ OP_roundsd, /**< IA-32/AMD64 roundsd opcode. */
/* 584 */ OP_blendps, /**< IA-32/AMD64 blendps opcode. */
/* 585 */ OP_blendpd, /**< IA-32/AMD64 blendpd opcode. */
/* 586 */ OP_pblendw, /**< IA-32/AMD64 pblendw opcode. */
/* 587 */ OP_pinsrb, /**< IA-32/AMD64 pinsrb opcode. */
/* 588 */ OP_insertps, /**< IA-32/AMD64 insertps opcode. */
/* 589 */ OP_pinsrd, /**< IA-32/AMD64 pinsrd opcode. */
/* 590 */ OP_dpps, /**< IA-32/AMD64 dpps opcode. */
/* 591 */ OP_dppd, /**< IA-32/AMD64 dppd opcode. */
/* 592 */ OP_mpsadbw, /**< IA-32/AMD64 mpsadbw opcode. */
/* 593 */ OP_pcmpestrm, /**< IA-32/AMD64 pcmpestrm opcode. */
/* 594 */ OP_pcmpestri, /**< IA-32/AMD64 pcmpestri opcode. */
/* 595 */ OP_pcmpistrm, /**< IA-32/AMD64 pcmpistrm opcode. */
/* 596 */ OP_pcmpistri, /**< IA-32/AMD64 pcmpistri opcode. */
/* x64 */
/* 597 */ OP_movsxd, /**< IA-32/AMD64 movsxd opcode. */
/* 598 */ OP_swapgs, /**< IA-32/AMD64 swapgs opcode. */
/* VMX */
/* 599 */ OP_vmcall, /**< IA-32/AMD64 vmcall opcode. */
/* 600 */ OP_vmlaunch, /**< IA-32/AMD64 vmlaunch opcode. */
/* 601 */ OP_vmresume, /**< IA-32/AMD64 vmresume opcode. */
/* 602 */ OP_vmxoff, /**< IA-32/AMD64 vmxoff opcode. */
/* 603 */ OP_vmptrst, /**< IA-32/AMD64 vmptrst opcode. */
/* 604 */ OP_vmptrld, /**< IA-32/AMD64 vmptrld opcode. */
/* 605 */ OP_vmxon, /**< IA-32/AMD64 vmxon opcode. */
/* 606 */ OP_vmclear, /**< IA-32/AMD64 vmclear opcode. */
/* 607 */ OP_vmread, /**< IA-32/AMD64 vmread opcode. */
/* 608 */ OP_vmwrite, /**< IA-32/AMD64 vmwrite opcode. */
/* undocumented */
/* 609 */ OP_int1, /**< IA-32/AMD64 int1 opcode. */
/* 610 */ OP_salc, /**< IA-32/AMD64 salc opcode. */
/* 611 */ OP_ffreep, /**< IA-32/AMD64 ffreep opcode. */
/* AMD SVM */
/* 612 */ OP_vmrun, /**< IA-32/AMD64 vmrun opcode. */
/* 613 */ OP_vmmcall, /**< IA-32/AMD64 vmmcall opcode. */
/* 614 */ OP_vmload, /**< IA-32/AMD64 vmload opcode. */
/* 615 */ OP_vmsave, /**< IA-32/AMD64 vmsave opcode. */
/* 616 */ OP_stgi, /**< IA-32/AMD64 stgi opcode. */
/* 617 */ OP_clgi, /**< IA-32/AMD64 clgi opcode. */
/* 618 */ OP_skinit, /**< IA-32/AMD64 skinit opcode. */
/* 619 */ OP_invlpga, /**< IA-32/AMD64 invlpga opcode. */
/* AMD though not part of SVM */
/* 620 */ OP_rdtscp, /**< IA-32/AMD64 rdtscp opcode. */
/* Intel VMX additions */
/* 621 */ OP_invept, /**< IA-32/AMD64 invept opcode. */
/* 622 */ OP_invvpid, /**< IA-32/AMD64 invvpid opcode. */
/* added in Intel Westmere */
/* 623 */ OP_pclmulqdq, /**< IA-32/AMD64 pclmulqdq opcode. */
/* 624 */ OP_aesimc, /**< IA-32/AMD64 aesimc opcode. */
/* 625 */ OP_aesenc, /**< IA-32/AMD64 aesenc opcode. */
/* 626 */ OP_aesenclast, /**< IA-32/AMD64 aesenclast opcode. */
/* 627 */ OP_aesdec, /**< IA-32/AMD64 aesdec opcode. */
/* 628 */ OP_aesdeclast, /**< IA-32/AMD64 aesdeclast opcode. */
/* 629 */ OP_aeskeygenassist, /**< IA-32/AMD64 aeskeygenassist opcode. */
/* added in Intel Atom */
/* 630 */ OP_movbe, /**< IA-32/AMD64 movbe opcode. */
/* added in Intel Sandy Bridge */
/* 631 */ OP_xgetbv, /**< IA-32/AMD64 xgetbv opcode. */
/* 632 */ OP_xsetbv, /**< IA-32/AMD64 xsetbv opcode. */
/* 633 */ OP_xsave32, /**< IA-32/AMD64 xsave opcode. */
/* 634 */ OP_xrstor32, /**< IA-32/AMD64 xrstor opcode. */
/* 635 */ OP_xsaveopt32, /**< IA-32/AMD64 xsaveopt opcode. */
/* AVX */
/* 636 */ OP_vmovss, /**< IA-32/AMD64 vmovss opcode. */
/* 637 */ OP_vmovsd, /**< IA-32/AMD64 vmovsd opcode. */
/* 638 */ OP_vmovups, /**< IA-32/AMD64 vmovups opcode. */
/* 639 */ OP_vmovupd, /**< IA-32/AMD64 vmovupd opcode. */
/* 640 */ OP_vmovlps, /**< IA-32/AMD64 vmovlps opcode. */
/* 641 */ OP_vmovsldup, /**< IA-32/AMD64 vmovsldup opcode. */
/* 642 */ OP_vmovlpd, /**< IA-32/AMD64 vmovlpd opcode. */
/* 643 */ OP_vmovddup, /**< IA-32/AMD64 vmovddup opcode. */
/* 644 */ OP_vunpcklps, /**< IA-32/AMD64 vunpcklps opcode. */
/* 645 */ OP_vunpcklpd, /**< IA-32/AMD64 vunpcklpd opcode. */
/* 646 */ OP_vunpckhps, /**< IA-32/AMD64 vunpckhps opcode. */
/* 647 */ OP_vunpckhpd, /**< IA-32/AMD64 vunpckhpd opcode. */
/* 648 */ OP_vmovhps, /**< IA-32/AMD64 vmovhps opcode. */
/* 649 */ OP_vmovshdup, /**< IA-32/AMD64 vmovshdup opcode. */
/* 650 */ OP_vmovhpd, /**< IA-32/AMD64 vmovhpd opcode. */
/* 651 */ OP_vmovaps, /**< IA-32/AMD64 vmovaps opcode. */
/* 652 */ OP_vmovapd, /**< IA-32/AMD64 vmovapd opcode. */
/* 653 */ OP_vcvtsi2ss, /**< IA-32/AMD64 vcvtsi2ss opcode. */
/* 654 */ OP_vcvtsi2sd, /**< IA-32/AMD64 vcvtsi2sd opcode. */
/* 655 */ OP_vmovntps, /**< IA-32/AMD64 vmovntps opcode. */
/* 656 */ OP_vmovntpd, /**< IA-32/AMD64 vmovntpd opcode. */
/* 657 */ OP_vcvttss2si, /**< IA-32/AMD64 vcvttss2si opcode. */
/* 658 */ OP_vcvttsd2si, /**< IA-32/AMD64 vcvttsd2si opcode. */
/* 659 */ OP_vcvtss2si, /**< IA-32/AMD64 vcvtss2si opcode. */
/* 660 */ OP_vcvtsd2si, /**< IA-32/AMD64 vcvtsd2si opcode. */
/* 661 */ OP_vucomiss, /**< IA-32/AMD64 vucomiss opcode. */
/* 662 */ OP_vucomisd, /**< IA-32/AMD64 vucomisd opcode. */
/* 663 */ OP_vcomiss, /**< IA-32/AMD64 vcomiss opcode. */
/* 664 */ OP_vcomisd, /**< IA-32/AMD64 vcomisd opcode. */
/* 665 */ OP_vmovmskps, /**< IA-32/AMD64 vmovmskps opcode. */
/* 666 */ OP_vmovmskpd, /**< IA-32/AMD64 vmovmskpd opcode. */
/* 667 */ OP_vsqrtps, /**< IA-32/AMD64 vsqrtps opcode. */
/* 668 */ OP_vsqrtss, /**< IA-32/AMD64 vsqrtss opcode. */
/* 669 */ OP_vsqrtpd, /**< IA-32/AMD64 vsqrtpd opcode. */
/* 670 */ OP_vsqrtsd, /**< IA-32/AMD64 vsqrtsd opcode. */
/* 671 */ OP_vrsqrtps, /**< IA-32/AMD64 vrsqrtps opcode. */
/* 672 */ OP_vrsqrtss, /**< IA-32/AMD64 vrsqrtss opcode. */
/* 673 */ OP_vrcpps, /**< IA-32/AMD64 vrcpps opcode. */
/* 674 */ OP_vrcpss, /**< IA-32/AMD64 vrcpss opcode. */
/* 675 */ OP_vandps, /**< IA-32/AMD64 vandps opcode. */
/* 676 */ OP_vandpd, /**< IA-32/AMD64 vandpd opcode. */
/* 677 */ OP_vandnps, /**< IA-32/AMD64 vandnps opcode. */
/* 678 */ OP_vandnpd, /**< IA-32/AMD64 vandnpd opcode. */
/* 679 */ OP_vorps, /**< IA-32/AMD64 vorps opcode. */
/* 680 */ OP_vorpd, /**< IA-32/AMD64 vorpd opcode. */
/* 681 */ OP_vxorps, /**< IA-32/AMD64 vxorps opcode. */
/* 682 */ OP_vxorpd, /**< IA-32/AMD64 vxorpd opcode. */
/* 683 */ OP_vaddps, /**< IA-32/AMD64 vaddps opcode. */
/* 684 */ OP_vaddss, /**< IA-32/AMD64 vaddss opcode. */
/* 685 */ OP_vaddpd, /**< IA-32/AMD64 vaddpd opcode. */
/* 686 */ OP_vaddsd, /**< IA-32/AMD64 vaddsd opcode. */
/* 687 */ OP_vmulps, /**< IA-32/AMD64 vmulps opcode. */
/* 688 */ OP_vmulss, /**< IA-32/AMD64 vmulss opcode. */
/* 689 */ OP_vmulpd, /**< IA-32/AMD64 vmulpd opcode. */
/* 690 */ OP_vmulsd, /**< IA-32/AMD64 vmulsd opcode. */
/* 691 */ OP_vcvtps2pd, /**< IA-32/AMD64 vcvtps2pd opcode. */
/* 692 */ OP_vcvtss2sd, /**< IA-32/AMD64 vcvtss2sd opcode. */
/* 693 */ OP_vcvtpd2ps, /**< IA-32/AMD64 vcvtpd2ps opcode. */
/* 694 */ OP_vcvtsd2ss, /**< IA-32/AMD64 vcvtsd2ss opcode. */
/* 695 */ OP_vcvtdq2ps, /**< IA-32/AMD64 vcvtdq2ps opcode. */
/* 696 */ OP_vcvttps2dq, /**< IA-32/AMD64 vcvttps2dq opcode. */
/* 697 */ OP_vcvtps2dq, /**< IA-32/AMD64 vcvtps2dq opcode. */
/* 698 */ OP_vsubps, /**< IA-32/AMD64 vsubps opcode. */
/* 699 */ OP_vsubss, /**< IA-32/AMD64 vsubss opcode. */
/* 700 */ OP_vsubpd, /**< IA-32/AMD64 vsubpd opcode. */
/* 701 */ OP_vsubsd, /**< IA-32/AMD64 vsubsd opcode. */
/* 702 */ OP_vminps, /**< IA-32/AMD64 vminps opcode. */
/* 703 */ OP_vminss, /**< IA-32/AMD64 vminss opcode. */
/* 704 */ OP_vminpd, /**< IA-32/AMD64 vminpd opcode. */
/* 705 */ OP_vminsd, /**< IA-32/AMD64 vminsd opcode. */
/* 706 */ OP_vdivps, /**< IA-32/AMD64 vdivps opcode. */
/* 707 */ OP_vdivss, /**< IA-32/AMD64 vdivss opcode. */
/* 708 */ OP_vdivpd, /**< IA-32/AMD64 vdivpd opcode. */
/* 709 */ OP_vdivsd, /**< IA-32/AMD64 vdivsd opcode. */
/* 710 */ OP_vmaxps, /**< IA-32/AMD64 vmaxps opcode. */
/* 711 */ OP_vmaxss, /**< IA-32/AMD64 vmaxss opcode. */
/* 712 */ OP_vmaxpd, /**< IA-32/AMD64 vmaxpd opcode. */
/* 713 */ OP_vmaxsd, /**< IA-32/AMD64 vmaxsd opcode. */
/* 714 */ OP_vpunpcklbw, /**< IA-32/AMD64 vpunpcklbw opcode. */
/* 715 */ OP_vpunpcklwd, /**< IA-32/AMD64 vpunpcklwd opcode. */
/* 716 */ OP_vpunpckldq, /**< IA-32/AMD64 vpunpckldq opcode. */
/* 717 */ OP_vpacksswb, /**< IA-32/AMD64 vpacksswb opcode. */
/* 718 */ OP_vpcmpgtb, /**< IA-32/AMD64 vpcmpgtb opcode. */
/* 719 */ OP_vpcmpgtw, /**< IA-32/AMD64 vpcmpgtw opcode. */
/* 720 */ OP_vpcmpgtd, /**< IA-32/AMD64 vpcmpgtd opcode. */
/* 721 */ OP_vpackuswb, /**< IA-32/AMD64 vpackuswb opcode. */
/* 722 */ OP_vpunpckhbw, /**< IA-32/AMD64 vpunpckhbw opcode. */
/* 723 */ OP_vpunpckhwd, /**< IA-32/AMD64 vpunpckhwd opcode. */
/* 724 */ OP_vpunpckhdq, /**< IA-32/AMD64 vpunpckhdq opcode. */
/* 725 */ OP_vpackssdw, /**< IA-32/AMD64 vpackssdw opcode. */
/* 726 */ OP_vpunpcklqdq, /**< IA-32/AMD64 vpunpcklqdq opcode. */
/* 727 */ OP_vpunpckhqdq, /**< IA-32/AMD64 vpunpckhqdq opcode. */
/* 728 */ OP_vmovd, /**< IA-32/AMD64 vmovd opcode. */
/* 729 */ OP_vpshufhw, /**< IA-32/AMD64 vpshufhw opcode. */
/* 730 */ OP_vpshufd, /**< IA-32/AMD64 vpshufd opcode. */
/* 731 */ OP_vpshuflw, /**< IA-32/AMD64 vpshuflw opcode. */
/* 732 */ OP_vpcmpeqb, /**< IA-32/AMD64 vpcmpeqb opcode. */
/* 733 */ OP_vpcmpeqw, /**< IA-32/AMD64 vpcmpeqw opcode. */
/* 734 */ OP_vpcmpeqd, /**< IA-32/AMD64 vpcmpeqd opcode. */
/* 735 */ OP_vmovq, /**< IA-32/AMD64 vmovq opcode. */
/* 736 */ OP_vcmpps, /**< IA-32/AMD64 vcmpps opcode. */
/* 737 */ OP_vcmpss, /**< IA-32/AMD64 vcmpss opcode. */
/* 738 */ OP_vcmppd, /**< IA-32/AMD64 vcmppd opcode. */
/* 739 */ OP_vcmpsd, /**< IA-32/AMD64 vcmpsd opcode. */
/* 740 */ OP_vpinsrw, /**< IA-32/AMD64 vpinsrw opcode. */
/* 741 */ OP_vpextrw, /**< IA-32/AMD64 vpextrw opcode. */
/* 742 */ OP_vshufps, /**< IA-32/AMD64 vshufps opcode. */
/* 743 */ OP_vshufpd, /**< IA-32/AMD64 vshufpd opcode. */
/* 744 */ OP_vpsrlw, /**< IA-32/AMD64 vpsrlw opcode. */
/* 745 */ OP_vpsrld, /**< IA-32/AMD64 vpsrld opcode. */
/* 746 */ OP_vpsrlq, /**< IA-32/AMD64 vpsrlq opcode. */
/* 747 */ OP_vpaddq, /**< IA-32/AMD64 vpaddq opcode. */
/* 748 */ OP_vpmullw, /**< IA-32/AMD64 vpmullw opcode. */
/* 749 */ OP_vpmovmskb, /**< IA-32/AMD64 vpmovmskb opcode. */
/* 750 */ OP_vpsubusb, /**< IA-32/AMD64 vpsubusb opcode. */
/* 751 */ OP_vpsubusw, /**< IA-32/AMD64 vpsubusw opcode. */
/* 752 */ OP_vpminub, /**< IA-32/AMD64 vpminub opcode. */
/* 753 */ OP_vpand, /**< IA-32/AMD64 vpand opcode. */
/* 754 */ OP_vpaddusb, /**< IA-32/AMD64 vpaddusb opcode. */
/* 755 */ OP_vpaddusw, /**< IA-32/AMD64 vpaddusw opcode. */
/* 756 */ OP_vpmaxub, /**< IA-32/AMD64 vpmaxub opcode. */
/* 757 */ OP_vpandn, /**< IA-32/AMD64 vpandn opcode. */
/* 758 */ OP_vpavgb, /**< IA-32/AMD64 vpavgb opcode. */
/* 759 */ OP_vpsraw, /**< IA-32/AMD64 vpsraw opcode. */
/* 760 */ OP_vpsrad, /**< IA-32/AMD64 vpsrad opcode. */
/* 761 */ OP_vpavgw, /**< IA-32/AMD64 vpavgw opcode. */
/* 762 */ OP_vpmulhuw, /**< IA-32/AMD64 vpmulhuw opcode. */
/* 763 */ OP_vpmulhw, /**< IA-32/AMD64 vpmulhw opcode. */
/* 764 */ OP_vcvtdq2pd, /**< IA-32/AMD64 vcvtdq2pd opcode. */
/* 765 */ OP_vcvttpd2dq, /**< IA-32/AMD64 vcvttpd2dq opcode. */
/* 766 */ OP_vcvtpd2dq, /**< IA-32/AMD64 vcvtpd2dq opcode. */
/* 767 */ OP_vmovntdq, /**< IA-32/AMD64 vmovntdq opcode. */
/* 768 */ OP_vpsubsb, /**< IA-32/AMD64 vpsubsb opcode. */
/* 769 */ OP_vpsubsw, /**< IA-32/AMD64 vpsubsw opcode. */
/* 770 */ OP_vpminsw, /**< IA-32/AMD64 vpminsw opcode. */
/* 771 */ OP_vpor, /**< IA-32/AMD64 vpor opcode. */
/* 772 */ OP_vpaddsb, /**< IA-32/AMD64 vpaddsb opcode. */
/* 773 */ OP_vpaddsw, /**< IA-32/AMD64 vpaddsw opcode. */
/* 774 */ OP_vpmaxsw, /**< IA-32/AMD64 vpmaxsw opcode. */
/* 775 */ OP_vpxor, /**< IA-32/AMD64 vpxor opcode. */
/* 776 */ OP_vpsllw, /**< IA-32/AMD64 vpsllw opcode. */
/* 777 */ OP_vpslld, /**< IA-32/AMD64 vpslld opcode. */
/* 778 */ OP_vpsllq, /**< IA-32/AMD64 vpsllq opcode. */
/* 779 */ OP_vpmuludq, /**< IA-32/AMD64 vpmuludq opcode. */
/* 780 */ OP_vpmaddwd, /**< IA-32/AMD64 vpmaddwd opcode. */
/* 781 */ OP_vpsadbw, /**< IA-32/AMD64 vpsadbw opcode. */
/* 782 */ OP_vmaskmovdqu, /**< IA-32/AMD64 vmaskmovdqu opcode. */
/* 783 */ OP_vpsubb, /**< IA-32/AMD64 vpsubb opcode. */
/* 784 */ OP_vpsubw, /**< IA-32/AMD64 vpsubw opcode. */
/* 785 */ OP_vpsubd, /**< IA-32/AMD64 vpsubd opcode. */
/* 786 */ OP_vpsubq, /**< IA-32/AMD64 vpsubq opcode. */
/* 787 */ OP_vpaddb, /**< IA-32/AMD64 vpaddb opcode. */
/* 788 */ OP_vpaddw, /**< IA-32/AMD64 vpaddw opcode. */
/* 789 */ OP_vpaddd, /**< IA-32/AMD64 vpaddd opcode. */
/* 790 */ OP_vpsrldq, /**< IA-32/AMD64 vpsrldq opcode. */
/* 791 */ OP_vpslldq, /**< IA-32/AMD64 vpslldq opcode. */
/* 792 */ OP_vmovdqu, /**< IA-32/AMD64 vmovdqu opcode. */
/* 793 */ OP_vmovdqa, /**< IA-32/AMD64 vmovdqa opcode. */
/* 794 */ OP_vhaddpd, /**< IA-32/AMD64 vhaddpd opcode. */
/* 795 */ OP_vhaddps, /**< IA-32/AMD64 vhaddps opcode. */
/* 796 */ OP_vhsubpd, /**< IA-32/AMD64 vhsubpd opcode. */
/* 797 */ OP_vhsubps, /**< IA-32/AMD64 vhsubps opcode. */
/* 798 */ OP_vaddsubpd, /**< IA-32/AMD64 vaddsubpd opcode. */
/* 799 */ OP_vaddsubps, /**< IA-32/AMD64 vaddsubps opcode. */
/* 800 */ OP_vlddqu, /**< IA-32/AMD64 vlddqu opcode. */
/* 801 */ OP_vpshufb, /**< IA-32/AMD64 vpshufb opcode. */
/* 802 */ OP_vphaddw, /**< IA-32/AMD64 vphaddw opcode. */
/* 803 */ OP_vphaddd, /**< IA-32/AMD64 vphaddd opcode. */
/* 804 */ OP_vphaddsw, /**< IA-32/AMD64 vphaddsw opcode. */
/* 805 */ OP_vpmaddubsw, /**< IA-32/AMD64 vpmaddubsw opcode. */
/* 806 */ OP_vphsubw, /**< IA-32/AMD64 vphsubw opcode. */
/* 807 */ OP_vphsubd, /**< IA-32/AMD64 vphsubd opcode. */
/* 808 */ OP_vphsubsw, /**< IA-32/AMD64 vphsubsw opcode. */
/* 809 */ OP_vpsignb, /**< IA-32/AMD64 vpsignb opcode. */
/* 810 */ OP_vpsignw, /**< IA-32/AMD64 vpsignw opcode. */
/* 811 */ OP_vpsignd, /**< IA-32/AMD64 vpsignd opcode. */
/* 812 */ OP_vpmulhrsw, /**< IA-32/AMD64 vpmulhrsw opcode. */
/* 813 */ OP_vpabsb, /**< IA-32/AMD64 vpabsb opcode. */
/* 814 */ OP_vpabsw, /**< IA-32/AMD64 vpabsw opcode. */
/* 815 */ OP_vpabsd, /**< IA-32/AMD64 vpabsd opcode. */
/* 816 */ OP_vpalignr, /**< IA-32/AMD64 vpalignr opcode. */
/* 817 */ OP_vpblendvb, /**< IA-32/AMD64 vpblendvb opcode. */
/* 818 */ OP_vblendvps, /**< IA-32/AMD64 vblendvps opcode. */
/* 819 */ OP_vblendvpd, /**< IA-32/AMD64 vblendvpd opcode. */
/* 820 */ OP_vptest, /**< IA-32/AMD64 vptest opcode. */
/* 821 */ OP_vpmovsxbw, /**< IA-32/AMD64 vpmovsxbw opcode. */
/* 822 */ OP_vpmovsxbd, /**< IA-32/AMD64 vpmovsxbd opcode. */
/* 823 */ OP_vpmovsxbq, /**< IA-32/AMD64 vpmovsxbq opcode. */
/* 824 */ OP_vpmovsxwd, /**< IA-32/AMD64 vpmovsxwd opcode. */
/* 825 */ OP_vpmovsxwq, /**< IA-32/AMD64 vpmovsxwq opcode. */
/* 826 */ OP_vpmovsxdq, /**< IA-32/AMD64 vpmovsxdq opcode. */
/* 827 */ OP_vpmuldq, /**< IA-32/AMD64 vpmuldq opcode. */
/* 828 */ OP_vpcmpeqq, /**< IA-32/AMD64 vpcmpeqq opcode. */
/* 829 */ OP_vmovntdqa, /**< IA-32/AMD64 vmovntdqa opcode. */
/* 830 */ OP_vpackusdw, /**< IA-32/AMD64 vpackusdw opcode. */
/* 831 */ OP_vpmovzxbw, /**< IA-32/AMD64 vpmovzxbw opcode. */
/* 832 */ OP_vpmovzxbd, /**< IA-32/AMD64 vpmovzxbd opcode. */
/* 833 */ OP_vpmovzxbq, /**< IA-32/AMD64 vpmovzxbq opcode. */
/* 834 */ OP_vpmovzxwd, /**< IA-32/AMD64 vpmovzxwd opcode. */
/* 835 */ OP_vpmovzxwq, /**< IA-32/AMD64 vpmovzxwq opcode. */
/* 836 */ OP_vpmovzxdq, /**< IA-32/AMD64 vpmovzxdq opcode. */
/* 837 */ OP_vpcmpgtq, /**< IA-32/AMD64 vpcmpgtq opcode. */
/* 838 */ OP_vpminsb, /**< IA-32/AMD64 vpminsb opcode. */
/* 839 */ OP_vpminsd, /**< IA-32/AMD64 vpminsd opcode. */
/* 840 */ OP_vpminuw, /**< IA-32/AMD64 vpminuw opcode. */
/* 841 */ OP_vpminud, /**< IA-32/AMD64 vpminud opcode. */
/* 842 */ OP_vpmaxsb, /**< IA-32/AMD64 vpmaxsb opcode. */
/* 843 */ OP_vpmaxsd, /**< IA-32/AMD64 vpmaxsd opcode. */
/* 844 */ OP_vpmaxuw, /**< IA-32/AMD64 vpmaxuw opcode. */
/* 845 */ OP_vpmaxud, /**< IA-32/AMD64 vpmaxud opcode. */
/* 846 */ OP_vpmulld, /**< IA-32/AMD64 vpmulld opcode. */
/* 847 */ OP_vphminposuw, /**< IA-32/AMD64 vphminposuw opcode. */
/* 848 */ OP_vaesimc, /**< IA-32/AMD64 vaesimc opcode. */
/* 849 */ OP_vaesenc, /**< IA-32/AMD64 vaesenc opcode. */
/* 850 */ OP_vaesenclast, /**< IA-32/AMD64 vaesenclast opcode. */
/* 851 */ OP_vaesdec, /**< IA-32/AMD64 vaesdec opcode. */
/* 852 */ OP_vaesdeclast, /**< IA-32/AMD64 vaesdeclast opcode. */
/* 853 */ OP_vpextrb, /**< IA-32/AMD64 vpextrb opcode. */
/* 854 */ OP_vpextrd, /**< IA-32/AMD64 vpextrd opcode. */
/* 855 */ OP_vextractps, /**< IA-32/AMD64 vextractps opcode. */
/* 856 */ OP_vroundps, /**< IA-32/AMD64 vroundps opcode. */
/* 857 */ OP_vroundpd, /**< IA-32/AMD64 vroundpd opcode. */
/* 858 */ OP_vroundss, /**< IA-32/AMD64 vroundss opcode. */
/* 859 */ OP_vroundsd, /**< IA-32/AMD64 vroundsd opcode. */
/* 860 */ OP_vblendps, /**< IA-32/AMD64 vblendps opcode. */
/* 861 */ OP_vblendpd, /**< IA-32/AMD64 vblendpd opcode. */
/* 862 */ OP_vpblendw, /**< IA-32/AMD64 vpblendw opcode. */
/* 863 */ OP_vpinsrb, /**< IA-32/AMD64 vpinsrb opcode. */
/* 864 */ OP_vinsertps, /**< IA-32/AMD64 vinsertps opcode. */
/* 865 */ OP_vpinsrd, /**< IA-32/AMD64 vpinsrd opcode. */
/* 866 */ OP_vdpps, /**< IA-32/AMD64 vdpps opcode. */
/* 867 */ OP_vdppd, /**< IA-32/AMD64 vdppd opcode. */
/* 868 */ OP_vmpsadbw, /**< IA-32/AMD64 vmpsadbw opcode. */
/* 869 */ OP_vpcmpestrm, /**< IA-32/AMD64 vpcmpestrm opcode. */
/* 870 */ OP_vpcmpestri, /**< IA-32/AMD64 vpcmpestri opcode. */
/* 871 */ OP_vpcmpistrm, /**< IA-32/AMD64 vpcmpistrm opcode. */
/* 872 */ OP_vpcmpistri, /**< IA-32/AMD64 vpcmpistri opcode. */
/* 873 */ OP_vpclmulqdq, /**< IA-32/AMD64 vpclmulqdq opcode. */
/* 874 */ OP_vaeskeygenassist, /**< IA-32/AMD64 vaeskeygenassist opcode. */
/* 875 */ OP_vtestps, /**< IA-32/AMD64 vtestps opcode. */
/* 876 */ OP_vtestpd, /**< IA-32/AMD64 vtestpd opcode. */
/* 877 */ OP_vzeroupper, /**< IA-32/AMD64 vzeroupper opcode. */
/* 878 */ OP_vzeroall, /**< IA-32/AMD64 vzeroall opcode. */
/* 879 */ OP_vldmxcsr, /**< IA-32/AMD64 vldmxcsr opcode. */
/* 880 */ OP_vstmxcsr, /**< IA-32/AMD64 vstmxcsr opcode. */
/* 881 */ OP_vbroadcastss, /**< IA-32/AMD64 vbroadcastss opcode. */
/* 882 */ OP_vbroadcastsd, /**< IA-32/AMD64 vbroadcastsd opcode. */
/* 883 */ OP_vbroadcastf128, /**< IA-32/AMD64 vbroadcastf128 opcode. */
/* 884 */ OP_vmaskmovps, /**< IA-32/AMD64 vmaskmovps opcode. */
/* 885 */ OP_vmaskmovpd, /**< IA-32/AMD64 vmaskmovpd opcode. */
/* 886 */ OP_vpermilps, /**< IA-32/AMD64 vpermilps opcode. */
/* 887 */ OP_vpermilpd, /**< IA-32/AMD64 vpermilpd opcode. */
/* 888 */ OP_vperm2f128, /**< IA-32/AMD64 vperm2f128 opcode. */
/* 889 */ OP_vinsertf128, /**< IA-32/AMD64 vinsertf128 opcode. */
/* 890 */ OP_vextractf128, /**< IA-32/AMD64 vextractf128 opcode. */
/* added in Ivy Bridge I believe, and covered by F16C cpuid flag */
/* 891 */ OP_vcvtph2ps, /**< IA-32/AMD64 vcvtph2ps opcode. */
/* 892 */ OP_vcvtps2ph, /**< IA-32/AMD64 vcvtps2ph opcode. */
/* FMA */
/* 893 */ OP_vfmadd132ps, /**< IA-32/AMD64 vfmadd132ps opcode. */
/* 894 */ OP_vfmadd132pd, /**< IA-32/AMD64 vfmadd132pd opcode. */
/* 895 */ OP_vfmadd213ps, /**< IA-32/AMD64 vfmadd213ps opcode. */
/* 896 */ OP_vfmadd213pd, /**< IA-32/AMD64 vfmadd213pd opcode. */
/* 897 */ OP_vfmadd231ps, /**< IA-32/AMD64 vfmadd231ps opcode. */
/* 898 */ OP_vfmadd231pd, /**< IA-32/AMD64 vfmadd231pd opcode. */
/* 899 */ OP_vfmadd132ss, /**< IA-32/AMD64 vfmadd132ss opcode. */
/* 900 */ OP_vfmadd132sd, /**< IA-32/AMD64 vfmadd132sd opcode. */
/* 901 */ OP_vfmadd213ss, /**< IA-32/AMD64 vfmadd213ss opcode. */
/* 902 */ OP_vfmadd213sd, /**< IA-32/AMD64 vfmadd213sd opcode. */
/* 903 */ OP_vfmadd231ss, /**< IA-32/AMD64 vfmadd231ss opcode. */
/* 904 */ OP_vfmadd231sd, /**< IA-32/AMD64 vfmadd231sd opcode. */
/* 905 */ OP_vfmaddsub132ps, /**< IA-32/AMD64 vfmaddsub132ps opcode. */
/* 906 */ OP_vfmaddsub132pd, /**< IA-32/AMD64 vfmaddsub132pd opcode. */
/* 907 */ OP_vfmaddsub213ps, /**< IA-32/AMD64 vfmaddsub213ps opcode. */
/* 908 */ OP_vfmaddsub213pd, /**< IA-32/AMD64 vfmaddsub213pd opcode. */
/* 909 */ OP_vfmaddsub231ps, /**< IA-32/AMD64 vfmaddsub231ps opcode. */
/* 910 */ OP_vfmaddsub231pd, /**< IA-32/AMD64 vfmaddsub231pd opcode. */
/* 911 */ OP_vfmsubadd132ps, /**< IA-32/AMD64 vfmsubadd132ps opcode. */
/* 912 */ OP_vfmsubadd132pd, /**< IA-32/AMD64 vfmsubadd132pd opcode. */
/* 913 */ OP_vfmsubadd213ps, /**< IA-32/AMD64 vfmsubadd213ps opcode. */
/* 914 */ OP_vfmsubadd213pd, /**< IA-32/AMD64 vfmsubadd213pd opcode. */
/* 915 */ OP_vfmsubadd231ps, /**< IA-32/AMD64 vfmsubadd231ps opcode. */
/* 916 */ OP_vfmsubadd231pd, /**< IA-32/AMD64 vfmsubadd231pd opcode. */
/* 917 */ OP_vfmsub132ps, /**< IA-32/AMD64 vfmsub132ps opcode. */
/* 918 */ OP_vfmsub132pd, /**< IA-32/AMD64 vfmsub132pd opcode. */
/* 919 */ OP_vfmsub213ps, /**< IA-32/AMD64 vfmsub213ps opcode. */
/* 920 */ OP_vfmsub213pd, /**< IA-32/AMD64 vfmsub213pd opcode. */
/* 921 */ OP_vfmsub231ps, /**< IA-32/AMD64 vfmsub231ps opcode. */
/* 922 */ OP_vfmsub231pd, /**< IA-32/AMD64 vfmsub231pd opcode. */
/* 923 */ OP_vfmsub132ss, /**< IA-32/AMD64 vfmsub132ss opcode. */
/* 924 */ OP_vfmsub132sd, /**< IA-32/AMD64 vfmsub132sd opcode. */
/* 925 */ OP_vfmsub213ss, /**< IA-32/AMD64 vfmsub213ss opcode. */
/* 926 */ OP_vfmsub213sd, /**< IA-32/AMD64 vfmsub213sd opcode. */
/* 927 */ OP_vfmsub231ss, /**< IA-32/AMD64 vfmsub231ss opcode. */
/* 928 */ OP_vfmsub231sd, /**< IA-32/AMD64 vfmsub231sd opcode. */
/* 929 */ OP_vfnmadd132ps, /**< IA-32/AMD64 vfnmadd132ps opcode. */
/* 930 */ OP_vfnmadd132pd, /**< IA-32/AMD64 vfnmadd132pd opcode. */
/* 931 */ OP_vfnmadd213ps, /**< IA-32/AMD64 vfnmadd213ps opcode. */
/* 932 */ OP_vfnmadd213pd, /**< IA-32/AMD64 vfnmadd213pd opcode. */
/* 933 */ OP_vfnmadd231ps, /**< IA-32/AMD64 vfnmadd231ps opcode. */
/* 934 */ OP_vfnmadd231pd, /**< IA-32/AMD64 vfnmadd231pd opcode. */
/* 935 */ OP_vfnmadd132ss, /**< IA-32/AMD64 vfnmadd132ss opcode. */
/* 936 */ OP_vfnmadd132sd, /**< IA-32/AMD64 vfnmadd132sd opcode. */
/* 937 */ OP_vfnmadd213ss, /**< IA-32/AMD64 vfnmadd213ss opcode. */
/* 938 */ OP_vfnmadd213sd, /**< IA-32/AMD64 vfnmadd213sd opcode. */
/* 939 */ OP_vfnmadd231ss, /**< IA-32/AMD64 vfnmadd231ss opcode. */
/* 940 */ OP_vfnmadd231sd, /**< IA-32/AMD64 vfnmadd231sd opcode. */
/* 941 */ OP_vfnmsub132ps, /**< IA-32/AMD64 vfnmsub132ps opcode. */
/* 942 */ OP_vfnmsub132pd, /**< IA-32/AMD64 vfnmsub132pd opcode. */
/* 943 */ OP_vfnmsub213ps, /**< IA-32/AMD64 vfnmsub213ps opcode. */
/* 944 */ OP_vfnmsub213pd, /**< IA-32/AMD64 vfnmsub213pd opcode. */
/* 945 */ OP_vfnmsub231ps, /**< IA-32/AMD64 vfnmsub231ps opcode. */
/* 946 */ OP_vfnmsub231pd, /**< IA-32/AMD64 vfnmsub231pd opcode. */
/* 947 */ OP_vfnmsub132ss, /**< IA-32/AMD64 vfnmsub132ss opcode. */
/* 948 */ OP_vfnmsub132sd, /**< IA-32/AMD64 vfnmsub132sd opcode. */
/* 949 */ OP_vfnmsub213ss, /**< IA-32/AMD64 vfnmsub213ss opcode. */
/* 950 */ OP_vfnmsub213sd, /**< IA-32/AMD64 vfnmsub213sd opcode. */
/* 951 */ OP_vfnmsub231ss, /**< IA-32/AMD64 vfnmsub231ss opcode. */
/* 952 */ OP_vfnmsub231sd, /**< IA-32/AMD64 vfnmsub231sd opcode. */
/* 953 */ OP_movq2dq, /**< IA-32/AMD64 movq2dq opcode. */
/* 954 */ OP_movdq2q, /**< IA-32/AMD64 movdq2q opcode. */
/* 955 */ OP_fxsave64, /**< IA-32/AMD64 fxsave64 opcode. */
/* 956 */ OP_fxrstor64, /**< IA-32/AMD64 fxrstor64 opcode. */
/* 957 */ OP_xsave64, /**< IA-32/AMD64 xsave64 opcode. */
/* 958 */ OP_xrstor64, /**< IA-32/AMD64 xrstor64 opcode. */
/* 959 */ OP_xsaveopt64, /**< IA-32/AMD64 xsaveopt64 opcode. */
/* added in Intel Ivy Bridge: RDRAND and FSGSBASE cpuid flags */
/* 960 */ OP_rdrand, /**< IA-32/AMD64 rdrand opcode. */
/* 961 */ OP_rdfsbase, /**< IA-32/AMD64 rdfsbase opcode. */
/* 962 */ OP_rdgsbase, /**< IA-32/AMD64 rdgsbase opcode. */
/* 963 */ OP_wrfsbase, /**< IA-32/AMD64 wrfsbase opcode. */
/* 964 */ OP_wrgsbase, /**< IA-32/AMD64 wrgsbase opcode. */
/* coming in the future but adding now since enough details are known */
/* 965 */ OP_rdseed, /**< IA-32/AMD64 rdseed opcode. */
/* AMD FMA4 */
/* 966 */ OP_vfmaddsubps, /**< IA-32/AMD64 vfmaddsubps opcode. */
/* 967 */ OP_vfmaddsubpd, /**< IA-32/AMD64 vfmaddsubpd opcode. */
/* 968 */ OP_vfmsubaddps, /**< IA-32/AMD64 vfmsubaddps opcode. */
/* 969 */ OP_vfmsubaddpd, /**< IA-32/AMD64 vfmsubaddpd opcode. */
/* 970 */ OP_vfmaddps, /**< IA-32/AMD64 vfmaddps opcode. */
/* 971 */ OP_vfmaddpd, /**< IA-32/AMD64 vfmaddpd opcode. */
/* 972 */ OP_vfmaddss, /**< IA-32/AMD64 vfmaddss opcode. */
/* 973 */ OP_vfmaddsd, /**< IA-32/AMD64 vfmaddsd opcode. */
/* 974 */ OP_vfmsubps, /**< IA-32/AMD64 vfmsubps opcode. */
/* 975 */ OP_vfmsubpd, /**< IA-32/AMD64 vfmsubpd opcode. */
/* 976 */ OP_vfmsubss, /**< IA-32/AMD64 vfmsubss opcode. */
/* 977 */ OP_vfmsubsd, /**< IA-32/AMD64 vfmsubsd opcode. */
/* 978 */ OP_vfnmaddps, /**< IA-32/AMD64 vfnmaddps opcode. */
/* 979 */ OP_vfnmaddpd, /**< IA-32/AMD64 vfnmaddpd opcode. */
/* 980 */ OP_vfnmaddss, /**< IA-32/AMD64 vfnmaddss opcode. */
/* 981 */ OP_vfnmaddsd, /**< IA-32/AMD64 vfnmaddsd opcode. */
/* 982 */ OP_vfnmsubps, /**< IA-32/AMD64 vfnmsubps opcode. */
/* 983 */ OP_vfnmsubpd, /**< IA-32/AMD64 vfnmsubpd opcode. */
/* 984 */ OP_vfnmsubss, /**< IA-32/AMD64 vfnmsubss opcode. */
/* 985 */ OP_vfnmsubsd, /**< IA-32/AMD64 vfnmsubsd opcode. */
/* AMD XOP */
/* 986 */ OP_vfrczps, /**< IA-32/AMD64 vfrczps opcode. */
/* 987 */ OP_vfrczpd, /**< IA-32/AMD64 vfrczpd opcode. */
/* 988 */ OP_vfrczss, /**< IA-32/AMD64 vfrczss opcode. */
/* 989 */ OP_vfrczsd, /**< IA-32/AMD64 vfrczsd opcode. */
/* 990 */ OP_vpcmov, /**< IA-32/AMD64 vpcmov opcode. */
/* 991 */ OP_vpcomb, /**< IA-32/AMD64 vpcomb opcode. */
/* 992 */ OP_vpcomw, /**< IA-32/AMD64 vpcomw opcode. */
/* 993 */ OP_vpcomd, /**< IA-32/AMD64 vpcomd opcode. */
/* 994 */ OP_vpcomq, /**< IA-32/AMD64 vpcomq opcode. */
/* 995 */ OP_vpcomub, /**< IA-32/AMD64 vpcomub opcode. */
/* 996 */ OP_vpcomuw, /**< IA-32/AMD64 vpcomuw opcode. */
/* 997 */ OP_vpcomud, /**< IA-32/AMD64 vpcomud opcode. */
/* 998 */ OP_vpcomuq, /**< IA-32/AMD64 vpcomuq opcode. */
/* 999 */ OP_vpermil2pd, /**< IA-32/AMD64 vpermil2pd opcode. */
/* 1000 */ OP_vpermil2ps, /**< IA-32/AMD64 vpermil2ps opcode. */
/* 1001 */ OP_vphaddbw, /**< IA-32/AMD64 vphaddbw opcode. */
/* 1002 */ OP_vphaddbd, /**< IA-32/AMD64 vphaddbd opcode. */
/* 1003 */ OP_vphaddbq, /**< IA-32/AMD64 vphaddbq opcode. */
/* 1004 */ OP_vphaddwd, /**< IA-32/AMD64 vphaddwd opcode. */
/* 1005 */ OP_vphaddwq, /**< IA-32/AMD64 vphaddwq opcode. */
/* 1006 */ OP_vphadddq, /**< IA-32/AMD64 vphadddq opcode. */
/* 1007 */ OP_vphaddubw, /**< IA-32/AMD64 vphaddubw opcode. */
/* 1008 */ OP_vphaddubd, /**< IA-32/AMD64 vphaddubd opcode. */
/* 1009 */ OP_vphaddubq, /**< IA-32/AMD64 vphaddubq opcode. */
/* 1010 */ OP_vphadduwd, /**< IA-32/AMD64 vphadduwd opcode. */
/* 1011 */ OP_vphadduwq, /**< IA-32/AMD64 vphadduwq opcode. */
/* 1012 */ OP_vphaddudq, /**< IA-32/AMD64 vphaddudq opcode. */
/* 1013 */ OP_vphsubbw, /**< IA-32/AMD64 vphsubbw opcode. */
/* 1014 */ OP_vphsubwd, /**< IA-32/AMD64 vphsubwd opcode. */
/* 1015 */ OP_vphsubdq, /**< IA-32/AMD64 vphsubdq opcode. */
/* 1016 */ OP_vpmacssww, /**< IA-32/AMD64 vpmacssww opcode. */
/* 1017 */ OP_vpmacsswd, /**< IA-32/AMD64 vpmacsswd opcode. */
/* 1018 */ OP_vpmacssdql, /**< IA-32/AMD64 vpmacssdql opcode. */
/* 1019 */ OP_vpmacssdd, /**< IA-32/AMD64 vpmacssdd opcode. */
/* 1020 */ OP_vpmacssdqh, /**< IA-32/AMD64 vpmacssdqh opcode. */
/* 1021 */ OP_vpmacsww, /**< IA-32/AMD64 vpmacsww opcode. */
/* 1022 */ OP_vpmacswd, /**< IA-32/AMD64 vpmacswd opcode. */
/* 1023 */ OP_vpmacsdql, /**< IA-32/AMD64 vpmacsdql opcode. */
/* 1024 */ OP_vpmacsdd, /**< IA-32/AMD64 vpmacsdd opcode. */
/* 1025 */ OP_vpmacsdqh, /**< IA-32/AMD64 vpmacsdqh opcode. */
/* 1026 */ OP_vpmadcsswd, /**< IA-32/AMD64 vpmadcsswd opcode. */
/* 1027 */ OP_vpmadcswd, /**< IA-32/AMD64 vpmadcswd opcode. */
/* 1028 */ OP_vpperm, /**< IA-32/AMD64 vpperm opcode. */
/* 1029 */ OP_vprotb, /**< IA-32/AMD64 vprotb opcode. */
/* 1030 */ OP_vprotw, /**< IA-32/AMD64 vprotw opcode. */
/* 1031 */ OP_vprotd, /**< IA-32/AMD64 vprotd opcode. */
/* 1032 */ OP_vprotq, /**< IA-32/AMD64 vprotq opcode. */
/* 1033 */ OP_vpshlb, /**< IA-32/AMD64 vpshlb opcode. */
/* 1034 */ OP_vpshlw, /**< IA-32/AMD64 vpshlw opcode. */
/* 1035 */ OP_vpshld, /**< IA-32/AMD64 vpshld opcode. */
/* 1036 */ OP_vpshlq, /**< IA-32/AMD64 vpshlq opcode. */
/* 1037 */ OP_vpshab, /**< IA-32/AMD64 vpshab opcode. */
/* 1038 */ OP_vpshaw, /**< IA-32/AMD64 vpshaw opcode. */
/* 1039 */ OP_vpshad, /**< IA-32/AMD64 vpshad opcode. */
/* 1040 */ OP_vpshaq, /**< IA-32/AMD64 vpshaq opcode. */
/* AMD TBM */
/* 1041 */ OP_bextr, /**< IA-32/AMD64 bextr opcode. */
/* 1042 */ OP_blcfill, /**< IA-32/AMD64 blcfill opcode. */
/* 1043 */ OP_blci, /**< IA-32/AMD64 blci opcode. */
/* 1044 */ OP_blcic, /**< IA-32/AMD64 blcic opcode. */
/* 1045 */ OP_blcmsk, /**< IA-32/AMD64 blcmsk opcode. */
/* 1046 */ OP_blcs, /**< IA-32/AMD64 blcs opcode. */
/* 1047 */ OP_blsfill, /**< IA-32/AMD64 blsfill opcode. */
/* 1048 */ OP_blsic, /**< IA-32/AMD64 blsic opcode. */
/* 1049 */ OP_t1mskc, /**< IA-32/AMD64 t1mskc opcode. */
/* 1050 */ OP_tzmsk, /**< IA-32/AMD64 tzmsk opcode. */
/* AMD LWP */
/* 1051 */ OP_llwpcb, /**< IA-32/AMD64 llwpcb opcode. */
/* 1052 */ OP_slwpcb, /**< IA-32/AMD64 slwpcb opcode. */
/* 1053 */ OP_lwpins, /**< IA-32/AMD64 lwpins opcode. */
/* 1054 */ OP_lwpval, /**< IA-32/AMD64 lwpval opcode. */
/* Intel BMI1 */
/* (includes non-immed form of OP_bextr) */
/* 1055 */ OP_andn, /**< IA-32/AMD64 andn opcode. */
/* 1056 */ OP_blsr, /**< IA-32/AMD64 blsr opcode. */
/* 1057 */ OP_blsmsk, /**< IA-32/AMD64 blsmsk opcode. */
/* 1058 */ OP_blsi, /**< IA-32/AMD64 blsi opcode. */
/* 1059 */ OP_tzcnt, /**< IA-32/AMD64 tzcnt opcode. */
/* Intel BMI2 */
/* 1060 */ OP_bzhi, /**< IA-32/AMD64 bzhi opcode. */
/* 1061 */ OP_pext, /**< IA-32/AMD64 pext opcode. */
/* 1062 */ OP_pdep, /**< IA-32/AMD64 pdep opcode. */
/* 1063 */ OP_sarx, /**< IA-32/AMD64 sarx opcode. */
/* 1064 */ OP_shlx, /**< IA-32/AMD64 shlx opcode. */
/* 1065 */ OP_shrx, /**< IA-32/AMD64 shrx opcode. */
/* 1066 */ OP_rorx, /**< IA-32/AMD64 rorx opcode. */
/* 1067 */ OP_mulx, /**< IA-32/AMD64 mulx opcode. */
/* Intel Safer Mode Extensions */
/* 1068 */ OP_getsec, /**< IA-32/AMD64 getsec opcode. */
/* Misc Intel additions */
/* 1069 */ OP_vmfunc, /**< IA-32/AMD64 vmfunc opcode. */
/* 1070 */ OP_invpcid, /**< IA-32/AMD64 invpcid opcode. */
/* Intel TSX */
/* 1071 */ OP_xabort, /**< IA-32/AMD64 xabort opcode. */
/* 1072 */ OP_xbegin, /**< IA-32/AMD64 xbegin opcode. */
/* 1073 */ OP_xend, /**< IA-32/AMD64 xend opcode. */
/* 1074 */ OP_xtest, /**< IA-32/AMD64 xtest opcode. */
/* AVX2 */
/* 1075 */ OP_vpgatherdd, /**< IA-32/AMD64 vpgatherdd opcode. */
/* 1076 */ OP_vpgatherdq, /**< IA-32/AMD64 vpgatherdq opcode. */
/* 1077 */ OP_vpgatherqd, /**< IA-32/AMD64 vpgatherqd opcode. */
/* 1078 */ OP_vpgatherqq, /**< IA-32/AMD64 vpgatherqq opcode. */
/* 1079 */ OP_vgatherdps, /**< IA-32/AMD64 vgatherdps opcode. */
/* 1080 */ OP_vgatherdpd, /**< IA-32/AMD64 vgatherdpd opcode. */
/* 1081 */ OP_vgatherqps, /**< IA-32/AMD64 vgatherqps opcode. */
/* 1082 */ OP_vgatherqpd, /**< IA-32/AMD64 vgatherqpd opcode. */
/* 1083 */ OP_vbroadcasti128, /**< IA-32/AMD64 vbroadcasti128 opcode. */
/* 1084 */ OP_vinserti128, /**< IA-32/AMD64 vinserti128 opcode. */
/* 1085 */ OP_vextracti128, /**< IA-32/AMD64 vextracti128 opcode. */
/* 1086 */ OP_vpmaskmovd, /**< IA-32/AMD64 vpmaskmovd opcode. */
/* 1087 */ OP_vpmaskmovq, /**< IA-32/AMD64 vpmaskmovq opcode. */
/* 1088 */ OP_vperm2i128, /**< IA-32/AMD64 vperm2i128 opcode. */
/* 1089 */ OP_vpermd, /**< IA-32/AMD64 vpermd opcode. */
/* 1090 */ OP_vpermps, /**< IA-32/AMD64 vpermps opcode. */
/* 1091 */ OP_vpermq, /**< IA-32/AMD64 vpermq opcode. */
/* 1092 */ OP_vpermpd, /**< IA-32/AMD64 vpermpd opcode. */
/* 1093 */ OP_vpblendd, /**< IA-32/AMD64 vpblendd opcode. */
/* 1094 */ OP_vpsllvd, /**< IA-32/AMD64 vpsllvd opcode. */
/* 1095 */ OP_vpsllvq, /**< IA-32/AMD64 vpsllvq opcode. */
/* 1096 */ OP_vpsravd, /**< IA-32/AMD64 vpsravd opcode. */
/* 1097 */ OP_vpsrlvd, /**< IA-32/AMD64 vpsrlvd opcode. */
/* 1098 */ OP_vpsrlvq, /**< IA-32/AMD64 vpsrlvq opcode. */
/* Keep these at the end so that ifdefs don't change internal enum values */
#ifdef IA32_ON_IA64
/* 1099 */ OP_jmpe, /**< IA-32/AMD64 jmpe opcode. */
/* 1100 */ OP_jmpe_abs, /**< IA-32/AMD64 jmpe_abs opcode. */
#endif
OP_AFTER_LAST,
OP_FIRST = OP_add, /**< First real opcode. */
OP_LAST = OP_AFTER_LAST - 1, /**< Last real opcode. */
};
#ifdef IA32_ON_IA64
/* redefine instead of if else so works with genapi.pl script */
#define OP_LAST OP_jmpe_abs
#endif
/* alternative names */
/* we do not equate the fwait+op opcodes
* fstsw, fstcw, fstenv, finit, fclex
* for us that has to be a sequence of instructions: a separate fwait
*/
/* XXX i#1307: we could add extra decode table layers to print the proper name
* when we disassemble these, but it's not clear it's worth the effort.
*/
/* 16-bit versions that have different names */
#define OP_cbw OP_cwde /**< Alternative opcode name for 16-bit version. */
#define OP_cwd OP_cdq /**< Alternative opcode name for 16-bit version. */
#define OP_jcxz OP_jecxz /**< Alternative opcode name for 16-bit version. */
/* 64-bit versions that have different names */
#define OP_cdqe OP_cwde /**< Alternative opcode name for 64-bit version. */
#define OP_cqo OP_cdq /**< Alternative opcode name for 64-bit version. */
#define OP_jrcxz OP_jecxz /**< Alternative opcode name for 64-bit version. */
#define OP_cmpxchg16b OP_cmpxchg8b /**< Alternative opcode name for 64-bit version. */
#define OP_pextrq OP_pextrd /**< Alternative opcode name for 64-bit version. */
#define OP_pinsrq OP_pinsrd /**< Alternative opcode name for 64-bit version. */
#define OP_vpextrq OP_vpextrd /**< Alternative opcode name for 64-bit version. */
#define OP_vpinsrq OP_vpinsrd /**< Alternative opcode name for 64-bit version. */
/* reg-reg version has different name */
#define OP_movhlps OP_movlps /**< Alternative opcode name for reg-reg version. */
#define OP_movlhps OP_movhps /**< Alternative opcode name for reg-reg version. */
#define OP_vmovhlps OP_vmovlps /**< Alternative opcode name for reg-reg version. */
#define OP_vmovlhps OP_vmovhps /**< Alternative opcode name for reg-reg version. */
/* condition codes */
#define OP_jae_short OP_jnb_short /**< Alternative opcode name. */
#define OP_jnae_short OP_jb_short /**< Alternative opcode name. */
#define OP_ja_short OP_jnbe_short /**< Alternative opcode name. */
#define OP_jna_short OP_jbe_short /**< Alternative opcode name. */
#define OP_je_short OP_jz_short /**< Alternative opcode name. */
#define OP_jne_short OP_jnz_short /**< Alternative opcode name. */
#define OP_jge_short OP_jnl_short /**< Alternative opcode name. */
#define OP_jg_short OP_jnle_short /**< Alternative opcode name. */
#define OP_jae OP_jnb /**< Alternative opcode name. */
#define OP_jnae OP_jb /**< Alternative opcode name. */
#define OP_ja OP_jnbe /**< Alternative opcode name. */
#define OP_jna OP_jbe /**< Alternative opcode name. */
#define OP_je OP_jz /**< Alternative opcode name. */
#define OP_jne OP_jnz /**< Alternative opcode name. */
#define OP_jge OP_jnl /**< Alternative opcode name. */
#define OP_jg OP_jnle /**< Alternative opcode name. */
#define OP_setae OP_setnb /**< Alternative opcode name. */
#define OP_setnae OP_setb /**< Alternative opcode name. */
#define OP_seta OP_setnbe /**< Alternative opcode name. */
#define OP_setna OP_setbe /**< Alternative opcode name. */
#define OP_sete OP_setz /**< Alternative opcode name. */
#define OP_setne OP_setnz /**< Alternative opcode name. */
#define OP_setge OP_setnl /**< Alternative opcode name. */
#define OP_setg OP_setnle /**< Alternative opcode name. */
#define OP_cmovae OP_cmovnb /**< Alternative opcode name. */
#define OP_cmovnae OP_cmovb /**< Alternative opcode name. */
#define OP_cmova OP_cmovnbe /**< Alternative opcode name. */
#define OP_cmovna OP_cmovbe /**< Alternative opcode name. */
#define OP_cmove OP_cmovz /**< Alternative opcode name. */
#define OP_cmovne OP_cmovnz /**< Alternative opcode name. */
#define OP_cmovge OP_cmovnl /**< Alternative opcode name. */
#define OP_cmovg OP_cmovnle /**< Alternative opcode name. */
#ifndef X64
# define OP_fxsave OP_fxsave32 /**< Alternative opcode name. */
# define OP_fxrstor OP_fxrstor32 /**< Alternative opcode name. */
# define OP_xsave OP_xsave32 /**< Alternative opcode name. */
# define OP_xrstor OP_xrstor32 /**< Alternative opcode name. */
# define OP_xsaveopt OP_xsaveopt32 /**< Alternative opcode name. */
#endif
#define OP_wait OP_fwait /**< Alternative opcode name. */
#define OP_sal OP_shl /**< Alternative opcode name. */
#define OP_load OP_mov_ld /**< Platform-independent opcode name for load. */
#define OP_store OP_mov_st /**< Platform-independent opcode name for store. */
/* undocumented opcodes */
#define OP_icebp OP_int1
#define OP_setalc OP_salc
/****************************************************************************/
/* DR_API EXPORT END */
enum {
RAW_OPCODE_nop = 0x90,
RAW_OPCODE_jmp_short = 0xeb,
RAW_OPCODE_call = 0xe8,
RAW_OPCODE_ret = 0xc3,
RAW_OPCODE_jmp = 0xe9,
RAW_OPCODE_push_imm32 = 0x68,
RAW_OPCODE_pop_eax = 0x58,
RAW_OPCODE_jcc_short_start = 0x70,
RAW_OPCODE_jcc_short_end = 0x7f,
RAW_OPCODE_jcc_byte1 = 0x0f,
RAW_OPCODE_jcc_byte2_start = 0x80,
RAW_OPCODE_jcc_byte2_end = 0x8f,
RAW_OPCODE_loop_start = 0xe0,
RAW_OPCODE_loop_end = 0xe3,
RAW_OPCODE_lea = 0x8d,
RAW_PREFIX_jcc_not_taken = 0x2e,
RAW_PREFIX_jcc_taken = 0x3e,
RAW_PREFIX_lock = 0xf0,
RAW_PREFIX_xacquire = 0xf2,
RAW_PREFIX_xrelease = 0xf3,
};
enum { /* FIXME: vs RAW_OPCODE_* enum */
FS_SEG_OPCODE = 0x64,
GS_SEG_OPCODE = 0x65,
/* For Windows, we piggyback on native TLS via gs for x64 and fs for x86.
* For Linux, we steal a segment register, and so use fs for x86 (where
* pthreads uses gs) and gs for x64 (where pthreads uses fs) (presumably
* to avoid conflicts w/ wine).
*/
#ifdef X64
TLS_SEG_OPCODE = GS_SEG_OPCODE,
#else
TLS_SEG_OPCODE = FS_SEG_OPCODE,
#endif
DATA_PREFIX_OPCODE = 0x66,
ADDR_PREFIX_OPCODE = 0x67,
REPNE_PREFIX_OPCODE = 0xf2,
REP_PREFIX_OPCODE = 0xf3,
REX_PREFIX_BASE_OPCODE = 0x40,
REX_PREFIX_W_OPFLAG = 0x8,
REX_PREFIX_R_OPFLAG = 0x4,
REX_PREFIX_X_OPFLAG = 0x2,
REX_PREFIX_B_OPFLAG = 0x1,
REX_PREFIX_ALL_OPFLAGS = 0xf,
MOV_REG2MEM_OPCODE = 0x89,
MOV_MEM2REG_OPCODE = 0x8b,
MOV_XAX2MEM_OPCODE = 0xa3, /* no ModRm */
MOV_MEM2XAX_OPCODE = 0xa1, /* no ModRm */
MOV_IMM2XAX_OPCODE = 0xb8, /* no ModRm */
MOV_IMM2XBX_OPCODE = 0xbb, /* no ModRm */
MOV_IMM2MEM_OPCODE = 0xc7, /* has ModRm */
JECXZ_OPCODE = 0xe3,
JMP_SHORT_OPCODE = 0xeb,
JMP_OPCODE = 0xe9,
JNE_OPCODE_1 = 0x0f,
SAHF_OPCODE = 0x9e,
LAHF_OPCODE = 0x9f,
SETO_OPCODE_1 = 0x0f,
SETO_OPCODE_2 = 0x90,
ADD_AL_OPCODE = 0x04,
INC_MEM32_OPCODE_1 = 0xff, /* has /0 as well */
MODRM16_DISP16 = 0x06, /* see vol.2 Table 2-1 for modR/M */
SIB_DISP32 = 0x25, /* see vol.2 Table 2-1 for modR/M */
};
#endif /* _OPCODE_H_ */