/* native_client/src/trusted/validator/x86/decoder/gen/ncopcode_insts_impl.h
 * THIS FILE IS AUTO_GENERATED DO NOT EDIT.
 *
 * This file was auto-generated by enum_gen.py
 * from file ncopcode_insts.enum
 */

/* Define the corresponding names of NaClMnemonic. */
static const char* const g_NaClMnemonicName[NaClMnemonicEnumSize + 1] = {
  "Aaa",
  "Aad",
  "Aam",
  "Aas",
  "Adc",
  "Add",
  "Addpd",
  "Addps",
  "Addsd",
  "Addss",
  "Addsubpd",
  "Addsubps",
  "And",
  "Andnpd",
  "Andnps",
  "Andpd",
  "Andps",
  "Arpl",
  "Blendpd",
  "Blendps",
  "Blendvpd",
  "Blendvps",
  "Bound",
  "Bsf",
  "Bsr",
  "Bswap",
  "Bt",
  "Btc",
  "Btr",
  "Bts",
  "Call",
  "Cbw",
  "Cdq",
  "Cdqe",
  "Clc",
  "Cld",
  "Clflush",
  "Clgi",
  "Cli",
  "Clts",
  "Cmc",
  "Cmovb",
  "Cmovbe",
  "Cmovl",
  "Cmovle",
  "Cmovnb",
  "Cmovnbe",
  "Cmovnl",
  "Cmovnle",
  "Cmovno",
  "Cmovnp",
  "Cmovns",
  "Cmovnz",
  "Cmovo",
  "Cmovp",
  "Cmovs",
  "Cmovz",
  "Cmp",
  "Cmppd",
  "Cmpps",
  "Cmpsb",
  "Cmpsd",
  "Cmpsd_xmm",
  "Cmpsq",
  "Cmpss",
  "Cmpsw",
  "Cmpxchg",
  "Cmpxchg16b",
  "Cmpxchg8b",
  "Comisd",
  "Comiss",
  "Cpuid",
  "Cqo",
  "Crc32",
  "Cvtdq2pd",
  "Cvtdq2ps",
  "Cvtpd2dq",
  "Cvtpd2pi",
  "Cvtpd2ps",
  "Cvtpi2pd",
  "Cvtpi2ps",
  "Cvtps2dq",
  "Cvtps2pd",
  "Cvtps2pi",
  "Cvtsd2pi",
  "Cvtsd2si",
  "Cvtsd2ss",
  "Cvtsi2sd",
  "Cvtsi2ss",
  "Cvtss2sd",
  "Cvtss2si",
  "Cvttpd2dq",
  "Cvttpd2pi",
  "Cvttps2dq",
  "Cvttps2pi",
  "Cvttsd2pi",
  "Cvttsd2si",
  "Cvttss2si",
  "Cwd",
  "Cwde",
  "Daa",
  "Das",
  "Dec",
  "Div",
  "Divpd",
  "Divps",
  "Divsd",
  "Divss",
  "DontCare",
  "DontCareCondJump",
  "DontCareJump",
  "Dppd",
  "Dpps",
  "Emms",
  "Enter",
  "Extractps",
  "Extrq",
  "F2xm1",
  "Fabs",
  "Fadd",
  "Faddp",
  "Fbld",
  "Fbstp",
  "Fchs",
  "Fcmovb",
  "Fcmovbe",
  "Fcmove",
  "Fcmovnb",
  "Fcmovnbe",
  "Fcmovne",
  "Fcmovnu",
  "Fcmovu",
  "Fcom",
  "Fcomi",
  "Fcomip",
  "Fcomp",
  "Fcompp",
  "Fcos",
  "Fdecstp",
  "Fdiv",
  "Fdivp",
  "Fdivr",
  "Fdivrp",
  "Femms",
  "Ffree",
  "Fiadd",
  "Ficom",
  "Ficomp",
  "Fidiv",
  "Fidivr",
  "Fild",
  "Fimul",
  "Fincstp",
  "Fist",
  "Fistp",
  "Fisttp",
  "Fisub",
  "Fisubr",
  "Fld",
  "Fld1",
  "Fldcw",
  "Fldenv",
  "Fldl2e",
  "Fldl2t",
  "Fldlg2",
  "Fldln2",
  "Fldpi",
  "Fldz",
  "Fmul",
  "Fmulp",
  "Fnclex",
  "Fninit",
  "Fnop",
  "Fnsave",
  "Fnstcw",
  "Fnstenv",
  "Fnstsw",
  "Fpatan",
  "Fprem",
  "Fprem1",
  "Fptan",
  "Frndint",
  "Frstor",
  "Fscale",
  "Fsin",
  "Fsincos",
  "Fsqrt",
  "Fst",
  "Fstp",
  "Fsub",
  "Fsubp",
  "Fsubr",
  "Fsubrp",
  "Ftst",
  "Fucom",
  "Fucomi",
  "Fucomip",
  "Fucomp",
  "Fucompp",
  "Fwait",
  "Fxam",
  "Fxch",
  "Fxrstor",
  "Fxsave",
  "Fxtract",
  "Fyl2x",
  "Fyl2xp1",
  "Haddpd",
  "Haddps",
  "Hlt",
  "Hsubpd",
  "Hsubps",
  "Idiv",
  "Imul",
  "In",
  "Inc",
  "Insb",
  "Insd",
  "Insertps",
  "Insertq",
  "Insw",
  "Int",
  "Int1",
  "Int3",
  "Into",
  "Invalid",
  "Invd",
  "Invept",
  "Invlpg",
  "Invlpga",
  "Invvpid",
  "Iret",
  "Iretd",
  "Iretq",
  "Jb",
  "Jbe",
  "Jcxz",
  "Jecxz",
  "Jl",
  "Jle",
  "Jmp",
  "Jnb",
  "Jnbe",
  "Jnl",
  "Jnle",
  "Jno",
  "Jnp",
  "Jns",
  "Jnz",
  "Jo",
  "Jp",
  "Jrcxz",
  "Js",
  "Jz",
  "Lahf",
  "Lar",
  "Lddqu",
  "Ldmxcsr",
  "Lds",
  "Lea",
  "Leave",
  "Les",
  "Lfence",
  "Lfs",
  "Lgdt",
  "Lgs",
  "Lidt",
  "Lldt",
  "Lmsw",
  "Lodsb",
  "Lodsd",
  "Lodsq",
  "Lodsw",
  "Loop",
  "Loope",
  "Loopne",
  "Lsl",
  "Lss",
  "Ltr",
  "Lzcnt",
  "Maskmovdqu",
  "Maskmovq",
  "Maxpd",
  "Maxps",
  "Maxsd",
  "Maxss",
  "Mfence",
  "Minpd",
  "Minps",
  "Minsd",
  "Minss",
  "Monitor",
  "Mov",
  "Movapd",
  "Movaps",
  "Movbe",
  "Movd",
  "Movddup",
  "Movdq",
  "Movdq2q",
  "Movdqa",
  "Movdqu",
  "Movhlps",
  "Movhpd",
  "Movhps",
  "Movlhps",
  "Movlpd",
  "Movlps",
  "Movmskpd",
  "Movmskps",
  "Movntdq",
  "Movntdqa",
  "Movnti",
  "Movntpd",
  "Movntps",
  "Movntq",
  "Movntsd",
  "Movntss",
  "Movq",
  "Movq2dq",
  "Movsb",
  "Movsd",
  "Movshdup",
  "Movsldup",
  "Movsq",
  "Movss",
  "Movsw",
  "Movsx",
  "Movsxd",
  "Movupd",
  "Movups",
  "Movzx",
  "Mpsadbw",
  "Mul",
  "Mulpd",
  "Mulps",
  "Mulsd",
  "Mulss",
  "Mwait",
  "Neg",
  "Nop",
  "Not",
  "Or",
  "Orpd",
  "Orps",
  "Out",
  "Outsb",
  "Outsd",
  "Outsw",
  "Pabsb",
  "Pabsd",
  "Pabsw",
  "Packssdw",
  "Packsswb",
  "Packusdw",
  "Packuswb",
  "Paddb",
  "Paddd",
  "Paddq",
  "Paddsb",
  "Paddsw",
  "Paddusb",
  "Paddusw",
  "Paddw",
  "Palignr",
  "Pand",
  "Pandn",
  "Pause",
  "Pavgb",
  "Pavgusb",
  "Pavgw",
  "Pblendvb",
  "Pblendw",
  "Pcmpeqb",
  "Pcmpeqd",
  "Pcmpeqq",
  "Pcmpeqw",
  "Pcmpestri",
  "Pcmpestrm",
  "Pcmpgtb",
  "Pcmpgtd",
  "Pcmpgtq",
  "Pcmpgtw",
  "Pcmpistri",
  "Pcmpistrm",
  "Pextrb",
  "Pextrd",
  "Pextrq",
  "Pextrw",
  "Pf2id",
  "Pf2iw",
  "Pfacc",
  "Pfadd",
  "Pfcmpeq",
  "Pfcmpge",
  "Pfcmpgt",
  "Pfmax",
  "Pfmin",
  "Pfmul",
  "Pfnacc",
  "Pfpnacc",
  "Pfrcp",
  "Pfrcpit1",
  "Pfrcpit2",
  "Pfrsqit1",
  "Pfrsqrt",
  "Pfsub",
  "Pfsubr",
  "Phaddd",
  "Phaddsw",
  "Phaddw",
  "Phminposuw",
  "Phsubd",
  "Phsubsw",
  "Phsubw",
  "Pi2fd",
  "Pi2fw",
  "Pinsrb",
  "Pinsrd",
  "Pinsrq",
  "Pinsrw",
  "Pmaddubsw",
  "Pmaddwd",
  "Pmaxsb",
  "Pmaxsd",
  "Pmaxsw",
  "Pmaxub",
  "Pmaxud",
  "Pmaxuw",
  "Pminsb",
  "Pminsd",
  "Pminsw",
  "Pminub",
  "Pminud",
  "Pminuw",
  "Pmovmskb",
  "Pmovsxbd",
  "Pmovsxbq",
  "Pmovsxbw",
  "Pmovsxdq",
  "Pmovsxwd",
  "Pmovsxwq",
  "Pmovzxbd",
  "Pmovzxbq",
  "Pmovzxbw",
  "Pmovzxdq",
  "Pmovzxwd",
  "Pmovzxwq",
  "Pmuldq",
  "Pmulhrsw",
  "Pmulhrw",
  "Pmulhuw",
  "Pmulhw",
  "Pmulld",
  "Pmullw",
  "Pmuludq",
  "Pop",
  "Popa",
  "Popad",
  "Popcnt",
  "Popf",
  "Popfd",
  "Popfq",
  "Por",
  "Prefetch_exclusive",
  "Prefetch_modified",
  "Prefetch_reserved",
  "Prefetchnta",
  "Prefetcht0",
  "Prefetcht1",
  "Prefetcht2",
  "Psadbw",
  "Pshufb",
  "Pshufd",
  "Pshufhw",
  "Pshuflw",
  "Pshufw",
  "Psignb",
  "Psignd",
  "Psignw",
  "Pslld",
  "Pslldq",
  "Psllq",
  "Psllw",
  "Psrad",
  "Psraw",
  "Psrld",
  "Psrldq",
  "Psrlq",
  "Psrlw",
  "Psubb",
  "Psubd",
  "Psubq",
  "Psubsb",
  "Psubsw",
  "Psubusb",
  "Psubusw",
  "Psubw",
  "Pswapd",
  "Ptest",
  "Punpckhbd",
  "Punpckhbq",
  "Punpckhbw",
  "Punpckhdq",
  "Punpckhqdq",
  "Punpckhwd",
  "Punpcklbw",
  "Punpckldq",
  "Punpcklqdq",
  "Punpcklwd",
  "Push",
  "Pusha",
  "Pushad",
  "Pushf",
  "Pushfd",
  "Pushfq",
  "Pxor",
  "Rcl",
  "Rcpps",
  "Rcpss",
  "Rcr",
  "Rdmsr",
  "Rdpmc",
  "Rdtsc",
  "Rdtscp",
  "Ret",
  "Rol",
  "Ror",
  "Roundpd",
  "Roundps",
  "Roundsd",
  "Roundss",
  "Rsm",
  "Rsqrtps",
  "Rsqrtss",
  "Sahf",
  "Salc",
  "Sar",
  "Sbb",
  "Scasb",
  "Scasd",
  "Scasq",
  "Scasw",
  "Setb",
  "Setbe",
  "Setl",
  "Setle",
  "Setnb",
  "Setnbe",
  "Setnl",
  "Setnle",
  "Setno",
  "Setnp",
  "Setns",
  "Setnz",
  "Seto",
  "Setp",
  "Sets",
  "Setz",
  "Sfence",
  "Sgdt",
  "Shl",
  "Shld",
  "Shr",
  "Shrd",
  "Shufpd",
  "Shufps",
  "Sidt",
  "Skinit",
  "Sldt",
  "Smsw",
  "Sqrtpd",
  "Sqrtps",
  "Sqrtsd",
  "Sqrtss",
  "Stc",
  "Std",
  "Stgi",
  "Sti",
  "Stmxcsr",
  "Stosb",
  "Stosd",
  "Stosq",
  "Stosw",
  "Str",
  "Sub",
  "Subpd",
  "Subps",
  "Subsd",
  "Subss",
  "Swapgs",
  "Syscall",
  "Sysenter",
  "Sysexit",
  "Sysret",
  "Test",
  "Tzcnt",
  "Ucomisd",
  "Ucomiss",
  "Ud2",
  "Unpckhpd",
  "Unpckhps",
  "Unpcklpd",
  "Unpcklps",
  "Verr",
  "Verw",
  "Vmload",
  "Vmmcall",
  "Vmrun",
  "Vmsave",
  "Wbinvd",
  "Wrmsr",
  "Xadd",
  "Xchg",
  "Xlat",
  "Xor",
  "Xorpd",
  "Xorps",
  "NaClMnemonicEnumSize"
};

const char* NaClMnemonicName(NaClMnemonic name) {
  return name <= NaClMnemonicEnumSize
    ? g_NaClMnemonicName[name]
    : "NaClMnemonic???";
}
