egui_code_editor/syntax/
asm.rs

1use super::Syntax;
2use std::collections::BTreeSet;
3
4impl Syntax {
5    pub fn asm() -> Self {
6        Syntax {
7            language: "Assembly",
8            case_sensitive: false,
9            comment: ";",
10            comment_multiline: ["/*", "*/"],
11            hyperlinks: BTreeSet::from(["http"]),
12            keywords: BTreeSet::from([
13                "vaddpd",
14                "divsd",
15                "vrcp14ps",
16                "haddps",
17                "outsd",
18                "scasw",
19                "vaesenclast",
20                "pcmpgtq",
21                "popcnt",
22                "lodsw",
23                "int",
24                "vbroadcasti64x4",
25                "rdpmc",
26                "prefetcht0",
27                "setnp",
28                "cvtpi2pd",
29                "cvtsd2si",
30                "vbroadcastf64x2",
31                "vscalefps",
32                "vfnmadd132sd",
33                "vpminuq",
34                "vfixupimmps",
35                "vcvtss2sd",
36                "vpminud",
37                "vfnmsub213sd",
38                "kshiftrb",
39                "vfpclassss",
40                "vaddsubpd",
41                "sar",
42                "vfnmadd231ss",
43                "monitor",
44                "vgatherqps",
45                "vmovdqu32",
46                "vpmovm2d",
47                "vprolvd",
48                "vpgatherdq",
49                "setae",
50                "aas",
51                "iret",
52                "vpsllw",
53                "vfmsub213pd",
54                "rcl",
55                "pavgw",
56                "vpsrlvw",
57                "vpandd",
58                "lldt",
59                "vcvtps2pd",
60                "vpabsw",
61                "vpmovzxbw",
62                "pmaxub",
63                "vpmovq2m",
64                "vpconflictd",
65                "jz",
66                "vcvtph2ps",
67                "vfmsub132ps",
68                "vpunpcklbw",
69                "vrsqrt28ss",
70                "movmskpd",
71                "fucompp",
72                "vpmulhuw",
73                "minpd",
74                "vpermi2ps",
75                "fninit1",
76                "pmaxsw",
77                "movntdq",
78                "vfnmsub231pd",
79                "vexpandpd",
80                "vsqrtss",
81                "setpe",
82                "vpgatherqq",
83                "vp4dpwssds",
84                "mul",
85                "fprem1",
86                "vcvtph2psx",
87                "cbw",
88                "minps",
89                "imm8",
90                "vpermt2w",
91                "addsubpd",
92                "kandnb",
93                "vpbroadcastd",
94                "vsubss",
95                "vpaddw",
96                "setnb",
97                "sha256rnds2",
98                "vmulss",
99                "vmovddup",
100                "movups",
101                "movupd",
102                "vfnmadd231sd",
103                "jnae",
104                "pblendvb",
105                "fdivr",
106                "psignw",
107                "packusdw",
108                "test",
109                "ib",
110                "scas",
111                "kaddd",
112                "vmovhps",
113                "movnti",
114                "paddsw",
115                "ib1",
116                "fld",
117                "pand",
118                "fldln2",
119                "hlt",
120                "rol",
121                "getsec",
122                "vpcmpeqq",
123                "pmullw",
124                "emms",
125                "vhsubpd",
126                "movsx",
127                "movapd",
128                "vpmaxuw",
129                "vpdpbusds",
130                "pcmpeqb",
131                "nop",
132                "vmovlpd",
133                "fdiv",
134                "divpd",
135                "vmovntdqa",
136                "mulss",
137                "jne",
138                "finit",
139                "packsswb",
140                "vrcpps",
141                "sha1nexte",
142                "vmulpd",
143                "pminud",
144                "subss",
145                "cmovnge",
146                "vpsubw",
147                "cvtpd2dq",
148                "or",
149                "rsqrtss",
150                "vpsubq",
151                "vpshldvd",
152                "cvtdq2ps",
153                "vpcmpgtw",
154                "vpacksswb",
155                "setp",
156                "xor",
157                "cvtpd2pi",
158                "movdiri",
159                "vpmullw",
160                "vpmovsdw",
161                "vxorps",
162                "vpmulhrsw",
163                "rdpkru",
164                "rcpps",
165                "vpminsb",
166                "vrcp28pd",
167                "jpe",
168                "fcomp",
169                "vpmaxsb",
170                "cvtps2pd",
171                "vandnpd",
172                "vmulps",
173                "vphaddsw",
174                "blendvps",
175                "kshiftrd",
176                "vfnmadd213ss",
177                "vhaddpd",
178                "aam",
179                "cmovnbe",
180                "wbinvd",
181                "paddusw",
182                "vcvtpd2udq",
183                "setnbe",
184                "kortestb",
185                "vmovdqu64",
186                "minss",
187                "vplzcntd",
188                "vpmovusdw",
189                "pmovzxdq",
190                "punpckhdq",
191                "vpunpckhwd",
192                "stos",
193                "cmove",
194                "ltr",
195                "fsubr",
196                "vpblendmq",
197                "setnz",
198                "setle",
199                "pminsb",
200                "kortestq",
201                "vpbroadcastw",
202                "vpminub",
203                "punpckhwd",
204                "fcmovbe",
205                "cqo",
206                "vpermilpd",
207                "sete",
208                "vpunpcklqdq",
209                "fimul",
210                "sets",
211                "movdqa",
212                "vorpd",
213                "rcpss",
214                "cmovns",
215                "vunpcklpd",
216                "idiv",
217                "pxor",
218                "fcmove",
219                "pmovzxbw",
220                "kxnorb",
221                "pmovmskb",
222                "xorps",
223                "fist",
224                "hsubpd",
225                "cmpxchg",
226                "vmaskmovps",
227                "movntps",
228                "pmaxuw",
229                "jl",
230                "vfmadd231ps",
231                "vpmovsxbq",
232                "pcmpgtd",
233                "in",
234                "vpcmpgtq",
235                "vpmaddwd",
236                "je",
237                "kortestw",
238                "vpexpandq",
239                "jnz",
240                "pcmpgtw",
241                "kmovb",
242                "prefetchnta",
243                "lsl",
244                "vmaxpd",
245                "lodsb",
246                "kunpckdq",
247                "vpmuludq",
248                "vrsqrtps",
249                "vpmaxuq",
250                "comiss",
251                "vpxor",
252                "unpckhpd",
253                "jo",
254                "vpsravw",
255                "pmuldq",
256                "shlx",
257                "vfmaddsub213pd",
258                "fclex",
259                "v4fmaddps",
260                "vpsubd",
261                "vbroadcastf128",
262                "vcvtsd2usi",
263                "vcompressps",
264                "cmovc",
265                "vp2intersectq",
266                "vpblendmd",
267                "fucomp",
268                "vrcp28sd",
269                "vfmsubadd132ps",
270                "popf",
271                "cvtss2si",
272                "cvttsd2si",
273                "pmaxsd",
274                "vrsqrt14ps",
275                "cvttps2dq",
276                "vpsignb",
277                "vmovhpd",
278                "vpexpandd",
279                "fisttp",
280                "vunpcklps",
281                "pext",
282                "lzcnt",
283                "cvtdq2pd",
284                "psubw",
285                "cvtsi2sd",
286                "pmovzxbq",
287                "pcmpeqd",
288                "vfmsub132pd",
289                "movmskps",
290                "fnclex1",
291                "vpmovm2q",
292                "cdq",
293                "bndcl",
294                "psadbw",
295                "cld",
296                "vpcompressq",
297                "fucomip",
298                "vcvttpd2dq",
299                "/is4",
300                "vpgatherqd",
301                "vaesenc",
302                "vmovmskps",
303                "vpmovsxbd",
304                "vpermi2q",
305                "vpmaxsq",
306                "addss",
307                "ib",
308                "vbroadcastf32x4",
309                "imul",
310                "vdivss",
311                "fisub",
312                "aesdeclast",
313                "cmovle",
314                "paddb",
315                "pmaxsb",
316                "vfnmsub213ps",
317                "vpermt2q",
318                "vandpd",
319                "vandps",
320                "vpmadd52huq",
321                "jc",
322                "kshiftrq",
323                "clc",
324                "pminub",
325                "vcvtps2udq",
326                "vpcompressb",
327                "vpcompressw",
328                "vfmsubadd231pd",
329                "setnl",
330                "vfmsub231ss",
331                "vfnmsub132pd",
332                "subpd",
333                "vpmovsqb",
334                "kord",
335                "invd",
336                "pushad",
337                "cmovge",
338                "vaesdec",
339                "les",
340                "vexp2ps",
341                "prefetcht1",
342                "pmulld",
343                "vpmovm2w",
344                "vpmovusqb",
345                "vrangess",
346                "rcr",
347                "fsubp",
348                "sha256msg1",
349                "vfnmadd132ss",
350                "jrcxz",
351                "vsqrtsd",
352                "vpmovdb",
353                "kaddq",
354                "vscalefss",
355                "paddq",
356                "bndmov",
357                "pmovsxbd",
358                "psrlq",
359                "fldl2t",
360                "vcvtqq2ps",
361                "vfmsub213sd",
362                "blendvpd",
363                "pmulhrsw",
364                "subps",
365                "vpermilps",
366                "pop",
367                "vpabsb",
368                "vdivpd",
369                "loop",
370                "adc",
371                "vmovaps",
372                "outsb",
373                "sha1msg2",
374                "vrsqrtss",
375                "vpmovusdb",
376                "vpavgw",
377                "jp",
378                "fcmovb",
379                "addps",
380                "addpd",
381                "kshiftld",
382                "pabsd",
383                "vpavgb",
384                "por",
385                "punpckldq",
386                "vfmadd132ps",
387                "vbroadcasti32x8",
388                "div",
389                "popfd",
390                "setns",
391                "jno",
392                "vmovss",
393                "tzcnt",
394                "cmovpe",
395                "vpackuswb",
396                "js",
397                "vptestnmb",
398                "punpcklqdq",
399                "vpsubsb",
400                "vmulsd",
401                "vfmsubadd213pd",
402                "vpmovd2m",
403                "kxorb",
404                "vpmovuswb",
405                "vpsignd",
406                "vfnmsub213pd",
407                "pdep",
408                "vpdpwssds",
409                "kxorq",
410                "vcvtdq2ps",
411                "vrsqrt28sd",
412                "btr",
413                "movs",
414                "kxnord",
415                "korb",
416                "pmovsxwq",
417                "movlps",
418                "sha256msg2",
419                "vptestmw",
420                "vmovd",
421                "vcvttss2usi",
422                "movddup",
423                "sysenter",
424                "vbroadcastf32x8",
425                "lds",
426                "vrcp14pd",
427                "vucomiss",
428                "vpaddusb",
429                "vfmaddsub132pd",
430                "comisd",
431                "cvttpd2dq",
432                "fprem",
433                "vpmadd52luq",
434                "vexp2pd",
435                "kxord",
436                "kunpckwd",
437                "scasd",
438                "psllw",
439                "ja",
440                "jnc",
441                "vmovshdup",
442                "stosw",
443                "vcvttsd2usi",
444                "v4fnmaddps",
445                "vtestps",
446                "paddw",
447                "movlhps",
448                "phsubw",
449                "vphminposuw",
450                "vpmovzxwq",
451                "vrsqrt28ps",
452                "vrsqrt14ss",
453                "vcvtdq2pd",
454                "vpsignw",
455                "vpsadbw",
456                "vhaddps",
457                "vplzcntq",
458                "bextr",
459                "lgdt",
460                "psubusw",
461                "vpminsd",
462                "vpermq",
463                "lidt",
464                "swapgs",
465                "invpcid",
466                "psignb",
467                "vptest",
468                "vpshldvq",
469                "fidiv",
470                "vpmaxsw",
471                "fldpi",
472                "aad",
473                "vfmadd132ss",
474                "kandnq",
475                "vbroadcastsd",
476                "vfnmsub213ss",
477                "sbb",
478                "cmovo",
479                "aesdec",
480                "cmps",
481                "outs",
482                "vcvttpd2qq",
483                "lgs",
484                "fcomip",
485                "cmovna",
486                "jnge",
487                "cvtsi2ss",
488                "lods",
489                "cmpsq",
490                "pmovsxbw",
491                "pmuludq",
492                "vpxord",
493                "gf2p8mulb",
494                "not",
495                "vmovsd",
496                "vpord",
497                "vpunpckldq",
498                "vcvttps2uqq",
499                "vfmsubadd231ps",
500                "fnsave1",
501                "vgetexpps",
502                "cmovno",
503                "vmovdqu8",
504                "ktestb",
505                "vaddsubps",
506                "vporq",
507                "vmaxsd",
508                "vpsubusb",
509                "pabsb",
510                "pmovsxbq",
511                "cvtps2pi",
512                "vpsraw",
513                "setnge",
514                "vorps",
515                "vcvttps2qq",
516                "vpcmpeqd",
517                "vfnmadd132ps",
518                "pmaddubsw",
519                "vbroadcastss",
520                "vpsrlvq",
521                "vpsraq",
522                "ud2",
523                "vmovdqu16",
524                "sub",
525                "wrmsr",
526                "vpsllvq",
527                "cvttss2si",
528                "wait",
529                "psubsw",
530                "cvtpd2ps",
531                "daa",
532                "movzx",
533                "fidivr",
534                "fisubr",
535                "fucomi",
536                "packuswb",
537                "vaddps",
538                "maskmovdqu",
539                "pmaddwd",
540                "pminuw",
541                "vpunpckhdq",
542                "fyl2xp1",
543                "kxnorq",
544                "movntdqa",
545                "vexpandps",
546                "vfnmsub132sd",
547                "vcvtps2phx",
548                "jnle",
549                "bound",
550                "movntpd",
551                "vpdpwssd",
552                "pmovsxdq",
553                "vptestnmd",
554                "mulps",
555                "ktestw",
556                "faddp",
557                "vlddqu",
558                "paddsb",
559                "vdivsd",
560                "paddd",
561                "vpmovwb",
562                "cmovl",
563                "movshdup",
564                "ror",
565                "vfnmadd231pd",
566                "vp2intersectd",
567                "cmovae",
568                "vsubps",
569                "vpaddd",
570                "vpandn",
571                "vrsqrt14sd",
572                "psubb",
573                "fcmovnb",
574                "iretq",
575                "vblendmps",
576                "cwd",
577                "cpuid",
578                "vpsravq",
579                "vptestmb",
580                "bzhi",
581                "vfmsub213ss",
582                "fstp",
583                "vbroadcasti128",
584                "kmovq",
585                "vpabsd",
586                "psignd",
587                "vcvtudq2pd",
588                "vpermt2d",
589                "vscalefsd",
590                "arpl",
591                "vpcmpgtd",
592                "cmpsb",
593                "vbroadcastf64x4",
594                "kshiftlw",
595                "lodsd",
596                "vpmovswb",
597                "vminss",
598                "vphaddw",
599                "vmovdqa64",
600                "fsave",
601                "vrcp28ps",
602                "vfmadd231ss",
603                "vxorpd",
604                "vscalefpd",
605                "kortestd",
606                "phaddsw",
607                "vpshufbitqmb",
608                "andnps",
609                "vcvtsi2ss",
610                "fnstenv1",
611                "lmsw",
612                "lodsq",
613                "vmovlps",
614                "vpcmpeqw",
615                "dec",
616                "kshiftrw",
617                "vpermt2pd",
618                "vpsrlvd",
619                "fldl2e",
620                "setb",
621                "vmovmskpd",
622                "vpsllvd",
623                "vmovdqa",
624                "bswap",
625                "vpermw",
626                "setbe",
627                "movlpd",
628                "vcvtusi2ss",
629                "jecxz",
630                "shr",
631                "vfmsub213ps",
632                "bts",
633                "fwait",
634                "vphsubw",
635                "bsr",
636                "vpermi2w",
637                "vpermps",
638                "scasq",
639                "vfnmadd132pd",
640                "cmpsd",
641                "orpd",
642                "aaa",
643                "andps",
644                "knotd",
645                "vpmulhw",
646                "vunpckhps",
647                "pslld",
648                "ktestq",
649                "pushf",
650                "sti",
651                "32",
652                "jcxz",
653                "unpcklpd",
654                "vpaddq",
655                "vbroadcastf32x2",
656                "vpmaskmovq",
657                "bndcn",
658                "vpsravd",
659                "xorpd",
660                "vpbroadcastq",
661                "aesimc",
662                "knotb",
663                "mulpd",
664                "vpmovsxwd",
665                "sldt",
666                "xsetbv",
667                "movsw",
668                "fsub",
669                "cvtpi2ps",
670                "vmovntpd",
671                "sqrtpd",
672                "vaesimc",
673                "bndmk",
674                "kshiftlq",
675                "maxpd",
676                "vpminsw",
677                "psrad",
678                "ficom",
679                "vtestpd",
680                "xlatb",
681                "vcvtsi2sd",
682                "vpackssdw",
683                "kandb",
684                "shrx",
685                "vpabsq",
686                "vrcpss",
687                "knotq",
688                "movsd",
689                "pmovsxwd",
690                "maxsd",
691                "mwait",
692                "enter",
693                "vpconflictq",
694                "vcvtps2uqq",
695                "vprorvq",
696                "cmovnc",
697                "phaddd",
698                "sysexit",
699                "vgetexpsd",
700                "movsq",
701                "vptestmq",
702                "pcmpeqw",
703                "vrcp28ss",
704                "vmovupd",
705                "fbld",
706                "vbroadcasti64x2",
707                "insw",
708                "vpshrdvq",
709                "vpbroadcastb",
710                "pcmpgtb",
711                "kandd",
712                "ins",
713                "vpsllvw",
714                "vfmadd213ss",
715                "vpcmpgtb",
716                "vfmsub231ps",
717                "pusha",
718                "fsubrp",
719                "setz",
720                "fsincos",
721                "vcvtpd2uqq",
722                "vpexpandw",
723                "vpandnd",
724                "cmpsw",
725                "rdtsc",
726                "mov",
727                "vpblendmb",
728                "vpcompressd",
729                "vpmovusqd",
730                "outsw",
731                "jng",
732                "fild",
733                "vcvtss2si",
734                "vpermi2d",
735                "sahf",
736                "cli",
737                "cvtps2dq",
738                "fdivrp",
739                "lar",
740                "setnle",
741                "vcvtsd2si",
742                "vminps",
743                "psubd",
744                "sqrtsd",
745                "vsubpd",
746                "fcom",
747                "vcomisd",
748                "inc",
749                "vpdpbusd",
750                "vcvtuqq2ps",
751                "cvttps2pi",
752                "vblendmpd",
753                "movsxd",
754                "vunpckhpd",
755                "pmovzxbd",
756                "vpmovqw",
757                "seta",
758                "psraw",
759                "kmovd",
760                "vfmadd213pd",
761                "vpaddsb",
762                "vgatherqpd",
763                "bndcu",
764                "vpsubusw",
765                "smsw",
766                "vpbroadcastmw2d",
767                "fptan",
768                "fmul",
769                "phsubd",
770                "vpmovzxbd",
771                "vandnps",
772                "vpandq",
773                "vcvttpd2udq",
774                "movdq2q",
775                "setge",
776                "vhsubps",
777                "vfmsubadd213ps",
778                "vpmovsxdq",
779                "vfmadd213sd",
780                "into",
781                "vfmsubadd132pd",
782                "pmulhuw",
783                "fiadd",
784                "setpo",
785                "vpopcntw",
786                "cmovb",
787                "psrlw",
788                "vpermd",
789                "vcvttsd2si",
790                "vpmovsxwq",
791                "fstenv",
792                "sha1msg1",
793                "vmovups",
794                "vfnmadd213ps",
795                "vpslld",
796                "vpaddusw",
797                "crc32",
798                "vfmadd213ps",
799                "vpermpd",
800                "pavgb",
801                "mulx",
802                "ret",
803                "vpopcntb",
804                "jbe",
805                "vfmadd132pd",
806                "int1",
807                "vfmadd231pd",
808                "movsldup",
809                "vcvtss2usi",
810                "psubq",
811                "setg",
812                "vpunpcklwd",
813                "repe",
814                "std",
815                "vpmullq",
816                "scasb",
817                "setne",
818                "maxps",
819                "pminsw",
820                "cmovnp",
821                "bndstx",
822                "vpmovsqw",
823                "fyl2x",
824                "adox",
825                "jnb",
826                "pmaxud",
827                "punpckhqdq",
828                "cwde",
829                "ibvpermilps",
830                "jnbe",
831                "cvtsd2ss",
832                "vfnmsub231ps",
833                "adcx",
834                "btc",
835                "vphaddd",
836                "sfence",
837                "movntq",
838                "jb",
839                "vpsllq",
840                "popfq",
841                "vptestnmq",
842                "vpmovb2m",
843                "vrsqrt14pd",
844                "vfmaddsub213ps",
845                "vdivps",
846                "andnpd",
847                "vcvtpd2ps",
848                "vfmaddsub132ps",
849                "vcvtne2ps2bf16",
850                "movdir64b",
851                "vpandnq",
852                "sqrtps",
853                "pcmpeqq",
854                "vpshrdvd",
855                "cmovpo",
856                "vpmovzxdq",
857                "v4fmaddss",
858                "cmovs",
859                "vpmovusqw",
860                "vmaxss",
861                "vcompresspd",
862                "vgetexpss",
863                "rsm",
864                "sal",
865                "knotw",
866                "kandnw",
867                "vminsd",
868                "syscall",
869                "vpsrld",
870                "vmovhlps",
871                "vptestmd",
872                "cmovnle",
873                "pause",
874                "xgetbv",
875                "movhpd",
876                "sqrtss",
877                "cmovng",
878                "vaddsd",
879                "cmovnl",
880                "vphsubsw",
881                "vptestnmw",
882                "jnl",
883                "vmovntps",
884                "andn",
885                "vfnmadd231ps",
886                "vcomiss",
887                "cmovp",
888                "xchg",
889                "iretd",
890                "stosd",
891                "pmovzxwd",
892                "vpmuldq",
893                "vpexpandb",
894                "vfmaddsub231ps",
895                "aesenc",
896                "clts",
897                "vpunpckhqdq",
898                "ucomiss",
899                "vpshldvw",
900                "minsd",
901                "vfnmadd213sd",
902                "vfmadd231sd",
903                "fstcw",
904                "kshiftlb",
905                "vsubsd",
906                "kaddb",
907                "vmovdqa32",
908                "phaddw",
909                "movhps",
910                "vcvttps2dq",
911                "pabsw",
912                "fst",
913                "maxss",
914                "orps",
915                "xlat",
916                "addsd",
917                "punpcklbw",
918                "vphsubd",
919                "setng",
920                "vmaxps",
921                "vrsqrt28pd",
922                "vpsrlq",
923                "vpbroadcastmb2q",
924                "addsubps",
925                "phsubsw",
926                "cmova",
927                "out",
928                "stosq",
929                "unpckhps",
930                "vpmovsdb",
931                "andpd",
932                "vpopcntd",
933                "vp4dpwssd",
934                "cmovg",
935                "vcvtqq2pd",
936                "vgatherdps",
937                "jnp",
938                "kmovw",
939                "ptest",
940                "ud01",
941                "cmovnb",
942                "loopne",
943                "fldlg2",
944                "jna",
945                "cmovnz",
946                "divps",
947                "hsubps",
948                "jmp",
949                "ucomisd",
950                "vcvtneps2bf16",
951                "vcvtudq2ps",
952                "vcvtusi2sd",
953                "vcvttps2udq",
954                "vpmaxub",
955                "vpermt2ps",
956                "vfmsub132sd",
957                "fxch",
958                "divss",
959                "vpgatherdd",
960                "vcvttss2si",
961                "mulsd",
962                "vpopcntq",
963                "vpmovzxwd",
964                "subsd",
965                "sarx",
966                "setnc",
967                "vgf2p8mulb",
968                "lddqu",
969                "jae",
970                "cmc",
971                "vpaddsw",
972                "vpcmpeqb",
973                "movaps",
974                "vmovntdq",
975                "vpxorq",
976                "setnae",
977                "vfnmsub231sd",
978                "fucom",
979                "vpblendmw",
980                "vpmultishiftqb",
981                "repne",
982                "vbroadcasti32x4",
983                "vpermi2pd",
984                "bsf",
985                "stc",
986                "vfmsub132ss",
987                "psllq",
988                "cmp",
989                "vpunpckhbw",
990                "vcvttpd2uqq",
991                "vpmovw2m",
992                "vfmadd132sd",
993                "vfnmsub132ss",
994                "jle",
995                "vpmovmskb",
996                "vmovdqu",
997                "vpsrlw",
998                "push",
999                "vmovapd",
1000                "ficomp",
1001                "kandw",
1002                "vpmovdw",
1003                "vpmulld",
1004                "kaddw",
1005                "fld1",
1006                "verr",
1007                "haddpd",
1008                "pshufb",
1009                "kxorw",
1010                "verw",
1011                "jg",
1012                "korw",
1013                "insd",
1014                "vfmsub231sd",
1015                "vgetexppd",
1016                "str",
1017                "kxnorw",
1018                "vpminsq",
1019                "vpmovsxbw",
1020                "psrld",
1021                "cdqe",
1022                "setl",
1023                "vpor",
1024                "psubsb",
1025                "vcvtuqq2pd",
1026                "bndldx",
1027                "vdpbf16ps",
1028                "vfmsub231pd",
1029                "vcvtpd2dq",
1030                "fcmovnbe",
1031                "movd",
1032                "v4fnmaddss",
1033                "unpcklps",
1034                "shld",
1035                "cmovnae",
1036                "shrd",
1037                "fistp",
1038                "kunpckbw",
1039                "setc",
1040                "vmaskmovpd",
1041                "vsqrtpd",
1042                "vpsubb",
1043                "vpermt2b",
1044                "phminposuw",
1045                "fldz",
1046                "kandnd",
1047                "cmovbe",
1048                "fcomi",
1049                "punpcklwd",
1050                "jge",
1051                "punpckhbw",
1052                "vfnmsub132ps",
1053                "vpmaddubsw",
1054                "vpshrdvw",
1055                "jpo",
1056                "vmaskmovdqu",
1057                "vaddss",
1058                "movss",
1059                "vsqrtps",
1060                "movq",
1061                "lfs",
1062                "vpmaxsd",
1063                "rep",
1064                "fcmovnu",
1065                "vrangesd",
1066                "ud1",
1067                "fmulp",
1068                "fdivp",
1069                "movdqu",
1070                "vpmovm2b",
1071                "vpmovqb",
1072                "vpmovqd",
1073                "vfnmadd213pd",
1074                "xadd",
1075                "vpmaskmovd",
1076                "popa",
1077                "movhlps",
1078                "vmovq",
1079                "movq2dq",
1080                "vfnmsub231ss",
1081                "shl",
1082                "vpmovzxbq",
1083                "insb",
1084                "prefetcht2",
1085                "ktestd",
1086                "movbe",
1087                "vpermi2b",
1088                "aesenclast",
1089                "vcvtsd2ss",
1090                "vcvtpd2qq",
1091                "lss",
1092                "vcvtps2qq",
1093                "setna",
1094                "vmovlhps",
1095                "vpsrad",
1096                "leave",
1097                "rdtscp",
1098                "vcvtps2dq",
1099                "seto",
1100                "psubusb",
1101                "loope",
1102                "fcompp",
1103                "movsb",
1104                "pmovzxwq",
1105                "vpmaxud",
1106                "vucomisd",
1107                "vmovsldup",
1108                "vfmaddsub231pd",
1109                "pandn",
1110                "pmulhw",
1111                "call",
1112                "lock",
1113                "korq",
1114                "paddusb",
1115                "rsqrtps",
1116                "vaesdeclast",
1117                "vpminuw",
1118                "neg",
1119                "vpackusdw",
1120                "vgatherdpd",
1121                "cmovne",
1122                "fadd",
1123                "vprolvq",
1124                "fstsw",
1125                "packssdw",
1126                "sysret",
1127                "popad",
1128                "vpsubsw",
1129                "lea",
1130                "cvtss2sd",
1131                "pushfd",
1132                "vminpd",
1133                "vbroadcasti32x2",
1134                "kandq",
1135                "das",
1136                "stosb",
1137                "add",
1138                "vpand",
1139                "vpshufb",
1140                "vrcp14ss",
1141                "jns",
1142                "fcmovu",
1143                "cmovz",
1144                "and",
1145                "bt",
1146                "vpaddb",
1147                "vpmovsqd",
1148                "vrcp14sd",
1149                "pushfq",
1150                "int3",
1151                "cvttpd2pi",
1152                "fnstsw1",
1153                "maskmovq",
1154                "pminsd",
1155                "fnstcw1",
1156                "vprorvd",
1157                "fcmovne",
1158                "setno",
1159                "vpermb",
1160            ]),
1161            types: BTreeSet::from(["ptr", "byte", "word", "dword", "qword"]),
1162            special: BTreeSet::from([
1163                "RAX", "RBX", "RCX", "RDX", "RSI", "RDI", "RBP", "RSP", "R8", "R9", "R10", "R11",
1164                "R12", "R13", "R14", "R15", // 64-bit registers
1165                "EAX", "EBX", "ECX", "EDX", "ESI", "EDI", "EBP", "ESP", "R8D", "R9D", "R10D",
1166                "R11D", "R12D", "R13D", "R14D", "R15D", // 32-bit registers
1167                "AX", "BX", "CX", "DX", "SI", "DI", "BP", "SP", "R8W", "R9W", "R10W", "R11W",
1168                "R12W", "R13W", "R14W", "R15W", // 16-bit registers
1169                "AH", "BH", "CH", "DH", "AL", "BL", "CL", "DL", "SIL", "DIL", "BPL", "SPL", "R8B",
1170                "R9B", "R10B", "R11B", "R12B", "R13B", "R14B", "R15B",
1171                // 8-bit registers
1172                "XMM0", "XMM1", "XMM2", "XMM3", "XMM4", "XMM5", "XMM6", "XMM7", "XMM8", "XMM9",
1173                "XMM10", "XMM11", "XMM12", "XMM13", "XMM14", "XMM15", // XMM
1174                "YMM0", "YMM1", "YMM2", "YMM3", "YMM4", "YMM5", "YMM6", "YMM7", "YMM8", "YMM9",
1175                "YMM10", "YMM11", "YMM12", "YMM13", "YMM14", "YMM15", // YMM
1176                "ZMM0", "ZMM1", "ZMM2", "ZMM3", "ZMM4", "ZMM5", "ZMM6", "ZMM7", "ZMM8", "ZMM9",
1177                "ZMM10", "ZMM11", "ZMM12", "ZMM13", "ZMM14", "ZMM15",
1178                // ZMM
1179            ]),
1180        }
1181    }
1182}