Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9397 → Rev 9398

/kernel/trunk/asmxygen.py
21,1123 → 21,151
 
# fasm keywords
keywords = [
# Generic keywords
"align",
"equ",
"org",
"while",
"load",
"store",
"times",
"repeat",
"virtual",
"display",
"err",
"assert",
"if",
# Instructions
"aaa",
"aad",
"aam",
"aas",
"adc",
"adcx",
"add",
"addpd",
"addps",
"addsd",
"addss",
"addsubpd",
"addsubps",
"adox",
"aesdec",
"aesdeclast",
"aesenc",
"aesenclast",
"aesimc",
"aeskeygenassist",
"and",
"andn",
"andnpd",
"andnps",
"andpd",
"andps",
"arpl",
"bextr",
"blendpd",
"blendps",
"blendvpd",
"blendvps",
"blsi",
"blsmsk",
"blsr",
"bndcl",
"bndcn",
"bndcu",
"bndldx",
"bndmk",
"bndmov",
"bndstx",
"bound",
"bsf",
"bsr",
"bswap",
"bt",
"btc",
"btr",
"bts",
"bzhi",
"call",
"cbw",
"cdq",
"cdqe",
"clac",
"clc",
"cld",
"cldemote",
"clflush",
"clflushopt",
"cli",
"clts",
"clwb",
"cmc",
"cmova",
"cmovae",
"cmovb",
"cmovbe",
"cmovc",
"cmove",
"cmovg",
"cmovge",
"cmovl",
"cmovle",
"cmovna",
"cmovnae",
"cmovnb",
"cmovnbe",
"cmovnc",
"cmovne",
"cmovng",
"cmovnge",
"cmovnl",
"cmovnle",
"cmovno",
"cmovnp",
"cmovns",
"cmovnz",
"cmovo",
"cmovp",
"cmovpe",
"cmovpo",
"cmovs",
"cmovz",
"cmp",
"cmppd",
"cmpps",
"cmps",
"cmpsb",
"cmpsd",
"cmpsd",
"cmpsq",
"cmpss",
"cmpsw",
"cmpxchg",
"cmpxchg16b",
"cmpxchg8b",
"comisd",
"comiss",
"cpuid",
"cqo",
"crc32",
"cvtdq2pd",
"cvtdq2ps",
"cvtpd2dq",
"cvtpd2pi",
"cvtpd2ps",
"cvtpi2pd",
"cvtpi2ps",
"cvtps2dq",
"cvtps2pd",
"cvtps2pi",
"cvtsd2si",
"cvtsd2ss",
"cvtsi2sd",
"cvtsi2ss",
"cvtss2sd",
"cvtss2si",
"cvttpd2dq",
"cvttpd2pi",
"cvttps2dq",
"cvttps2pi",
"cvttsd2si",
"cvttss2si",
"cwd",
"cwde",
"daa",
"das",
"dec",
"div",
"divpd",
"divps",
"divsd",
"divss",
"dppd",
"dpps",
"emms",
"enter",
"extractps",
"f2xm1",
"fabs",
"fadd",
"faddp",
"fbld",
"fbstp",
"fchs",
"fclex",
"fcmova",
"fcmovae",
"fcmovb",
"fcmovbe",
"fcmovc",
"fcmove",
"fcmovg",
"fcmovge",
"fcmovl",
"fcmovle",
"fcmovna",
"fcmovnae",
"fcmovnb",
"fcmovnbe",
"fcmovnc",
"fcmovne",
"fcmovng",
"fcmovnge",
"fcmovnl",
"fcmovnle",
"fcmovno",
"fcmovnp",
"fcmovns",
"fcmovnz",
"fcmovo",
"fcmovp",
"fcmovpe",
"fcmovpo",
"fcmovs",
"fcmovz",
"fcom",
"fcomi",
"fcomip",
"fcomp",
"fcompp",
"fcos",
"fdecstp",
"fdiv",
"fdivp",
"fdivr",
"fdivrp",
"ffree",
"fiadd",
"ficom",
"ficomp",
"fidiv",
"fidivr",
"fild",
"fimul",
"fincstp",
"finit",
"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",
"fsave",
"fscale",
"fsin",
"fsincos",
"fsqrt",
"fst",
"fstcw",
"fstenv",
"fstp",
"fstsw",
"fsub",
"fsubp",
"fsubr",
"fsubrp",
"ftst",
"fucom",
"fucomi",
"fucomip",
"fucomp",
"fucompp",
"fwait",
"fxam",
"fxch",
"fxrstor",
"fxsave",
"fxtract",
"fyl2x",
"fyl2xp1",
"gf2p8affineinvqb",
"gf2p8affineqb",
"gf2p8mulb",
"haddpd",
"haddps",
"hlt",
"hsubpd",
"hsubps",
"idiv",
"imul",
"in",
"inc",
"ins",
"insb",
"insd",
"insertps",
"insw",
"int",
"int1",
"int3",
"into",
"invd",
"invlpg",
"invpcid",
"iret",
"iretd",
"jmp",
"ja",
"jae",
"jb",
"jbe",
"jc",
"jcxz",
"jecxz",
"je",
"jg",
"jge",
"jl",
"jle",
"jna",
"jnae",
"jnb",
"jnbe",
"jnc",
"jne",
"jng",
"jnge",
"jnl",
"jnle",
"jno",
"jnp",
"jns",
"jnz",
"jo",
"jp",
"jpe",
"jpo",
"js",
"jz",
"kaddb",
"kaddd",
"kaddq",
"kaddw",
"kandb",
"kandd",
"kandnb",
"kandnd",
"kandnq",
"kandnw",
"kandq",
"kandw",
"kmovb",
"kmovd",
"kmovq",
"kmovw",
"knotb",
"knotd",
"knotq",
"knotw",
"korb",
"kord",
"korq",
"kortestb",
"kortestd",
"kortestq",
"kortestw",
"korw",
"kshiftlb",
"kshiftld",
"kshiftlq",
"kshiftlw",
"kshiftrb",
"kshiftrd",
"kshiftrq",
"kshiftrw",
"ktestb",
"ktestd",
"ktestq",
"ktestw",
"kunpckbw",
"kunpckdq",
"kunpckwd",
"kxnorb",
"kxnord",
"kxnorq",
"kxnorw",
"kxorb",
"kxord",
"kxorq",
"kxorw",
"lahf",
"lar",
"lddqu",
"ldmxcsr",
"lds",
"lea",
"leave",
"les",
"lfence",
"lfs",
"lgdt",
"lgs",
"lidt",
"lldt",
"lmsw",
"lock",
"lods",
"lodsb",
"lodsd",
"lodsq",
"lodsw",
"loop",
"loopa",
"loopae",
"loopb",
"loopbe",
"loopc",
"loope",
"loopg",
"loopge",
"loopl",
"loople",
"loopna",
"loopnae",
"loopnb",
"loopnbe",
"loopnc",
"loopne",
"loopng",
"loopnge",
"loopnl",
"loopnle",
"loopno",
"loopnp",
"loopns",
"loopnz",
"loopo",
"loopp",
"looppe",
"looppo",
"loops",
"loopz",
"lsl",
"lss",
"ltr",
"lzcnt",
"maskmovdqu",
"maskmovq",
"maxpd",
"maxps",
"maxsd",
"maxss",
"mfence",
"minpd",
"minps",
"minsd",
"minss",
"monitor",
"mov",
"movapd",
"movaps",
"movbe",
"movd",
"movddup",
"movdir64b",
"movdiri",
"movdq2q",
"movdqa",
"movdqu",
"movhlps",
"movhpd",
"movhps",
"movlhps",
"movlpd",
"movlps",
"movmskpd",
"movmskps",
"movntdq",
"movntdqa",
"movnti",
"movntpd",
"movntps",
"movntq",
"movq",
"movq",
"movq2dq",
"movs",
"movsb",
"movsd",
"movsd",
"movshdup",
"movsldup",
"movsq",
"movss",
"movsw",
"movsx",
"movsxd",
"movupd",
"movups",
"movzx",
"mpsadbw",
"mul",
"mulpd",
"mulps",
"mulsd",
"mulss",
"mulx",
"mwait",
"neg",
"nop",
"not",
"or",
"orpd",
"orps",
"out",
"outs",
"outsb",
"outsd",
"outsw",
"pabsb",
"pabsd",
"pabsq",
"pabsw",
"packssdw",
"packsswb",
"packusdw",
"packuswb",
"paddb",
"paddd",
"paddq",
"paddsb",
"paddsw",
"paddusb",
"paddusw",
"paddw",
"palignr",
"pand",
"pandn",
"pause",
"pavgb",
"pavgw",
"pblendvb",
"pblendw",
"pclmulqdq",
"pcmpeqb",
"pcmpeqd",
"pcmpeqq",
"pcmpeqw",
"pcmpestri",
"pcmpestrm",
"pcmpgtb",
"pcmpgtd",
"pcmpgtq",
"pcmpgtw",
"pcmpistri",
"pcmpistrm",
"pdep",
"pext",
"pextrb",
"pextrd",
"pextrq",
"pextrw",
"phaddd",
"phaddsw",
"phaddw",
"phminposuw",
"phsubd",
"phsubsw",
"phsubw",
"pinsrb",
"pinsrd",
"pinsrq",
"pinsrw",
"pmaddubsw",
"pmaddwd",
"pmaxsb",
"pmaxsd",
"pmaxsq",
"pmaxsw",
"pmaxub",
"pmaxud",
"pmaxuq",
"pmaxuw",
"pminsb",
"pminsd",
"pminsq",
"pminsw",
"pminub",
"pminud",
"pminuq",
"pminuw",
"pmovmskb",
"pmovsx",
"pmovzx",
"pmuldq",
"pmulhrsw",
"pmulhuw",
"pmulhw",
"pmulld",
"pmullq",
"pmullw",
"pmuludq",
"pop",
"popa",
"popad",
"popcnt",
"popf",
"popfd",
"popfq",
"por",
"prefetchw",
"prefetchh",
"psadbw",
"pshufb",
"pshufd",
"pshufhw",
"pshuflw",
"pshufw",
"psignb",
"psignd",
"psignw",
"pslld",
"pslldq",
"psllq",
"psllw",
"psrad",
"psraq",
"psraw",
"psrld",
"psrldq",
"psrlq",
"psrlw",
"psubb",
"psubd",
"psubq",
"psubsb",
"psubsw",
"psubusb",
"psubusw",
"psubw",
"ptest",
"ptwrite",
"punpckhbw",
"punpckhdq",
"punpckhqdq",
"punpckhwd",
"punpcklbw",
"punpckldq",
"punpcklqdq",
"punpcklwd",
"push",
"pushw",
"pushd",
"pusha",
"pushad",
"pushf",
"pushfd",
"pushfq",
"pxor",
"rcl",
"rcpps",
"rcpss",
"rcr",
"rdfsbase",
"rdgsbase",
"rdmsr",
"rdpid",
"rdpkru",
"rdpmc",
"rdrand",
"rdseed",
"rdtsc",
"rdtscp",
"rep",
"repe",
"repne",
"repnz",
"repz",
"ret",
"rol",
"ror",
"rorx",
"roundpd",
"roundps",
"roundsd",
"roundss",
"rsm",
"rsqrtps",
"rsqrtss",
"sahf",
"sal",
"sar",
"sarx",
"sbb",
"scas",
"scasb",
"scasd",
"scasw",
"seta",
"setae",
"setb",
"setbe",
"setc",
"sete",
"setg",
"setge",
"setl",
"setle",
"setna",
"setnae",
"setnb",
"setnbe",
"setnc",
"setne",
"setng",
"setnge",
"setnl",
"setnle",
"setno",
"setnp",
"setns",
"setnz",
"seto",
"setp",
"setpe",
"setpo",
"sets",
"setz",
"sfence",
"sgdt",
"sha1msg1",
"sha1msg2",
"sha1nexte",
"sha1rnds4",
"sha256msg1",
"sha256msg2",
"sha256rnds2",
"shl",
"shld",
"shlx",
"shr",
"shrd",
"shrx",
"shufpd",
"shufps",
"sidt",
"sldt",
"smsw",
"sqrtpd",
"sqrtps",
"sqrtsd",
"sqrtss",
"stac",
"stc",
"std",
"sti",
"stmxcsr",
"stos",
"stosb",
"stosd",
"stosq",
"stosw",
"str",
"sub",
"subpd",
"subps",
"subsd",
"subss",
"swapgs",
"syscall",
"sysenter",
"sysexit",
"sysret",
"test",
"tpause",
"tzcnt",
"ucomisd",
"ucomiss",
"ud",
"umonitor",
"umwait",
"unpckhpd",
"unpckhps",
"unpcklpd",
"unpcklps",
"valignd",
"valignq",
"vblendmpd",
"vblendmps",
"vbroadcast",
"vcompresspd",
"vcompressps",
"vcvtpd2qq",
"vcvtpd2udq",
"vcvtpd2uqq",
"vcvtph2ps",
"vcvtps2ph",
"vcvtps2qq",
"vcvtps2udq",
"vcvtps2uqq",
"vcvtqq2pd",
"vcvtqq2ps",
"vcvtsd2usi",
"vcvtss2usi",
"vcvttpd2qq",
"vcvttpd2udq",
"vcvttpd2uqq",
"vcvttps2qq",
"vcvttps2udq",
"vcvttps2uqq",
"vcvttsd2usi",
"vcvttss2usi",
"vcvtudq2pd",
"vcvtudq2ps",
"vcvtuqq2pd",
"vcvtuqq2ps",
"vcvtusi2sd",
"vcvtusi2ss",
"vdbpsadbw",
"verr",
"verw",
"vexpandpd",
"vexpandps",
"vextractf128",
"vextractf32x4",
"vextractf32x8",
"vextractf64x2",
"vextractf64x4",
"vextracti128",
"vextracti32x4",
"vextracti32x8",
"vextracti64x2",
"vextracti64x4",
"vfixupimmpd",
"vfixupimmps",
"vfixupimmsd",
"vfixupimmss",
"vfmadd132pd",
"vfmadd132ps",
"vfmadd132sd",
"vfmadd132ss",
"vfmadd213pd",
"vfmadd213ps",
"vfmadd213sd",
"vfmadd213ss",
"vfmadd231pd",
"vfmadd231ps",
"vfmadd231sd",
"vfmadd231ss",
"vfmaddsub132pd",
"vfmaddsub132ps",
"vfmaddsub213pd",
"vfmaddsub213ps",
"vfmaddsub231pd",
"vfmaddsub231ps",
"vfmsub132pd",
"vfmsub132ps",
"vfmsub132sd",
"vfmsub132ss",
"vfmsub213pd",
"vfmsub213ps",
"vfmsub213sd",
"vfmsub213ss",
"vfmsub231pd",
"vfmsub231ps",
"vfmsub231sd",
"vfmsub231ss",
"vfmsubadd132pd",
"vfmsubadd132ps",
"vfmsubadd213pd",
"vfmsubadd213ps",
"vfmsubadd231pd",
"vfmsubadd231ps",
"vfnmadd132pd",
"vfnmadd132ps",
"vfnmadd132sd",
"vfnmadd132ss",
"vfnmadd213pd",
"vfnmadd213ps",
"vfnmadd213sd",
"vfnmadd213ss",
"vfnmadd231pd",
"vfnmadd231ps",
"vfnmadd231sd",
"vfnmadd231ss",
"vfnmsub132pd",
"vfnmsub132ps",
"vfnmsub132sd",
"vfnmsub132ss",
"vfnmsub213pd",
"vfnmsub213ps",
"vfnmsub213sd",
"vfnmsub213ss",
"vfnmsub231pd",
"vfnmsub231ps",
"vfnmsub231sd",
"vfnmsub231ss",
"vfpclasspd",
"vfpclassps",
"vfpclasssd",
"vfpclassss",
"vgatherdpd",
"vgatherdpd",
"vgatherdps",
"vgatherdps",
"vgatherqpd",
"vgatherqpd",
"vgatherqps",
"vgatherqps",
"vgetexppd",
"vgetexpps",
"vgetexpsd",
"vgetexpss",
"vgetmantpd",
"vgetmantps",
"vgetmantsd",
"vgetmantss",
"vinsertf128",
"vinsertf32x4",
"vinsertf32x8",
"vinsertf64x2",
"vinsertf64x4",
"vinserti128",
"vinserti32x4",
"vinserti32x8",
"vinserti64x2",
"vinserti64x4",
"vmaskmov",
"vmovdqa32",
"vmovdqa64",
"vmovdqu16",
"vmovdqu32",
"vmovdqu64",
"vmovdqu8",
"vpblendd",
"vpblendmb",
"vpblendmd",
"vpblendmq",
"vpblendmw",
"vpbroadcast",
"vpbroadcastb",
"vpbroadcastd",
"vpbroadcastm",
"vpbroadcastq",
"vpbroadcastw",
"vpcmpb",
"vpcmpd",
"vpcmpq",
"vpcmpub",
"vpcmpud",
"vpcmpuq",
"vpcmpuw",
"vpcmpw",
"vpcompressd",
"vpcompressq",
"vpconflictd",
"vpconflictq",
"vperm2f128",
"vperm2i128",
"vpermb",
"vpermd",
"vpermi2b",
"vpermi2d",
"vpermi2pd",
"vpermi2ps",
"vpermi2q",
"vpermi2w",
"vpermilpd",
"vpermilps",
"vpermpd",
"vpermps",
"vpermq",
"vpermt2b",
"vpermt2d",
"vpermt2pd",
"vpermt2ps",
"vpermt2q",
"vpermt2w",
"vpermw",
"vpexpandd",
"vpexpandq",
"vpgatherdd",
"vpgatherdd",
"vpgatherdq",
"vpgatherdq",
"vpgatherqd",
"vpgatherqd",
"vpgatherqq",
"vpgatherqq",
"vplzcntd",
"vplzcntq",
"vpmadd52huq",
"vpmadd52luq",
"vpmaskmov",
"vpmovb2m",
"vpmovd2m",
"vpmovdb",
"vpmovdw",
"vpmovm2b",
"vpmovm2d",
"vpmovm2q",
"vpmovm2w",
"vpmovq2m",
"vpmovqb",
"vpmovqd",
"vpmovqw",
"vpmovsdb",
"vpmovsdw",
"vpmovsqb",
"vpmovsqd",
"vpmovsqw",
"vpmovswb",
"vpmovusdb",
"vpmovusdw",
"vpmovusqb",
"vpmovusqd",
"vpmovusqw",
"vpmovuswb",
"vpmovw2m",
"vpmovwb",
"vpmultishiftqb",
"vprold",
"vprolq",
"vprolvd",
"vprolvq",
"vprord",
"vprorq",
"vprorvd",
"vprorvq",
"vpscatterdd",
"vpscatterdq",
"vpscatterqd",
"vpscatterqq",
"vpsllvd",
"vpsllvq",
"vpsllvw",
"vpsravd",
"vpsravq",
"vpsravw",
"vpsrlvd",
"vpsrlvq",
"vpsrlvw",
"vpternlogd",
"vpternlogq",
"vptestmb",
"vptestmd",
"vptestmq",
"vptestmw",
"vptestnmb",
"vptestnmd",
"vptestnmq",
"vptestnmw",
"vrangepd",
"vrangeps",
"vrangesd",
"vrangess",
"vrcp14pd",
"vrcp14ps",
"vrcp14sd",
"vrcp14ss",
"vreducepd",
"vreduceps",
"vreducesd",
"vreducess",
"vrndscalepd",
"vrndscaleps",
"vrndscalesd",
"vrndscaless",
"vrsqrt14pd",
"vrsqrt14ps",
"vrsqrt14sd",
"vrsqrt14ss",
"vscalefpd",
"vscalefps",
"vscalefsd",
"vscalefss",
"vscatterdpd",
"vscatterdps",
"vscatterqpd",
"vscatterqps",
"vshuff32x4",
"vshuff64x2",
"vshufi32x4",
"vshufi64x2",
"vtestpd",
"vtestps",
"vzeroall",
"vzeroupper",
"wait",
"wbinvd",
"wrfsbase",
"wrgsbase",
"wrmsr",
"wrpkru",
"xabort",
"xacquire",
"xadd",
"xbegin",
"xchg",
"xend",
"xgetbv",
"xlat",
"xlatb",
"xor",
"xorpd",
"xorps",
"xrelease",
"xrstor",
"xrstors",
"xsave",
"xsavec",
"xsaveopt",
"xsaves",
"xsetbv",
"xtest"
"align", "equ", "org", "while", "load", "store", "times", "repeat",
"display", "err", "assert", "if", "aaa", "aad", "aam", "aas", "adc",
"add", "addpd", "addps", "addsd", "addss", "addsubpd", "addsubps", "adox",
"aesdeclast", "aesenc", "aesenclast", "aesimc", "aeskeygenassist", "and",
"andnpd", "andnps", "andpd", "andps", "arpl", "bextr", "blendpd",
"blendvpd", "blendvps", "blsi", "blsmsk", "blsr", "bndcl", "bndcn",
"bndldx", "bndmk", "bndmov", "bndstx", "bound", "bsf", "bsr", "bswap",
"btc", "btr", "bts", "bzhi", "call", "cbw", "cdq", "cdqe", "clac", "clc",
"cldemote", "clflush", "clflushopt", "cli", "clts", "clwb", "cmc", "cmova",
"cmovb", "cmovbe", "cmovc", "cmove", "cmovg", "cmovge", "cmovl", "cmovle",
"cmovnae", "cmovnb", "cmovnbe", "cmovnc", "cmovne", "cmovng", "cmovnge",
"cmovnle", "cmovno", "cmovnp", "cmovns", "cmovnz", "cmovo", "cmovp",
"cmovpo", "cmovs", "cmovz", "cmp", "cmppd", "cmpps", "cmps", "cmpsb",
"cmpsd", "cmpsq", "cmpss", "cmpsw", "cmpxchg", "cmpxchg16b", "cmpxchg8b",
"comiss", "cpuid", "cqo", "crc32", "cvtdq2pd", "cvtdq2ps", "cvtpd2dq",
"cvtpd2ps", "cvtpi2pd", "cvtpi2ps", "cvtps2dq", "cvtps2pd", "cvtps2pi",
"cvtsd2ss", "cvtsi2sd", "cvtsi2ss", "cvtss2sd", "cvtss2si", "cvttpd2dq",
"cvttps2dq", "cvttps2pi", "cvttsd2si", "cvttss2si", "cwd", "cwde", "daa",
"dec", "div", "divpd", "divps", "divsd", "divss", "dppd", "dpps", "emms",
"extractps", "f2xm1", "fabs", "fadd", "faddp", "fbld", "fbstp", "fchs",
"fcmova", "fcmovae", "fcmovb", "fcmovbe", "fcmovc", "fcmove", "fcmovg",
"fcmovl", "fcmovle", "fcmovna", "fcmovnae", "fcmovnb", "fcmovnbe",
"fcmovne", "fcmovng", "fcmovnge", "fcmovnl", "fcmovnle", "fcmovno",
"fcmovns", "fcmovnz", "fcmovo", "fcmovp", "fcmovpe", "fcmovpo", "fcmovs",
"fcom", "fcomi", "fcomip", "fcomp", "fcompp", "fcos", "fdecstp", "fdiv",
"fdivr", "fdivrp", "ffree", "fiadd", "ficom", "ficomp", "fidiv", "fidivr",
"fimul", "fincstp", "finit", "fist", "fistp", "fisttp", "fisub", "fisubr",
"fld1", "fldcw", "fldenv", "fldl2e", "fldl2t", "fldlg2", "fldln2", "fldpi",
"fmul", "fmulp", "fnclex", "fninit", "fnop", "fnsave", "fnstcw", "fnstenv",
"fpatan", "fprem", "fprem1", "fptan", "frndint", "frstor", "fsave",
"fsin", "fsincos", "fsqrt", "fst", "fstcw", "fstenv", "fstp", "fstsw",
"fsubp", "fsubr", "fsubrp", "ftst", "fucom", "fucomi", "fucomip", "fucomp",
"fwait", "fxam", "fxch", "fxrstor", "fxsave", "fxtract", "fyl2x",
"gf2p8affineinvqb", "gf2p8affineqb", "gf2p8mulb", "haddpd", "haddps",
"hsubpd", "hsubps", "idiv", "imul", "in", "inc", "ins", "insb", "insd",
"insw", "int", "int1", "int3", "into", "invd", "invlpg", "invpcid", "iret",
"jmp", "ja", "jae", "jb", "jbe", "jc", "jcxz", "jecxz", "je", "jg", "jge",
"jle", "jna", "jnae", "jnb", "jnbe", "jnc", "jne", "jng", "jnge", "jnl",
"jno", "jnp", "jns", "jnz", "jo", "jp", "jpe", "jpo", "js", "jz", "kaddb",
"kaddq", "kaddw", "kandb", "kandd", "kandnb", "kandnd", "kandnq", "kandnw",
"kandw", "kmovb", "kmovd", "kmovq", "kmovw", "knotb", "knotd", "knotq",
"korb", "kord", "korq", "kortestb", "kortestd", "kortestq", "kortestw",
"kshiftlb", "kshiftld", "kshiftlq", "kshiftlw", "kshiftrb", "kshiftrd",
"kshiftrw", "ktestb", "ktestd", "ktestq", "ktestw", "kunpckbw", "kunpckdq",
"kxnorb", "kxnord", "kxnorq", "kxnorw", "kxorb", "kxord", "kxorq", "kxorw",
"lar", "lddqu", "ldmxcsr", "lds", "lea", "leave", "les", "lfence", "lfs",
"lgs", "lidt", "lldt", "lmsw", "lock", "lods", "lodsb", "lodsd", "lodsq",
"loop", "loopa", "loopae", "loopb", "loopbe", "loopc", "loope", "loopg",
"loopl", "loople", "loopna", "loopnae", "loopnb", "loopnbe", "loopnc",
"loopng", "loopnge", "loopnl", "loopnle", "loopno", "loopnp", "loopns",
"loopo", "loopp", "looppe", "looppo", "loops", "loopz", "lsl", "lss",
"lzcnt", "maskmovdqu", "maskmovq", "maxpd", "maxps", "maxsd", "maxss",
"minpd", "minps", "minsd", "minss", "monitor", "mov", "movapd", "movaps",
"movd", "movddup", "movdir64b", "movdiri", "movdq2q", "movdqa", "movdqu",
"movhpd", "movhps", "movlhps", "movlpd", "movlps", "movmskpd", "movmskps",
"movntdqa", "movnti", "movntpd", "movntps", "movntq", "movq", "movq",
"movs", "movsb", "movsd", "movsd", "movshdup", "movsldup", "movsq",
"movsw", "movsx", "movsxd", "movupd", "movups", "movzx", "mpsadbw", "mul",
"mulps", "mulsd", "mulss", "mulx", "mwait", "neg", "nop", "not", "or",
"orps", "out", "outs", "outsb", "outsd", "outsw", "pabsb", "pabsd",
"pabsw", "packssdw", "packsswb", "packusdw", "packuswb", "paddb", "paddd",
"paddsb", "paddsw", "paddusb", "paddusw", "paddw", "palignr", "pand",
"pause", "pavgb", "pavgw", "pblendvb", "pblendw", "pclmulqdq", "pcmpeqb",
"pcmpeqq", "pcmpeqw", "pcmpestri", "pcmpestrm", "pcmpgtb", "pcmpgtd",
"pcmpgtw", "pcmpistri", "pcmpistrm", "pdep", "pext", "pextrb", "pextrd",
"pextrw", "phaddd", "phaddsw", "phaddw", "phminposuw", "phsubd", "phsubsw",
"pinsrb", "pinsrd", "pinsrq", "pinsrw", "pmaddubsw", "pmaddwd", "pmaxsb",
"pmaxsq", "pmaxsw", "pmaxub", "pmaxud", "pmaxuq", "pmaxuw", "pminsb",
"pminsq", "pminsw", "pminub", "pminud", "pminuq", "pminuw", "pmovmskb",
"pmovzx", "pmuldq", "pmulhrsw", "pmulhuw", "pmulhw", "pmulld", "pmullq",
"pmuludq", "pop", "popa", "popad", "popcnt", "popf", "popfd", "popfq",
"prefetchw", "prefetchh", "psadbw", "pshufb", "pshufd", "pshufhw",
"pshufw", "psignb", "psignd", "psignw", "pslld", "pslldq", "psllq",
"psrad", "psraq", "psraw", "psrld", "psrldq", "psrlq", "psrlw", "psubb",
"psubq", "psubsb", "psubsw", "psubusb", "psubusw", "psubw", "ptest",
"punpckhbw", "punpckhdq", "punpckhqdq", "punpckhwd", "punpcklbw",
"punpcklqdq", "punpcklwd", "push", "pushw", "pushd", "pusha", "pushad",
"pushfd", "pushfq", "pxor", "rcl", "rcpps", "rcpss", "rcr", "rdfsbase",
"rdmsr", "rdpid", "rdpkru", "rdpmc", "rdrand", "rdseed", "rdtsc", "rdtscp",
"repe", "repne", "repnz", "repz", "ret", "rol", "ror", "rorx", "roundpd",
"roundsd", "roundss", "rsm", "rsqrtps", "rsqrtss", "sahf", "sal", "sar",
"sbb", "scas", "scasb", "scasd", "scasw", "seta", "setae", "setb", "setbe",
"sete", "setg", "setge", "setl", "setle", "setna", "setnae", "setnb",
"setnc", "setne", "setng", "setnge", "setnl", "setnle", "setno", "setnp",
"setnz", "seto", "setp", "setpe", "setpo", "sets", "setz", "sfence",
"sha1msg1", "sha1msg2", "sha1nexte", "sha1rnds4", "sha256msg1",
"sha256rnds2", "shl", "shld", "shlx", "shr", "shrd", "shrx", "shufpd",
"sidt", "sldt", "smsw", "sqrtpd", "sqrtps", "sqrtsd", "sqrtss", "stac",
"std", "sti", "stmxcsr", "stos", "stosb", "stosd", "stosq", "stosw", "str",
"subpd", "subps", "subsd", "subss", "swapgs", "syscall", "sysenter",
"sysret", "test", "tpause", "tzcnt", "ucomisd", "ucomiss", "ud",
"umwait", "unpckhpd", "unpckhps", "unpcklpd", "unpcklps", "valignd",
"vblendmpd", "vblendmps", "vbroadcast", "vcompresspd", "vcompressps",
"vcvtpd2udq", "vcvtpd2uqq", "vcvtph2ps", "vcvtps2ph", "vcvtps2qq",
"vcvtps2uqq", "vcvtqq2pd", "vcvtqq2ps", "vcvtsd2usi", "vcvtss2usi",
"vcvttpd2udq", "vcvttpd2uqq", "vcvttps2qq", "vcvttps2udq", "vcvttps2uqq",
"vcvttss2usi", "vcvtudq2pd", "vcvtudq2ps", "vcvtuqq2pd", "vcvtuqq2ps",
"vcvtusi2ss", "vdbpsadbw", "verr", "verw", "vexpandpd", "vexpandps",
"vextractf32x4", "vextractf32x8", "vextractf64x2", "vextractf64x4",
"vextracti32x4", "vextracti32x8", "vextracti64x2", "vextracti64x4",
"vfixupimmps", "vfixupimmsd", "vfixupimmss", "vfmadd132pd", "vfmadd132ps",
"vfmadd132ss", "vfmadd213pd", "vfmadd213ps", "vfmadd213sd", "vfmadd213ss",
"vfmadd231ps", "vfmadd231sd", "vfmadd231ss", "vfmaddsub132pd",
"vfmaddsub213pd", "vfmaddsub213ps", "vfmaddsub231pd", "vfmaddsub231ps",
"vfmsub132ps", "vfmsub132sd", "vfmsub132ss", "vfmsub213pd", "vfmsub213ps",
"vfmsub213ss", "vfmsub231pd", "vfmsub231ps", "vfmsub231sd", "vfmsub231ss",
"vfmsubadd132ps", "vfmsubadd213pd", "vfmsubadd213ps", "vfmsubadd231pd",
"vfnmadd132pd", "vfnmadd132ps", "vfnmadd132sd", "vfnmadd132ss",
"vfnmadd213ps", "vfnmadd213sd", "vfnmadd213ss", "vfnmadd231pd",
"vfnmadd231sd", "vfnmadd231ss", "vfnmsub132pd", "vfnmsub132ps",
"vfnmsub132ss", "vfnmsub213pd", "vfnmsub213ps", "vfnmsub213sd",
"vfnmsub231pd", "vfnmsub231ps", "vfnmsub231sd", "vfnmsub231ss",
"vfpclassps", "vfpclasssd", "vfpclassss", "vgatherdpd", "vgatherdpd",
"vgatherdps", "vgatherqpd", "vgatherqpd", "vgatherqps", "vgatherqps",
"vgetexpps", "vgetexpsd", "vgetexpss", "vgetmantpd", "vgetmantps",
"vgetmantss", "vinsertf128", "vinsertf32x4", "vinsertf32x8",
"vinsertf64x4", "vinserti128", "vinserti32x4", "vinserti32x8",
"vinserti64x4", "vmaskmov", "vmovdqa32", "vmovdqa64", "vmovdqu16",
"vmovdqu64", "vmovdqu8", "vpblendd", "vpblendmb", "vpblendmd", "vpblendmq",
"vpbroadcast", "vpbroadcastb", "vpbroadcastd", "vpbroadcastm",
"vpbroadcastw", "vpcmpb", "vpcmpd", "vpcmpq", "vpcmpub", "vpcmpud",
"vpcmpuw", "vpcmpw", "vpcompressd", "vpcompressq", "vpconflictd",
"vperm2f128", "vperm2i128", "vpermb", "vpermd", "vpermi2b", "vpermi2d",
"vpermi2ps", "vpermi2q", "vpermi2w", "vpermilpd", "vpermilps", "vpermpd",
"vpermq", "vpermt2b", "vpermt2d", "vpermt2pd", "vpermt2ps", "vpermt2q",
"vpermw", "vpexpandd", "vpexpandq", "vpgatherdd", "vpgatherdd",
"vpgatherdq", "vpgatherqd", "vpgatherqd", "vpgatherqq", "vpgatherqq",
"vplzcntq", "vpmadd52huq", "vpmadd52luq", "vpmaskmov", "vpmovb2m",
"vpmovdb", "vpmovdw", "vpmovm2b", "vpmovm2d", "vpmovm2q", "vpmovm2w",
"vpmovqb", "vpmovqd", "vpmovqw", "vpmovsdb", "vpmovsdw", "vpmovsqb",
"vpmovsqw", "vpmovswb", "vpmovusdb", "vpmovusdw", "vpmovusqb", "vpmovusqd",
"vpmovuswb", "vpmovw2m", "vpmovwb", "vpmultishiftqb", "vprold", "vprolq",
"vprolvq", "vprord", "vprorq", "vprorvd", "vprorvq", "vpscatterdd",
"vpscatterqd", "vpscatterqq", "vpsllvd", "vpsllvq", "vpsllvw", "vpsravd",
"vpsravw", "vpsrlvd", "vpsrlvq", "vpsrlvw", "vpternlogd", "vpternlogq",
"vptestmd", "vptestmq", "vptestmw", "vptestnmb", "vptestnmd", "vptestnmq",
"vrangepd", "vrangeps", "vrangesd", "vrangess", "vrcp14pd", "vrcp14ps",
"vrcp14ss", "vreducepd", "vreduceps", "vreducesd", "vreducess",
"vrndscaleps", "vrndscalesd", "vrndscaless", "vrsqrt14pd", "vrsqrt14ps",
"vrsqrt14ss", "vscalefpd", "vscalefps", "vscalefsd", "vscalefss",
"vscatterdps", "vscatterqpd", "vscatterqps", "vshuff32x4", "vshuff64x2",
"vshufi64x2", "vtestpd", "vtestps", "vzeroall", "vzeroupper", "wait",
"wrfsbase", "wrgsbase", "wrmsr", "wrpkru", "xabort", "xacquire", "xadd",
"xchg", "xend", "xgetbv", "xlat", "xlatb", "xor", "xorpd", "xorps",
"xrstor", "xrstors", "xsave", "xsavec", "xsaveopt", "xsaves", "xsetbv",
]
 
fasm_types = [