-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopcode
executable file
·2009 lines (1956 loc) · 144 KB
/
opcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/bin/bash
#
# Obtained from:
# http://pastebin.com/A8bAuHAP
#
# via stackexchange answer:
# http://superuser.com/questions/726395/how-to-check-if-a-binary-requires-sse4-or-avx-on-linux
#
# As such it is distributed under the CC-BY-SA license: http://creativecommons.org/licenses/by-sa/2.5/
# rather than the license that covers the rest of this repo, as
# all code posted on StackExchange is CC-BY-SA unless otherwise stated: http://meta.stackexchange.com/questions/54766/code-at-stackoverflow-under-any-license
# Parts are copyright StackExchange user Kyselejsyreček: http://superuser.com/users/384221/kyselejsyre%c4%8dek
# and incorporates elements of the gas.vim file by Rene Koecher, found here: https://github.com/Shirk/vim-gas/blob/master/syntax/gas.vim
# which is released under the BSD 3-clause license: http://opensource.org/licenses/BSD-3-Clause
#
# This header has been added to clarify these terms.
#
#
# Last update on Nov 05, 2014.
#
# Searches disassembled code for specific instructions.
#
# Opcodes obtained from: https://github.com/Shirk/vim-gas/blob/master/syntax/gas.vim
#
# List of opcodes has been obtained using the following commands and making a few modifications:
# echo '#!/bin/bash' > Opcode_list
# wget -q -O- https://raw.githubusercontent.com/Shirk/vim-gas/master/syntax/gas.vim \
# | grep -B1 -E 'syn keyword gasOpcode_|syn match gasOpcode' | \
# sed -e '/^--$/d' -e 's/"-- Section:/\n#/g' \
# -e 's/syn keyword gasOpcode_\([^\t]*\)*\(\t\)*\(.*\)/Opcode_\1="\${Opcode_\1} \3"/g' \
# -e 's/Opcode_PENT_3DNOW/Opcode_ATHLON_3DNOW/g' -e 's/\\//g' \
# -e 's/syn match gasOpcode_\([^\t]*\)*.*\/<\(.*\)>\//Opcode_\1="\${Opcode_\1} \2"/g' \
# >> Opcode_list
#
# Modify file Opcode_list replacing all occurrences of:
# * Opcode_Base within the section "Tejas New Instructions (SSSE3)" with Opcode_SSSE3
# * Opcode_Base within the section "Willamette MMX instructions (SSE2 SIMD Integer Instructions)" with Opcode_WILLAMETTE_Base
# return values
EXIT_FOUND=0
EXIT_NOT_FOUND=1
EXIT_USAGE=2
# settings
InstSet_Base=""
Recursive=false
Count_Matching=false
Leading_Separator='\s'
Trailing_Separator='(\s|$)' # $ matches end of line for non-parametric instructions like nop
Case_Insensitive=false
Invert=false
Verbose=false
Stop_After=0
Line_Numbers=false
Leading_Context=0
Trailing_Context=0
# Willamette MMX instructions (SSE2 SIMD Integer Instructions)
Opcode_SSE2="${Opcode_SSE2} movd movdb movdw movdl movdq"
Opcode_SSE2="${Opcode_SSE2} movdqa"
Opcode_SSE2="${Opcode_SSE2} movdqu"
Opcode_SSE2="${Opcode_SSE2} movdq2q"
Opcode_X64_SSE2="${Opcode_X64_SSE2} movq"
Opcode_SSE2="${Opcode_SSE2} movq2dq"
Opcode_SSE2="${Opcode_SSE2} packsswb packsswbb packsswbw packsswbl packsswbq"
Opcode_SSE2="${Opcode_SSE2} packssdw packssdwb packssdww packssdwl packssdwq"
Opcode_SSE2="${Opcode_SSE2} packuswb packuswbb packuswbw packuswbl packuswbq"
Opcode_SSE2="${Opcode_SSE2} paddb paddbb paddbw paddbl paddbq"
Opcode_SSE2="${Opcode_SSE2} paddw paddwb paddww paddwl paddwq"
Opcode_SSE2="${Opcode_SSE2} paddd padddb padddw padddl padddq"
Opcode_SSE2="${Opcode_SSE2} paddq paddqb paddqw paddql paddqq"
Opcode_SSE2="${Opcode_SSE2} paddsb paddsbb paddsbw paddsbl paddsbq"
Opcode_SSE2="${Opcode_SSE2} paddsw paddswb paddsww paddswl paddswq"
Opcode_SSE2="${Opcode_SSE2} paddusb paddusbb paddusbw paddusbl paddusbq"
Opcode_SSE2="${Opcode_SSE2} paddusw padduswb paddusww padduswl padduswq"
Opcode_SSE2="${Opcode_SSE2} pand pandb pandw pandl pandq"
Opcode_SSE2="${Opcode_SSE2} pandn pandnb pandnw pandnl pandnq"
Opcode_SSE2="${Opcode_SSE2} pavgb pavgbb pavgbw pavgbl pavgbq"
Opcode_SSE2="${Opcode_SSE2} pavgw pavgwb pavgww pavgwl pavgwq"
Opcode_SSE2="${Opcode_SSE2} pcmpeqb pcmpeqbb pcmpeqbw pcmpeqbl pcmpeqbq"
Opcode_SSE2="${Opcode_SSE2} pcmpeqw pcmpeqwb pcmpeqww pcmpeqwl pcmpeqwq"
Opcode_SSE2="${Opcode_SSE2} pcmpeqd pcmpeqdb pcmpeqdw pcmpeqdl pcmpeqdq"
Opcode_SSE2="${Opcode_SSE2} pcmpgtb pcmpgtbb pcmpgtbw pcmpgtbl pcmpgtbq"
Opcode_SSE2="${Opcode_SSE2} pcmpgtw pcmpgtwb pcmpgtww pcmpgtwl pcmpgtwq"
Opcode_SSE2="${Opcode_SSE2} pcmpgtd pcmpgtdb pcmpgtdw pcmpgtdl pcmpgtdq"
Opcode_SSE2="${Opcode_SSE2} pextrw pextrwb pextrww pextrwl pextrwq"
Opcode_SSE2="${Opcode_SSE2} pinsrw pinsrwb pinsrww pinsrwl pinsrwq"
Opcode_SSE2="${Opcode_SSE2} pmaddwd pmaddwdb pmaddwdw pmaddwdl pmaddwdq"
Opcode_SSE2="${Opcode_SSE2} pmaxsw pmaxswb pmaxsww pmaxswl pmaxswq"
Opcode_SSE2="${Opcode_SSE2} pmaxub pmaxubb pmaxubw pmaxubl pmaxubq"
Opcode_SSE2="${Opcode_SSE2} pminsw pminswb pminsww pminswl pminswq"
Opcode_SSE2="${Opcode_SSE2} pminub pminubb pminubw pminubl pminubq"
Opcode_SSE2="${Opcode_SSE2} pmovmskb"
Opcode_SSE2="${Opcode_SSE2} pmulhuw pmulhuwb pmulhuww pmulhuwl pmulhuwq"
Opcode_SSE2="${Opcode_SSE2} pmulhw pmulhwb pmulhww pmulhwl pmulhwq"
Opcode_SSE2="${Opcode_SSE2} pmullw pmullwb pmullww pmullwl pmullwq"
Opcode_SSE2="${Opcode_SSE2} pmuludq pmuludqb pmuludqw pmuludql pmuludqq"
Opcode_SSE2="${Opcode_SSE2} por porb porw porl porq"
Opcode_SSE2="${Opcode_SSE2} psadbw psadbwb psadbww psadbwl psadbwq"
Opcode_WILLAMETTE_Base="${Opcode_WILLAMETTE_Base} pshufd pshufdb pshufdw pshufdl pshufdq"
Opcode_WILLAMETTE_Base="${Opcode_WILLAMETTE_Base} pshufhw pshufhwb pshufhww pshufhwl pshufhwq"
Opcode_WILLAMETTE_Base="${Opcode_WILLAMETTE_Base} pshuflw pshuflwb pshuflww pshuflwl pshuflwq"
Opcode_SSE2="${Opcode_SSE2} pslldq pslldqb pslldqw pslldql pslldqq"
Opcode_SSE2="${Opcode_SSE2} psllw psllwb psllww psllwl psllwq"
Opcode_SSE2="${Opcode_SSE2} pslld pslldb pslldw pslldl pslldq"
Opcode_SSE2="${Opcode_SSE2} psllq psllqb psllqw psllql psllqq"
Opcode_SSE2="${Opcode_SSE2} psraw psrawb psraww psrawl psrawq"
Opcode_SSE2="${Opcode_SSE2} psrad psradb psradw psradl psradq"
Opcode_SSE2="${Opcode_SSE2} psrldq psrldqb psrldqw psrldql psrldqq"
Opcode_SSE2="${Opcode_SSE2} psrlw psrlwb psrlww psrlwl psrlwq"
Opcode_SSE2="${Opcode_SSE2} psrld psrldb psrldw psrldl psrldq"
Opcode_SSE2="${Opcode_SSE2} psrlq psrlqb psrlqw psrlql psrlqq"
Opcode_SSE2="${Opcode_SSE2} psubb psubbb psubbw psubbl psubbq"
Opcode_SSE2="${Opcode_SSE2} psubw psubwb psubww psubwl psubwq"
Opcode_SSE2="${Opcode_SSE2} psubd psubdb psubdw psubdl psubdq"
Opcode_SSE2="${Opcode_SSE2} psubq psubqb psubqw psubql psubqq"
Opcode_SSE2="${Opcode_SSE2} psubsb psubsbb psubsbw psubsbl psubsbq"
Opcode_SSE2="${Opcode_SSE2} psubsw psubswb psubsww psubswl psubswq"
Opcode_SSE2="${Opcode_SSE2} psubusb psubusbb psubusbw psubusbl psubusbq"
Opcode_SSE2="${Opcode_SSE2} psubusw psubuswb psubusww psubuswl psubuswq"
Opcode_SSE2="${Opcode_SSE2} punpckhbw punpckhbwb punpckhbww punpckhbwl punpckhbwq"
Opcode_SSE2="${Opcode_SSE2} punpckhwd punpckhwdb punpckhwdw punpckhwdl punpckhwdq"
Opcode_SSE2="${Opcode_SSE2} punpckhdq punpckhdqb punpckhdqw punpckhdql punpckhdqq"
Opcode_SSE2="${Opcode_SSE2} punpckhqdq punpckhqdqb punpckhqdqw punpckhqdql punpckhqdqq"
Opcode_SSE2="${Opcode_SSE2} punpcklbw punpcklbwb punpcklbww punpcklbwl punpcklbwq"
Opcode_SSE2="${Opcode_SSE2} punpcklwd punpcklwdb punpcklwdw punpcklwdl punpcklwdq"
Opcode_SSE2="${Opcode_SSE2} punpckldq punpckldqb punpckldqw punpckldql punpckldqq"
Opcode_SSE2="${Opcode_SSE2} punpcklqdq punpcklqdqb punpcklqdqw punpcklqdql punpcklqdqq"
Opcode_SSE2="${Opcode_SSE2} pxor pxorb pxorw pxorl pxorq"
# Nehalem New Instructions (SSE4.2)
Opcode_X64_SSE42="${Opcode_X64_SSE42} crc32"
Opcode_SSE42="${Opcode_SSE42} pcmpestri pcmpestrib pcmpestriw pcmpestril pcmpestriq"
Opcode_SSE42="${Opcode_SSE42} pcmpestrm pcmpestrmb pcmpestrmw pcmpestrml pcmpestrmq"
Opcode_SSE42="${Opcode_SSE42} pcmpistri pcmpistrib pcmpistriw pcmpistril pcmpistriq"
Opcode_SSE42="${Opcode_SSE42} pcmpistrm pcmpistrmb pcmpistrmw pcmpistrml pcmpistrmq"
Opcode_SSE42="${Opcode_SSE42} pcmpgtq pcmpgtqb pcmpgtqw pcmpgtql pcmpgtqq"
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} popcnt"
# Intel new instructions in ???
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} movbe movbeb movbew movbel movbeq"
# AMD XOP, FMA4 and CVT16 instructions (SSE5)
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vcvtph2ps vcvtph2psb vcvtph2psw vcvtph2psl vcvtph2psq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vcvtps2ph vcvtps2phb vcvtps2phw vcvtps2phl vcvtps2phq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddpd vfmaddpdb vfmaddpdw vfmaddpdl vfmaddpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddps vfmaddpsb vfmaddpsw vfmaddpsl vfmaddpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddsd vfmaddsdb vfmaddsdw vfmaddsdl vfmaddsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddss vfmaddssb vfmaddssw vfmaddssl vfmaddssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddsubpd vfmaddsubpdb vfmaddsubpdw vfmaddsubpdl vfmaddsubpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmaddsubps vfmaddsubpsb vfmaddsubpsw vfmaddsubpsl vfmaddsubpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubaddpd vfmsubaddpdb vfmsubaddpdw vfmsubaddpdl vfmsubaddpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubaddps vfmsubaddpsb vfmsubaddpsw vfmsubaddpsl vfmsubaddpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubpd vfmsubpdb vfmsubpdw vfmsubpdl vfmsubpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubps vfmsubpsb vfmsubpsw vfmsubpsl vfmsubpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubsd vfmsubsdb vfmsubsdw vfmsubsdl vfmsubsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfmsubss vfmsubssb vfmsubssw vfmsubssl vfmsubssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmaddpd vfnmaddpdb vfnmaddpdw vfnmaddpdl vfnmaddpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmaddps vfnmaddpsb vfnmaddpsw vfnmaddpsl vfnmaddpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmaddsd vfnmaddsdb vfnmaddsdw vfnmaddsdl vfnmaddsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmaddss vfnmaddssb vfnmaddssw vfnmaddssl vfnmaddssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmsubpd vfnmsubpdb vfnmsubpdw vfnmsubpdl vfnmsubpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmsubps vfnmsubpsb vfnmsubpsw vfnmsubpsl vfnmsubpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmsubsd vfnmsubsdb vfnmsubsdw vfnmsubsdl vfnmsubsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfnmsubss vfnmsubssb vfnmsubssw vfnmsubssl vfnmsubssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfrczpd vfrczpdb vfrczpdw vfrczpdl vfrczpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfrczps vfrczpsb vfrczpsw vfrczpsl vfrczpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfrczsd vfrczsdb vfrczsdw vfrczsdl vfrczsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vfrczss vfrczssb vfrczssw vfrczssl vfrczssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcmov vpcmovb vpcmovw vpcmovl vpcmovq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomb vpcombb vpcombw vpcombl vpcombq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomd vpcomdb vpcomdw vpcomdl vpcomdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomq vpcomqb vpcomqw vpcomql vpcomqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomub vpcomubb vpcomubw vpcomubl vpcomubq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomud vpcomudb vpcomudw vpcomudl vpcomudq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomuq vpcomuqb vpcomuqw vpcomuql vpcomuqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomuw vpcomuwb vpcomuww vpcomuwl vpcomuwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpcomw vpcomwb vpcomww vpcomwl vpcomwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddbd vphaddbdb vphaddbdw vphaddbdl vphaddbdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddbq vphaddbqb vphaddbqw vphaddbql vphaddbqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddbw vphaddbwb vphaddbww vphaddbwl vphaddbwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphadddq vphadddqb vphadddqw vphadddql vphadddqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddubd vphaddubdb vphaddubdw vphaddubdl vphaddubdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddubq vphaddubqb vphaddubqw vphaddubql vphaddubqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddubwd vphaddubwdb vphaddubwdw vphaddubwdl vphaddubwdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddudq vphaddudqb vphaddudqw vphaddudql vphaddudqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphadduwd vphadduwdb vphadduwdw vphadduwdl vphadduwdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphadduwq vphadduwqb vphadduwqw vphadduwql vphadduwqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddwd vphaddwdb vphaddwdw vphaddwdl vphaddwdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphaddwq vphaddwqb vphaddwqw vphaddwql vphaddwqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphsubbw vphsubbwb vphsubbww vphsubbwl vphsubbwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphsubdq vphsubdqb vphsubdqw vphsubdql vphsubdqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vphsubwd vphsubwdb vphsubwdw vphsubwdl vphsubwdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacsdd vpmacsddb vpmacsddw vpmacsddl vpmacsddq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacsdqh vpmacsdqhb vpmacsdqhw vpmacsdqhl vpmacsdqhq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacsdql vpmacsdqlb vpmacsdqlw vpmacsdqll vpmacsdqlq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacssdd vpmacssddb vpmacssddw vpmacssddl vpmacssddq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacssdqh vpmacssdqhb vpmacssdqhw vpmacssdqhl vpmacssdqhq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacssdql vpmacssdqlb vpmacssdqlw vpmacssdqll vpmacssdqlq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacsswd vpmacsswdb vpmacsswdw vpmacsswdl vpmacsswdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacssww vpmacsswwb vpmacsswww vpmacsswwl vpmacsswwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacswd vpmacswdb vpmacswdw vpmacswdl vpmacswdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmacsww vpmacswwb vpmacswww vpmacswwl vpmacswwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmadcsswd vpmadcsswdb vpmadcsswdw vpmadcsswdl vpmadcsswdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpmadcswd vpmadcswdb vpmadcswdw vpmadcswdl vpmadcswdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpperm vppermb vppermw vpperml vppermq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vprotb vprotbb vprotbw vprotbl vprotbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vprotd vprotdb vprotdw vprotdl vprotdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vprotq vprotqb vprotqw vprotql vprotqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vprotw vprotwb vprotww vprotwl vprotwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshab vpshabb vpshabw vpshabl vpshabq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshad vpshadb vpshadw vpshadl vpshadq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshaq vpshaqb vpshaqw vpshaql vpshaqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshaw vpshawb vpshaww vpshawl vpshawq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshlb vpshlbb vpshlbw vpshlbl vpshlbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshld vpshldb vpshldw vpshldl vpshldq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshlq vpshlqb vpshlqw vpshlql vpshlqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} vpshlw vpshlwb vpshlww vpshlwl vpshlwq"
# Generic memory operations
Opcode_KATMAI_Base="${Opcode_KATMAI_Base} prefetchnta prefetchntab prefetchntaw prefetchntal prefetchntaq"
Opcode_KATMAI_Base="${Opcode_KATMAI_Base} prefetcht0 prefetcht0b prefetcht0w prefetcht0l prefetcht0q"
Opcode_KATMAI_Base="${Opcode_KATMAI_Base} prefetcht1 prefetcht1b prefetcht1w prefetcht1l prefetcht1q"
Opcode_KATMAI_Base="${Opcode_KATMAI_Base} prefetcht2 prefetcht2b prefetcht2w prefetcht2l prefetcht2q"
Opcode_KATMAI_Base="${Opcode_KATMAI_Base} sfence"
# Tejas New Instructions (SSSE3)
Opcode_SSSE3="${Opcode_SSSE3} pabsb pabsbb pabsbw pabsbl pabsbq"
Opcode_SSSE3="${Opcode_SSSE3} pabsw pabswb pabsww pabswl pabswq"
Opcode_SSSE3="${Opcode_SSSE3} pabsd pabsdb pabsdw pabsdl pabsdq"
Opcode_SSSE3="${Opcode_SSSE3} palignr palignrb palignrw palignrl palignrq"
Opcode_SSSE3="${Opcode_SSSE3} phaddw phaddwb phaddww phaddwl phaddwq"
Opcode_SSSE3="${Opcode_SSSE3} phaddd phadddb phadddw phadddl phadddq"
Opcode_SSSE3="${Opcode_SSSE3} phaddsw phaddswb phaddsww phaddswl phaddswq"
Opcode_SSSE3="${Opcode_SSSE3} phsubw phsubwb phsubww phsubwl phsubwq"
Opcode_SSSE3="${Opcode_SSSE3} phsubd phsubdb phsubdw phsubdl phsubdq"
Opcode_SSSE3="${Opcode_SSSE3} phsubsw phsubswb phsubsww phsubswl phsubswq"
Opcode_SSSE3="${Opcode_SSSE3} pmaddubsw pmaddubswb pmaddubsww pmaddubswl pmaddubswq"
Opcode_SSSE3="${Opcode_SSSE3} pmulhrsw pmulhrswb pmulhrsww pmulhrswl pmulhrswq"
Opcode_SSSE3="${Opcode_SSSE3} pshufb pshufbb pshufbw pshufbl pshufbq"
Opcode_SSSE3="${Opcode_SSSE3} psignb psignbb psignbw psignbl psignbq"
Opcode_SSSE3="${Opcode_SSSE3} psignw psignwb psignww psignwl psignwq"
Opcode_SSSE3="${Opcode_SSSE3} psignd psigndb psigndw psigndl psigndq"
# Intel Fused Multiply-Add instructions (FMA)
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd132ps vfmadd132psb vfmadd132psw vfmadd132psl vfmadd132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd132pd vfmadd132pdb vfmadd132pdw vfmadd132pdl vfmadd132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd312ps vfmadd312psb vfmadd312psw vfmadd312psl vfmadd312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd312pd vfmadd312pdb vfmadd312pdw vfmadd312pdl vfmadd312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd213ps vfmadd213psb vfmadd213psw vfmadd213psl vfmadd213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd213pd vfmadd213pdb vfmadd213pdw vfmadd213pdl vfmadd213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd123ps vfmadd123psb vfmadd123psw vfmadd123psl vfmadd123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd123pd vfmadd123pdb vfmadd123pdw vfmadd123pdl vfmadd123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd231ps vfmadd231psb vfmadd231psw vfmadd231psl vfmadd231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd231pd vfmadd231pdb vfmadd231pdw vfmadd231pdl vfmadd231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd321ps vfmadd321psb vfmadd321psw vfmadd321psl vfmadd321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd321pd vfmadd321pdb vfmadd321pdw vfmadd321pdl vfmadd321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub132ps vfmaddsub132psb vfmaddsub132psw vfmaddsub132psl vfmaddsub132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub132pd vfmaddsub132pdb vfmaddsub132pdw vfmaddsub132pdl vfmaddsub132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub312ps vfmaddsub312psb vfmaddsub312psw vfmaddsub312psl vfmaddsub312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub312pd vfmaddsub312pdb vfmaddsub312pdw vfmaddsub312pdl vfmaddsub312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub213ps vfmaddsub213psb vfmaddsub213psw vfmaddsub213psl vfmaddsub213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub213pd vfmaddsub213pdb vfmaddsub213pdw vfmaddsub213pdl vfmaddsub213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub123ps vfmaddsub123psb vfmaddsub123psw vfmaddsub123psl vfmaddsub123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub123pd vfmaddsub123pdb vfmaddsub123pdw vfmaddsub123pdl vfmaddsub123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub231ps vfmaddsub231psb vfmaddsub231psw vfmaddsub231psl vfmaddsub231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub231pd vfmaddsub231pdb vfmaddsub231pdw vfmaddsub231pdl vfmaddsub231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub321ps vfmaddsub321psb vfmaddsub321psw vfmaddsub321psl vfmaddsub321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmaddsub321pd vfmaddsub321pdb vfmaddsub321pdw vfmaddsub321pdl vfmaddsub321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub132ps vfmsub132psb vfmsub132psw vfmsub132psl vfmsub132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub132pd vfmsub132pdb vfmsub132pdw vfmsub132pdl vfmsub132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub312ps vfmsub312psb vfmsub312psw vfmsub312psl vfmsub312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub312pd vfmsub312pdb vfmsub312pdw vfmsub312pdl vfmsub312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub213ps vfmsub213psb vfmsub213psw vfmsub213psl vfmsub213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub213pd vfmsub213pdb vfmsub213pdw vfmsub213pdl vfmsub213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub123ps vfmsub123psb vfmsub123psw vfmsub123psl vfmsub123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub123pd vfmsub123pdb vfmsub123pdw vfmsub123pdl vfmsub123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub231ps vfmsub231psb vfmsub231psw vfmsub231psl vfmsub231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub231pd vfmsub231pdb vfmsub231pdw vfmsub231pdl vfmsub231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub321ps vfmsub321psb vfmsub321psw vfmsub321psl vfmsub321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub321pd vfmsub321pdb vfmsub321pdw vfmsub321pdl vfmsub321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd132ps vfmsubadd132psb vfmsubadd132psw vfmsubadd132psl vfmsubadd132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd132pd vfmsubadd132pdb vfmsubadd132pdw vfmsubadd132pdl vfmsubadd132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd312ps vfmsubadd312psb vfmsubadd312psw vfmsubadd312psl vfmsubadd312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd312pd vfmsubadd312pdb vfmsubadd312pdw vfmsubadd312pdl vfmsubadd312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd213ps vfmsubadd213psb vfmsubadd213psw vfmsubadd213psl vfmsubadd213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd213pd vfmsubadd213pdb vfmsubadd213pdw vfmsubadd213pdl vfmsubadd213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd123ps vfmsubadd123psb vfmsubadd123psw vfmsubadd123psl vfmsubadd123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd123pd vfmsubadd123pdb vfmsubadd123pdw vfmsubadd123pdl vfmsubadd123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd231ps vfmsubadd231psb vfmsubadd231psw vfmsubadd231psl vfmsubadd231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd231pd vfmsubadd231pdb vfmsubadd231pdw vfmsubadd231pdl vfmsubadd231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd321ps vfmsubadd321psb vfmsubadd321psw vfmsubadd321psl vfmsubadd321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsubadd321pd vfmsubadd321pdb vfmsubadd321pdw vfmsubadd321pdl vfmsubadd321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd132ps vfnmadd132psb vfnmadd132psw vfnmadd132psl vfnmadd132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd132pd vfnmadd132pdb vfnmadd132pdw vfnmadd132pdl vfnmadd132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd312ps vfnmadd312psb vfnmadd312psw vfnmadd312psl vfnmadd312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd312pd vfnmadd312pdb vfnmadd312pdw vfnmadd312pdl vfnmadd312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd213ps vfnmadd213psb vfnmadd213psw vfnmadd213psl vfnmadd213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd213pd vfnmadd213pdb vfnmadd213pdw vfnmadd213pdl vfnmadd213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd123ps vfnmadd123psb vfnmadd123psw vfnmadd123psl vfnmadd123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd123pd vfnmadd123pdb vfnmadd123pdw vfnmadd123pdl vfnmadd123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd231ps vfnmadd231psb vfnmadd231psw vfnmadd231psl vfnmadd231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd231pd vfnmadd231pdb vfnmadd231pdw vfnmadd231pdl vfnmadd231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd321ps vfnmadd321psb vfnmadd321psw vfnmadd321psl vfnmadd321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd321pd vfnmadd321pdb vfnmadd321pdw vfnmadd321pdl vfnmadd321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub132ps vfnmsub132psb vfnmsub132psw vfnmsub132psl vfnmsub132psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub132pd vfnmsub132pdb vfnmsub132pdw vfnmsub132pdl vfnmsub132pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub312ps vfnmsub312psb vfnmsub312psw vfnmsub312psl vfnmsub312psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub312pd vfnmsub312pdb vfnmsub312pdw vfnmsub312pdl vfnmsub312pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub213ps vfnmsub213psb vfnmsub213psw vfnmsub213psl vfnmsub213psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub213pd vfnmsub213pdb vfnmsub213pdw vfnmsub213pdl vfnmsub213pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub123ps vfnmsub123psb vfnmsub123psw vfnmsub123psl vfnmsub123psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub123pd vfnmsub123pdb vfnmsub123pdw vfnmsub123pdl vfnmsub123pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub231ps vfnmsub231psb vfnmsub231psw vfnmsub231psl vfnmsub231psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub231pd vfnmsub231pdb vfnmsub231pdw vfnmsub231pdl vfnmsub231pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub321ps vfnmsub321psb vfnmsub321psw vfnmsub321psl vfnmsub321psq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub321pd vfnmsub321pdb vfnmsub321pdw vfnmsub321pdl vfnmsub321pdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd132ss vfmadd132ssb vfmadd132ssw vfmadd132ssl vfmadd132ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd132sd vfmadd132sdb vfmadd132sdw vfmadd132sdl vfmadd132sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd312ss vfmadd312ssb vfmadd312ssw vfmadd312ssl vfmadd312ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd312sd vfmadd312sdb vfmadd312sdw vfmadd312sdl vfmadd312sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd213ss vfmadd213ssb vfmadd213ssw vfmadd213ssl vfmadd213ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd213sd vfmadd213sdb vfmadd213sdw vfmadd213sdl vfmadd213sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd123ss vfmadd123ssb vfmadd123ssw vfmadd123ssl vfmadd123ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd123sd vfmadd123sdb vfmadd123sdw vfmadd123sdl vfmadd123sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd231ss vfmadd231ssb vfmadd231ssw vfmadd231ssl vfmadd231ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd231sd vfmadd231sdb vfmadd231sdw vfmadd231sdl vfmadd231sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd321ss vfmadd321ssb vfmadd321ssw vfmadd321ssl vfmadd321ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmadd321sd vfmadd321sdb vfmadd321sdw vfmadd321sdl vfmadd321sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub132ss vfmsub132ssb vfmsub132ssw vfmsub132ssl vfmsub132ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub132sd vfmsub132sdb vfmsub132sdw vfmsub132sdl vfmsub132sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub312ss vfmsub312ssb vfmsub312ssw vfmsub312ssl vfmsub312ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub312sd vfmsub312sdb vfmsub312sdw vfmsub312sdl vfmsub312sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub213ss vfmsub213ssb vfmsub213ssw vfmsub213ssl vfmsub213ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub213sd vfmsub213sdb vfmsub213sdw vfmsub213sdl vfmsub213sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub123ss vfmsub123ssb vfmsub123ssw vfmsub123ssl vfmsub123ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub123sd vfmsub123sdb vfmsub123sdw vfmsub123sdl vfmsub123sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub231ss vfmsub231ssb vfmsub231ssw vfmsub231ssl vfmsub231ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub231sd vfmsub231sdb vfmsub231sdw vfmsub231sdl vfmsub231sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub321ss vfmsub321ssb vfmsub321ssw vfmsub321ssl vfmsub321ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfmsub321sd vfmsub321sdb vfmsub321sdw vfmsub321sdl vfmsub321sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd132ss vfnmadd132ssb vfnmadd132ssw vfnmadd132ssl vfnmadd132ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd132sd vfnmadd132sdb vfnmadd132sdw vfnmadd132sdl vfnmadd132sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd312ss vfnmadd312ssb vfnmadd312ssw vfnmadd312ssl vfnmadd312ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd312sd vfnmadd312sdb vfnmadd312sdw vfnmadd312sdl vfnmadd312sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd213ss vfnmadd213ssb vfnmadd213ssw vfnmadd213ssl vfnmadd213ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd213sd vfnmadd213sdb vfnmadd213sdw vfnmadd213sdl vfnmadd213sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd123ss vfnmadd123ssb vfnmadd123ssw vfnmadd123ssl vfnmadd123ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd123sd vfnmadd123sdb vfnmadd123sdw vfnmadd123sdl vfnmadd123sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd231ss vfnmadd231ssb vfnmadd231ssw vfnmadd231ssl vfnmadd231ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd231sd vfnmadd231sdb vfnmadd231sdw vfnmadd231sdl vfnmadd231sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd321ss vfnmadd321ssb vfnmadd321ssw vfnmadd321ssl vfnmadd321ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmadd321sd vfnmadd321sdb vfnmadd321sdw vfnmadd321sdl vfnmadd321sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub132ss vfnmsub132ssb vfnmsub132ssw vfnmsub132ssl vfnmsub132ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub132sd vfnmsub132sdb vfnmsub132sdw vfnmsub132sdl vfnmsub132sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub312ss vfnmsub312ssb vfnmsub312ssw vfnmsub312ssl vfnmsub312ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub312sd vfnmsub312sdb vfnmsub312sdw vfnmsub312sdl vfnmsub312sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub213ss vfnmsub213ssb vfnmsub213ssw vfnmsub213ssl vfnmsub213ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub213sd vfnmsub213sdb vfnmsub213sdw vfnmsub213sdl vfnmsub213sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub123ss vfnmsub123ssb vfnmsub123ssw vfnmsub123ssl vfnmsub123ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub123sd vfnmsub123sdb vfnmsub123sdw vfnmsub123sdl vfnmsub123sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub231ss vfnmsub231ssb vfnmsub231ssw vfnmsub231ssl vfnmsub231ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub231sd vfnmsub231sdb vfnmsub231sdw vfnmsub231sdl vfnmsub231sdq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub321ss vfnmsub321ssb vfnmsub321ssw vfnmsub321ssl vfnmsub321ssq"
Opcode_FUTURE_FMA="${Opcode_FUTURE_FMA} vfnmsub321sd vfnmsub321sdb vfnmsub321sdw vfnmsub321sdl vfnmsub321sdq"
# Willamette SSE2 Cacheability Instructions
Opcode_SSE2="${Opcode_SSE2} maskmovdqu"
Opcode_SSE2="${Opcode_SSE2} clflush clflushb clflushw clflushl clflushq"
Opcode_SSE2="${Opcode_SSE2} movntdq movntdqb movntdqw movntdql movntdqq"
Opcode_X64_Base="${Opcode_X64_Base} movnti movntib movntiw movntil movntiq"
Opcode_SSE2="${Opcode_SSE2} movntpd movntpdb movntpdw movntpdl movntpdq"
Opcode_SSE2="${Opcode_SSE2} lfence"
Opcode_SSE2="${Opcode_SSE2} mfence"
# Systematic names for the hinting nop instructions
Opcode_X64_Base="${Opcode_X64_Base} hint_nop0"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop1"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop2"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop3"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop4"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop5"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop6"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop7"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop8"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop9"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop10"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop11"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop12"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop13"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop14"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop15"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop16"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop17"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop18"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop19"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop20"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop21"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop22"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop23"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop24"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop25"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop26"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop27"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop28"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop29"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop30"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop31"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop32"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop33"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop34"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop35"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop36"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop37"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop38"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop39"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop40"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop41"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop42"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop43"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop44"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop45"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop46"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop47"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop48"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop49"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop50"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop51"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop52"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop53"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop54"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop55"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop56"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop57"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop58"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop59"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop60"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop61"
Opcode_X64_Base="${Opcode_X64_Base} hint_nop62"
# Geode (Cyrix) 3DNow! additions
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrcpv pfrcpvb pfrcpvw pfrcpvl pfrcpvq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrsqrtv pfrsqrtvb pfrsqrtvw pfrsqrtvl pfrsqrtvq"
# XSAVE group (AVX and extended state)
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} xgetbv"
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} xsetbv"
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} xsave xsaveb xsavew xsavel xsaveq"
Opcode_NEHALEM_Base="${Opcode_NEHALEM_Base} xrstor xrstorb xrstorw xrstorl xrstorq"
# Conventional instructions
Opcode_8086_Base="${Opcode_8086_Base} aaa"
Opcode_8086_Base="${Opcode_8086_Base} aad aadb aadw aadl aadq"
Opcode_8086_Base="${Opcode_8086_Base} aam aamb aamw aaml aamq"
Opcode_8086_Base="${Opcode_8086_Base} aas"
Opcode_386_Base="${Opcode_386_Base} adc adcb adcw adcl adcq"
Opcode_386_Base="${Opcode_386_Base} add addb addw addl addq"
Opcode_386_Base="${Opcode_386_Base} and andb andw andl andq"
Opcode_286_Base="${Opcode_286_Base} arpl"
Opcode_PENT_Base="${Opcode_PENT_Base} bb0_reset"
Opcode_PENT_Base="${Opcode_PENT_Base} bb1_reset"
Opcode_386_Base="${Opcode_386_Base} bound boundb boundw boundl boundq"
Opcode_X64_Base="${Opcode_X64_Base} bsf"
Opcode_X64_Base="${Opcode_X64_Base} bsr"
Opcode_X64_Base="${Opcode_X64_Base} bswap"
Opcode_X64_Base="${Opcode_X64_Base} bt btb btw btl btq"
Opcode_X64_Base="${Opcode_X64_Base} btc btcb btcw btcl btcq"
Opcode_X64_Base="${Opcode_X64_Base} btr btrb btrw btrl btrq"
Opcode_X64_Base="${Opcode_X64_Base} bts btsb btsw btsl btsq"
Opcode_X64_Base="${Opcode_X64_Base} call callb callw calll callq"
Opcode_8086_Base="${Opcode_8086_Base} cbw"
Opcode_386_Base="${Opcode_386_Base} cdq"
Opcode_X64_Base="${Opcode_X64_Base} cdqe"
Opcode_8086_Base="${Opcode_8086_Base} clc"
Opcode_8086_Base="${Opcode_8086_Base} cld"
Opcode_X64_Base="${Opcode_X64_Base} clgi"
Opcode_8086_Base="${Opcode_8086_Base} cli"
Opcode_286_Base="${Opcode_286_Base} clts"
Opcode_8086_Base="${Opcode_8086_Base} cmc"
Opcode_386_Base="${Opcode_386_Base} cmp cmpb cmpw cmpl cmpq"
Opcode_8086_Base="${Opcode_8086_Base} cmpsb"
Opcode_386_Base="${Opcode_386_Base} cmpsd"
Opcode_X64_Base="${Opcode_X64_Base} cmpsq"
Opcode_8086_Base="${Opcode_8086_Base} cmpsw"
Opcode_X64_Base="${Opcode_X64_Base} cmpxchg"
Opcode_486_Base="${Opcode_486_Base} cmpxchg486"
Opcode_PENT_Base="${Opcode_PENT_Base} cmpxchg8b cmpxchg8bb cmpxchg8bw cmpxchg8bl cmpxchg8bq"
Opcode_X64_Base="${Opcode_X64_Base} cmpxchg16b cmpxchg16bb cmpxchg16bw cmpxchg16bl cmpxchg16bq"
Opcode_PENT_Base="${Opcode_PENT_Base} cpuid"
Opcode_PENT_Base="${Opcode_PENT_Base} cpu_read"
Opcode_PENT_Base="${Opcode_PENT_Base} cpu_write"
Opcode_X64_Base="${Opcode_X64_Base} cqo"
Opcode_8086_Base="${Opcode_8086_Base} cwd"
Opcode_386_Base="${Opcode_386_Base} cwde"
Opcode_8086_Base="${Opcode_8086_Base} daa"
Opcode_8086_Base="${Opcode_8086_Base} das"
Opcode_X64_Base="${Opcode_X64_Base} dec"
Opcode_X64_Base="${Opcode_X64_Base} div"
Opcode_P6_Base="${Opcode_P6_Base} dmint"
Opcode_PENT_MMX="${Opcode_PENT_MMX} emms"
Opcode_186_Base="${Opcode_186_Base} enter enterb enterw enterl enterq"
Opcode_8086_Base="${Opcode_8086_Base} equ"
Opcode_8086_Base="${Opcode_8086_Base} f2xm1"
Opcode_8086_Base="${Opcode_8086_Base} fabs"
Opcode_8086_Base="${Opcode_8086_Base} fadd"
Opcode_8086_Base="${Opcode_8086_Base} faddp"
Opcode_8086_Base="${Opcode_8086_Base} fbld fbldb fbldw fbldl fbldq"
Opcode_8086_Base="${Opcode_8086_Base} fbstp fbstpb fbstpw fbstpl fbstpq"
Opcode_8086_Base="${Opcode_8086_Base} fchs"
Opcode_8086_Base="${Opcode_8086_Base} fclex"
Opcode_P6_Base="${Opcode_P6_Base} fcmovb"
Opcode_P6_Base="${Opcode_P6_Base} fcmovbe"
Opcode_P6_Base="${Opcode_P6_Base} fcmove"
Opcode_P6_Base="${Opcode_P6_Base} fcmovnb"
Opcode_P6_Base="${Opcode_P6_Base} fcmovnbe"
Opcode_P6_Base="${Opcode_P6_Base} fcmovne"
Opcode_P6_Base="${Opcode_P6_Base} fcmovnu"
Opcode_P6_Base="${Opcode_P6_Base} fcmovu"
Opcode_8086_Base="${Opcode_8086_Base} fcom"
Opcode_P6_Base="${Opcode_P6_Base} fcomi"
Opcode_P6_Base="${Opcode_P6_Base} fcomip"
Opcode_8086_Base="${Opcode_8086_Base} fcomp"
Opcode_8086_Base="${Opcode_8086_Base} fcompp"
Opcode_386_Base="${Opcode_386_Base} fcos"
Opcode_8086_Base="${Opcode_8086_Base} fdecstp"
Opcode_8086_Base="${Opcode_8086_Base} fdisi"
Opcode_8086_Base="${Opcode_8086_Base} fdiv"
Opcode_8086_Base="${Opcode_8086_Base} fdivp"
Opcode_8086_Base="${Opcode_8086_Base} fdivr"
Opcode_8086_Base="${Opcode_8086_Base} fdivrp"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} femms"
Opcode_8086_Base="${Opcode_8086_Base} feni"
Opcode_8086_Base="${Opcode_8086_Base} ffree"
Opcode_286_Base="${Opcode_286_Base} ffreep"
Opcode_8086_Base="${Opcode_8086_Base} fiadd fiaddb fiaddw fiaddl fiaddq"
Opcode_8086_Base="${Opcode_8086_Base} ficom ficomb ficomw ficoml ficomq"
Opcode_8086_Base="${Opcode_8086_Base} ficomp ficompb ficompw ficompl ficompq"
Opcode_8086_Base="${Opcode_8086_Base} fidiv fidivb fidivw fidivl fidivq"
Opcode_8086_Base="${Opcode_8086_Base} fidivr fidivrb fidivrw fidivrl fidivrq"
Opcode_8086_Base="${Opcode_8086_Base} fild fildb fildw fildl fildq"
Opcode_8086_Base="${Opcode_8086_Base} fimul fimulb fimulw fimull fimulq"
Opcode_8086_Base="${Opcode_8086_Base} fincstp"
Opcode_8086_Base="${Opcode_8086_Base} finit"
Opcode_8086_Base="${Opcode_8086_Base} fist fistb fistw fistl fistq"
Opcode_8086_Base="${Opcode_8086_Base} fistp fistpb fistpw fistpl fistpq"
Opcode_PRESCOTT_Base="${Opcode_PRESCOTT_Base} fisttp fisttpb fisttpw fisttpl fisttpq"
Opcode_8086_Base="${Opcode_8086_Base} fisub fisubb fisubw fisubl fisubq"
Opcode_8086_Base="${Opcode_8086_Base} fisubr fisubrb fisubrw fisubrl fisubrq"
Opcode_8086_Base="${Opcode_8086_Base} fld"
Opcode_8086_Base="${Opcode_8086_Base} fld1"
Opcode_8086_Base="${Opcode_8086_Base} fldcw fldcwb fldcww fldcwl fldcwq"
Opcode_8086_Base="${Opcode_8086_Base} fldenv fldenvb fldenvw fldenvl fldenvq"
Opcode_8086_Base="${Opcode_8086_Base} fldl2e"
Opcode_8086_Base="${Opcode_8086_Base} fldl2t"
Opcode_8086_Base="${Opcode_8086_Base} fldlg2"
Opcode_8086_Base="${Opcode_8086_Base} fldln2"
Opcode_8086_Base="${Opcode_8086_Base} fldpi"
Opcode_8086_Base="${Opcode_8086_Base} fldz"
Opcode_8086_Base="${Opcode_8086_Base} fmul"
Opcode_8086_Base="${Opcode_8086_Base} fmulp"
Opcode_8086_Base="${Opcode_8086_Base} fnclex"
Opcode_8086_Base="${Opcode_8086_Base} fndisi"
Opcode_8086_Base="${Opcode_8086_Base} fneni"
Opcode_8086_Base="${Opcode_8086_Base} fninit"
Opcode_8086_Base="${Opcode_8086_Base} fnop"
Opcode_8086_Base="${Opcode_8086_Base} fnsave fnsaveb fnsavew fnsavel fnsaveq"
Opcode_8086_Base="${Opcode_8086_Base} fnstcw fnstcwb fnstcww fnstcwl fnstcwq"
Opcode_8086_Base="${Opcode_8086_Base} fnstenv fnstenvb fnstenvw fnstenvl fnstenvq"
Opcode_286_Base="${Opcode_286_Base} fnstsw"
Opcode_8086_Base="${Opcode_8086_Base} fpatan"
Opcode_8086_Base="${Opcode_8086_Base} fprem"
Opcode_386_Base="${Opcode_386_Base} fprem1"
Opcode_8086_Base="${Opcode_8086_Base} fptan"
Opcode_8086_Base="${Opcode_8086_Base} frndint"
Opcode_8086_Base="${Opcode_8086_Base} frstor frstorb frstorw frstorl frstorq"
Opcode_8086_Base="${Opcode_8086_Base} fsave fsaveb fsavew fsavel fsaveq"
Opcode_8086_Base="${Opcode_8086_Base} fscale"
Opcode_286_Base="${Opcode_286_Base} fsetpm"
Opcode_386_Base="${Opcode_386_Base} fsin"
Opcode_386_Base="${Opcode_386_Base} fsincos"
Opcode_8086_Base="${Opcode_8086_Base} fsqrt"
Opcode_8086_Base="${Opcode_8086_Base} fst"
Opcode_8086_Base="${Opcode_8086_Base} fstcw fstcwb fstcww fstcwl fstcwq"
Opcode_8086_Base="${Opcode_8086_Base} fstenv fstenvb fstenvw fstenvl fstenvq"
Opcode_8086_Base="${Opcode_8086_Base} fstp"
Opcode_286_Base="${Opcode_286_Base} fstsw"
Opcode_8086_Base="${Opcode_8086_Base} fsub"
Opcode_8086_Base="${Opcode_8086_Base} fsubp"
Opcode_8086_Base="${Opcode_8086_Base} fsubr"
Opcode_8086_Base="${Opcode_8086_Base} fsubrp"
Opcode_8086_Base="${Opcode_8086_Base} ftst"
Opcode_386_Base="${Opcode_386_Base} fucom"
Opcode_P6_Base="${Opcode_P6_Base} fucomi"
Opcode_P6_Base="${Opcode_P6_Base} fucomip"
Opcode_386_Base="${Opcode_386_Base} fucomp"
Opcode_386_Base="${Opcode_386_Base} fucompp"
Opcode_8086_Base="${Opcode_8086_Base} fxam"
Opcode_8086_Base="${Opcode_8086_Base} fxch"
Opcode_8086_Base="${Opcode_8086_Base} fxtract"
Opcode_8086_Base="${Opcode_8086_Base} fyl2x"
Opcode_8086_Base="${Opcode_8086_Base} fyl2xp1"
Opcode_8086_Base="${Opcode_8086_Base} hlt"
Opcode_386_Base="${Opcode_386_Base} ibts"
Opcode_386_Base="${Opcode_386_Base} icebp"
Opcode_X64_Base="${Opcode_X64_Base} idiv"
Opcode_X64_Base="${Opcode_X64_Base} imul imulb imulw imull imulq"
Opcode_386_Base="${Opcode_386_Base} in"
Opcode_X64_Base="${Opcode_X64_Base} inc incb incw incl incq"
Opcode_Base="${Opcode_Base} incbin"
Opcode_186_Base="${Opcode_186_Base} insb"
Opcode_386_Base="${Opcode_386_Base} insd"
Opcode_186_Base="${Opcode_186_Base} insw"
Opcode_8086_Base="${Opcode_8086_Base} int intb intw intl intq"
Opcode_386_Base="${Opcode_386_Base} int01"
Opcode_386_Base="${Opcode_386_Base} int1"
Opcode_8086_Base="${Opcode_8086_Base} int03"
Opcode_8086_Base="${Opcode_8086_Base} int3"
Opcode_8086_Base="${Opcode_8086_Base} into"
Opcode_486_Base="${Opcode_486_Base} invd"
Opcode_486_Base="${Opcode_486_Base} invlpg invlpgb invlpgw invlpgl invlpgq"
Opcode_X86_64_Base="${Opcode_X86_64_Base} invlpga"
Opcode_8086_Base="${Opcode_8086_Base} iret"
Opcode_386_Base="${Opcode_386_Base} iretd"
Opcode_X64_Base="${Opcode_X64_Base} iretq"
Opcode_8086_Base="${Opcode_8086_Base} iretw"
Opcode_8086_Base="${Opcode_8086_Base} jcxz jcxzb jcxzw jcxzl jcxzq"
Opcode_386_Base="${Opcode_386_Base} jecxz jecxzb jecxzw jecxzl jecxzq"
Opcode_X64_Base="${Opcode_X64_Base} jrcxz jrcxzb jrcxzw jrcxzl jrcxzq"
Opcode_X64_Base="${Opcode_X64_Base} jmp jmpb jmpw jmpl jmpq"
Opcode_IA64_Base="${Opcode_IA64_Base} jmpe"
Opcode_8086_Base="${Opcode_8086_Base} lahf"
Opcode_X64_Base="${Opcode_X64_Base} lar"
Opcode_386_Base="${Opcode_386_Base} lds ldsb ldsw ldsl ldsq"
Opcode_X64_Base="${Opcode_X64_Base} lea leab leaw leal leaq"
Opcode_186_Base="${Opcode_186_Base} leave"
Opcode_386_Base="${Opcode_386_Base} les lesb lesw lesl lesq"
Opcode_X64_Base="${Opcode_X64_Base} lfence"
Opcode_386_Base="${Opcode_386_Base} lfs lfsb lfsw lfsl lfsq"
Opcode_286_Base="${Opcode_286_Base} lgdt lgdtb lgdtw lgdtl lgdtq"
Opcode_386_Base="${Opcode_386_Base} lgs lgsb lgsw lgsl lgsq"
Opcode_286_Base="${Opcode_286_Base} lidt lidtb lidtw lidtl lidtq"
Opcode_286_Base="${Opcode_286_Base} lldt"
Opcode_286_Base="${Opcode_286_Base} lmsw"
Opcode_386_Base="${Opcode_386_Base} loadall"
Opcode_286_Base="${Opcode_286_Base} loadall286"
Opcode_8086_Base="${Opcode_8086_Base} lodsb"
Opcode_386_Base="${Opcode_386_Base} lodsd"
Opcode_X64_Base="${Opcode_X64_Base} lodsq"
Opcode_8086_Base="${Opcode_8086_Base} lodsw"
Opcode_X64_Base="${Opcode_X64_Base} loop loopb loopw loopl loopq"
Opcode_X64_Base="${Opcode_X64_Base} loope loopeb loopew loopel loopeq"
Opcode_X64_Base="${Opcode_X64_Base} loopne loopneb loopnew loopnel loopneq"
Opcode_X64_Base="${Opcode_X64_Base} loopnz loopnzb loopnzw loopnzl loopnzq"
Opcode_X64_Base="${Opcode_X64_Base} loopz loopzb loopzw loopzl loopzq"
Opcode_X64_Base="${Opcode_X64_Base} lsl"
Opcode_386_Base="${Opcode_386_Base} lss lssb lssw lssl lssq"
Opcode_286_Base="${Opcode_286_Base} ltr"
Opcode_X64_Base="${Opcode_X64_Base} mfence"
Opcode_PRESCOTT_Base="${Opcode_PRESCOTT_Base} monitor"
Opcode_386_Base="${Opcode_386_Base} mov movb movw movl movq"
Opcode_X64_SSE="${Opcode_X64_SSE} movd"
Opcode_X64_MMX="${Opcode_X64_MMX} movq"
Opcode_8086_Base="${Opcode_8086_Base} movsb"
Opcode_386_Base="${Opcode_386_Base} movsd"
Opcode_X64_Base="${Opcode_X64_Base} movsq"
Opcode_8086_Base="${Opcode_8086_Base} movsw"
Opcode_X64_Base="${Opcode_X64_Base} movsx"
Opcode_X64_Base="${Opcode_X64_Base} movsxd"
Opcode_X64_Base="${Opcode_X64_Base} movsx"
Opcode_X64_Base="${Opcode_X64_Base} movzx"
Opcode_X64_Base="${Opcode_X64_Base} mul"
Opcode_PRESCOTT_Base="${Opcode_PRESCOTT_Base} mwait"
Opcode_X64_Base="${Opcode_X64_Base} neg"
Opcode_X64_Base="${Opcode_X64_Base} nop"
Opcode_X64_Base="${Opcode_X64_Base} not"
Opcode_386_Base="${Opcode_386_Base} or orb orw orl orq"
Opcode_386_Base="${Opcode_386_Base} out"
Opcode_186_Base="${Opcode_186_Base} outsb"
Opcode_386_Base="${Opcode_386_Base} outsd"
Opcode_186_Base="${Opcode_186_Base} outsw"
Opcode_PENT_MMX="${Opcode_PENT_MMX} packssdw packssdwb packssdww packssdwl packssdwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} packsswb packsswbb packsswbw packsswbl packsswbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} packuswb packuswbb packuswbw packuswbl packuswbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddb paddbb paddbw paddbl paddbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddd padddb padddw padddl padddq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddsb paddsbb paddsbw paddsbl paddsbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddsiw paddsiwb paddsiww paddsiwl paddsiwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddsw paddswb paddsww paddswl paddswq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddusb paddusbb paddusbw paddusbl paddusbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddusw padduswb paddusww padduswl padduswq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paddw paddwb paddww paddwl paddwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pand pandb pandw pandl pandq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pandn pandnb pandnw pandnl pandnq"
Opcode_8086_Base="${Opcode_8086_Base} pause"
Opcode_PENT_MMX="${Opcode_PENT_MMX} paveb pavebb pavebw pavebl pavebq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pavgusb pavgusbb pavgusbw pavgusbl pavgusbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpeqb pcmpeqbb pcmpeqbw pcmpeqbl pcmpeqbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpeqd pcmpeqdb pcmpeqdw pcmpeqdl pcmpeqdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpeqw pcmpeqwb pcmpeqww pcmpeqwl pcmpeqwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpgtb pcmpgtbb pcmpgtbw pcmpgtbl pcmpgtbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpgtd pcmpgtdb pcmpgtdw pcmpgtdl pcmpgtdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pcmpgtw pcmpgtwb pcmpgtww pcmpgtwl pcmpgtwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pdistib pdistibb pdistibw pdistibl pdistibq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pf2id pf2idb pf2idw pf2idl pf2idq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfacc pfaccb pfaccw pfaccl pfaccq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfadd pfaddb pfaddw pfaddl pfaddq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfcmpeq pfcmpeqb pfcmpeqw pfcmpeql pfcmpeqq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfcmpge pfcmpgeb pfcmpgew pfcmpgel pfcmpgeq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfcmpgt pfcmpgtb pfcmpgtw pfcmpgtl pfcmpgtq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfmax pfmaxb pfmaxw pfmaxl pfmaxq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfmin pfminb pfminw pfminl pfminq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfmul pfmulb pfmulw pfmull pfmulq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrcp pfrcpb pfrcpw pfrcpl pfrcpq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrcpit1 pfrcpit1b pfrcpit1w pfrcpit1l pfrcpit1q"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrcpit2 pfrcpit2b pfrcpit2w pfrcpit2l pfrcpit2q"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrsqit1 pfrsqit1b pfrsqit1w pfrsqit1l pfrsqit1q"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfrsqrt pfrsqrtb pfrsqrtw pfrsqrtl pfrsqrtq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfsub pfsubb pfsubw pfsubl pfsubq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pfsubr pfsubrb pfsubrw pfsubrl pfsubrq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pi2fd pi2fdb pi2fdw pi2fdl pi2fdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmachriw pmachriwb pmachriww pmachriwl pmachriwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmaddwd pmaddwdb pmaddwdw pmaddwdl pmaddwdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmagw pmagwb pmagww pmagwl pmagwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmulhriw pmulhriwb pmulhriww pmulhriwl pmulhriwq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} pmulhrwa pmulhrwab pmulhrwaw pmulhrwal pmulhrwaq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmulhrwc pmulhrwcb pmulhrwcw pmulhrwcl pmulhrwcq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmulhw pmulhwb pmulhww pmulhwl pmulhwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmullw pmullwb pmullww pmullwl pmullwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmvgezb pmvgezbb pmvgezbw pmvgezbl pmvgezbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmvlzb pmvlzbb pmvlzbw pmvlzbl pmvlzbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmvnzb pmvnzbb pmvnzbw pmvnzbl pmvnzbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pmvzb pmvzbb pmvzbw pmvzbl pmvzbq"
Opcode_386_Base="${Opcode_386_Base} pop popb popw popl popq"
Opcode_186_Base="${Opcode_186_Base} popa"
Opcode_386_Base="${Opcode_386_Base} popad"
Opcode_186_Base="${Opcode_186_Base} popaw"
Opcode_8086_Base="${Opcode_8086_Base} popf"
Opcode_386_Base="${Opcode_386_Base} popfd popfl"
Opcode_X64_Base="${Opcode_X64_Base} popfq"
Opcode_8086_Base="${Opcode_8086_Base} popfw"
Opcode_PENT_MMX="${Opcode_PENT_MMX} por porb porw porl porq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} prefetch prefetchb prefetchw prefetchl prefetchq"
Opcode_ATHLON_3DNOW="${Opcode_ATHLON_3DNOW} prefetchw prefetchwb prefetchww prefetchwl prefetchwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pslld pslldb pslldw pslldl pslldq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psllq psllqb psllqw psllql psllqq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psllw psllwb psllww psllwl psllwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psrad psradb psradw psradl psradq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psraw psrawb psraww psrawl psrawq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psrld psrldb psrldw psrldl psrldq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psrlq psrlqb psrlqw psrlql psrlqq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psrlw psrlwb psrlww psrlwl psrlwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubb psubbb psubbw psubbl psubbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubd psubdb psubdw psubdl psubdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubsb psubsbb psubsbw psubsbl psubsbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubsiw psubsiwb psubsiww psubsiwl psubsiwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubsw psubswb psubsww psubswl psubswq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubusb psubusbb psubusbw psubusbl psubusbq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubusw psubuswb psubusww psubuswl psubuswq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} psubw psubwb psubww psubwl psubwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpckhbw punpckhbwb punpckhbww punpckhbwl punpckhbwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpckhdq punpckhdqb punpckhdqw punpckhdql punpckhdqq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpckhwd punpckhwdb punpckhwdw punpckhwdl punpckhwdq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpcklbw punpcklbwb punpcklbww punpcklbwl punpcklbwq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpckldq punpckldqb punpckldqw punpckldql punpckldqq"
Opcode_PENT_MMX="${Opcode_PENT_MMX} punpcklwd punpcklwdb punpcklwdw punpcklwdl punpcklwdq"
Opcode_X64_Base="${Opcode_X64_Base} push pushb pushw pushl pushq"
Opcode_186_Base="${Opcode_186_Base} pusha"
Opcode_386_Base="${Opcode_386_Base} pushad"
Opcode_186_Base="${Opcode_186_Base} pushaw"
Opcode_8086_Base="${Opcode_8086_Base} pushf"
Opcode_386_Base="${Opcode_386_Base} pushfd"
Opcode_X64_Base="${Opcode_X64_Base} pushfq"
Opcode_8086_Base="${Opcode_8086_Base} pushfw"
Opcode_PENT_MMX="${Opcode_PENT_MMX} pxor pxorb pxorw pxorl pxorq"
Opcode_X64_Base="${Opcode_X64_Base} rcl rclb rclw rcll rclq"
Opcode_X64_Base="${Opcode_X64_Base} rcr rcrb rcrw rcrl rcrq"
Opcode_P6_Base="${Opcode_P6_Base} rdshr"
Opcode_PENT_Base="${Opcode_PENT_Base} rdmsr"
Opcode_P6_Base="${Opcode_P6_Base} rdpmc"
Opcode_PENT_Base="${Opcode_PENT_Base} rdtsc"
Opcode_X86_64_Base="${Opcode_X86_64_Base} rdtscp"
Opcode_8086_Base="${Opcode_8086_Base} ret retb retw retl retq"
Opcode_8086_Base="${Opcode_8086_Base} retf retfb retfw retfl retfq"
Opcode_8086_Base="${Opcode_8086_Base} retn retnb retnw retnl retnq"
Opcode_X64_Base="${Opcode_X64_Base} rol rolb rolw roll rolq"
Opcode_X64_Base="${Opcode_X64_Base} ror rorb rorw rorl rorq"
Opcode_P6_Base="${Opcode_P6_Base} rdm"
Opcode_486_Base="${Opcode_486_Base} rsdc rsdcb rsdcw rsdcl rsdcq"
Opcode_486_Base="${Opcode_486_Base} rsldt rsldtb rsldtw rsldtl rsldtq"
Opcode_PENTM_Base="${Opcode_PENTM_Base} rsm"
Opcode_486_Base="${Opcode_486_Base} rsts rstsb rstsw rstsl rstsq"
Opcode_8086_Base="${Opcode_8086_Base} sahf"
Opcode_X64_Base="${Opcode_X64_Base} sal salb salw sall salq"
Opcode_8086_Base="${Opcode_8086_Base} salc"
Opcode_X64_Base="${Opcode_X64_Base} sar sarb sarw sarl sarq"
Opcode_386_Base="${Opcode_386_Base} sbb sbbb sbbw sbbl sbbq"
Opcode_8086_Base="${Opcode_8086_Base} scasb"
Opcode_386_Base="${Opcode_386_Base} scasd"
Opcode_X64_Base="${Opcode_X64_Base} scasq"
Opcode_8086_Base="${Opcode_8086_Base} scasw"
Opcode_X64_Base="${Opcode_X64_Base} sfence"
Opcode_286_Base="${Opcode_286_Base} sgdt sgdtb sgdtw sgdtl sgdtq"
Opcode_X64_Base="${Opcode_X64_Base} shl shlb shlw shll shlq"
Opcode_X64_Base="${Opcode_X64_Base} shld"
Opcode_X64_Base="${Opcode_X64_Base} shr shrb shrw shrl shrq"
Opcode_X64_Base="${Opcode_X64_Base} shrd"
Opcode_286_Base="${Opcode_286_Base} sidt sidtb sidtw sidtl sidtq"
Opcode_X64_Base="${Opcode_X64_Base} sldt"
Opcode_X64_Base="${Opcode_X64_Base} skinit"
Opcode_386_Base="${Opcode_386_Base} smi"
Opcode_P6_Base="${Opcode_P6_Base} smint"
Opcode_486_Base="${Opcode_486_Base} smintold"
Opcode_386_Base="${Opcode_386_Base} smsw"
Opcode_8086_Base="${Opcode_8086_Base} stc"
Opcode_8086_Base="${Opcode_8086_Base} std"
Opcode_X64_Base="${Opcode_X64_Base} stgi"
Opcode_8086_Base="${Opcode_8086_Base} sti"
Opcode_8086_Base="${Opcode_8086_Base} stosb"
Opcode_386_Base="${Opcode_386_Base} stosd stosl"
Opcode_X64_Base="${Opcode_X64_Base} stosq"
Opcode_8086_Base="${Opcode_8086_Base} stosw"
Opcode_X64_Base="${Opcode_X64_Base} str"
Opcode_386_Base="${Opcode_386_Base} sub subb subw subl subq"
Opcode_486_Base="${Opcode_486_Base} svdc svdcb svdcw svdcl svdcq"
Opcode_486_Base="${Opcode_486_Base} svldt svldtb svldtw svldtl svldtq"
Opcode_486_Base="${Opcode_486_Base} svts svtsb svtsw svtsl svtsq"
Opcode_X64_Base="${Opcode_X64_Base} swapgs"
Opcode_P6_Base="${Opcode_P6_Base} syscall"
Opcode_P6_Base="${Opcode_P6_Base} sysenter"
Opcode_P6_Base="${Opcode_P6_Base} sysexit"
Opcode_P6_Base="${Opcode_P6_Base} sysret"
Opcode_386_Base="${Opcode_386_Base} test testb testw testl testq"
Opcode_186_Base="${Opcode_186_Base} ud0"
Opcode_186_Base="${Opcode_186_Base} ud1"
Opcode_186_Base="${Opcode_186_Base} ud2b"
Opcode_186_Base="${Opcode_186_Base} ud2"
Opcode_186_Base="${Opcode_186_Base} ud2a"
Opcode_386_Base="${Opcode_386_Base} umov"
Opcode_286_Base="${Opcode_286_Base} verr"
Opcode_286_Base="${Opcode_286_Base} verw"
Opcode_8086_Base="${Opcode_8086_Base} fwait"
Opcode_486_Base="${Opcode_486_Base} wbinvd"
Opcode_P6_Base="${Opcode_P6_Base} wrshr"
Opcode_PENT_Base="${Opcode_PENT_Base} wrmsr"
Opcode_X64_Base="${Opcode_X64_Base} xadd"
Opcode_386_Base="${Opcode_386_Base} xbts"
Opcode_X64_Base="${Opcode_X64_Base} xchg"
Opcode_8086_Base="${Opcode_8086_Base} xlatb"
Opcode_8086_Base="${Opcode_8086_Base} xlat"
Opcode_386_Base="${Opcode_386_Base} xor xorb xorw xorl xorq"
Opcode_X64_Base="${Opcode_X64_Base} cmovcc"
Opcode_8086_Base="${Opcode_8086_Base} j(e|ne|a|ae|b|be|nbe|g|ge|ng|nge|l|le||z|nz|c|nc|d|nd|o|no|p|np|s|ns)[bwlq]?"
Opcode_386_Base="${Opcode_386_Base} set(e|ne|a|ae|b|be|nbe|g|ge|ng|nge|l|le||z|nz|c|nc|d|nd|o|no|p|np|s|ns)[bwlq]?"
# VIA (Centaur) security instructions
Opcode_PENT_Base="${Opcode_PENT_Base} xstore"
Opcode_PENT_Base="${Opcode_PENT_Base} xcryptecb"
Opcode_PENT_Base="${Opcode_PENT_Base} xcryptcbc"
Opcode_PENT_Base="${Opcode_PENT_Base} xcryptctr"
Opcode_PENT_Base="${Opcode_PENT_Base} xcryptcfb"
Opcode_PENT_Base="${Opcode_PENT_Base} xcryptofb"
Opcode_PENT_Base="${Opcode_PENT_Base} montmul"
Opcode_PENT_Base="${Opcode_PENT_Base} xsha1"
Opcode_PENT_Base="${Opcode_PENT_Base} xsha256"
# Intel AVX Carry-Less Multiplication instructions (CLMUL)
Opcode_SANDYBRIDGE_AVX="${Opcode_SANDYBRIDGE_AVX} vpclmullqlqdq vpclmullqlqdqb vpclmullqlqdqw vpclmullqlqdql vpclmullqlqdqq"
Opcode_SANDYBRIDGE_AVX="${Opcode_SANDYBRIDGE_AVX} vpclmulhqlqdq vpclmulhqlqdqb vpclmulhqlqdqw vpclmulhqlqdql vpclmulhqlqdqq"
Opcode_SANDYBRIDGE_AVX="${Opcode_SANDYBRIDGE_AVX} vpclmullqhqdq vpclmullqhqdqb vpclmullqhqdqw vpclmullqhqdql vpclmullqhqdqq"
Opcode_SANDYBRIDGE_AVX="${Opcode_SANDYBRIDGE_AVX} vpclmulhqhqdq vpclmulhqhqdqb vpclmulhqhqdqw vpclmulhqhqdql vpclmulhqhqdqq"
Opcode_SANDYBRIDGE_AVX="${Opcode_SANDYBRIDGE_AVX} vpclmulqdq vpclmulqdqb vpclmulqdqw vpclmulqdql vpclmulqdqq"
# AMD SSE5 instructions
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmaddps fmaddpsb fmaddpsw fmaddpsl fmaddpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmaddpd fmaddpdb fmaddpdw fmaddpdl fmaddpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmaddss fmaddssb fmaddssw fmaddssl fmaddssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmaddsd fmaddsdb fmaddsdw fmaddsdl fmaddsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmsubps fmsubpsb fmsubpsw fmsubpsl fmsubpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmsubpd fmsubpdb fmsubpdw fmsubpdl fmsubpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmsubss fmsubssb fmsubssw fmsubssl fmsubssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fmsubsd fmsubsdb fmsubsdw fmsubsdl fmsubsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmaddps fnmaddpsb fnmaddpsw fnmaddpsl fnmaddpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmaddpd fnmaddpdb fnmaddpdw fnmaddpdl fnmaddpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmaddss fnmaddssb fnmaddssw fnmaddssl fnmaddssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmaddsd fnmaddsdb fnmaddsdw fnmaddsdl fnmaddsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmsubps fnmsubpsb fnmsubpsw fnmsubpsl fnmsubpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmsubpd fnmsubpdb fnmsubpdw fnmsubpdl fnmsubpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmsubss fnmsubssb fnmsubssw fnmsubssl fnmsubssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} fnmsubsd fnmsubsdb fnmsubsdw fnmsubsdl fnmsubsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comeqps comeqpsb comeqpsw comeqpsl comeqpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comltps comltpsb comltpsw comltpsl comltpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comleps comlepsb comlepsw comlepsl comlepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunordps comunordpsb comunordpsw comunordpsl comunordpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuneqps comuneqpsb comuneqpsw comuneqpsl comuneqpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunltps comunltpsb comunltpsw comunltpsl comunltpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunleps comunlepsb comunlepsw comunlepsl comunlepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comordps comordpsb comordpsw comordpsl comordpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comueqps comueqpsb comueqpsw comueqpsl comueqpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comultps comultpsb comultpsw comultpsl comultpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuleps comulepsb comulepsw comulepsl comulepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comfalseps comfalsepsb comfalsepsw comfalsepsl comfalsepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comneqps comneqpsb comneqpsw comneqpsl comneqpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnltps comnltpsb comnltpsw comnltpsl comnltpsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnleps comnlepsb comnlepsw comnlepsl comnlepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comtrueps comtruepsb comtruepsw comtruepsl comtruepsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comps compsb compsw compsl compsq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comeqpd comeqpdb comeqpdw comeqpdl comeqpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comltpd comltpdb comltpdw comltpdl comltpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comlepd comlepdb comlepdw comlepdl comlepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunordpd comunordpdb comunordpdw comunordpdl comunordpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuneqpd comuneqpdb comuneqpdw comuneqpdl comuneqpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunltpd comunltpdb comunltpdw comunltpdl comunltpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunlepd comunlepdb comunlepdw comunlepdl comunlepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comordpd comordpdb comordpdw comordpdl comordpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comueqpd comueqpdb comueqpdw comueqpdl comueqpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comultpd comultpdb comultpdw comultpdl comultpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comulepd comulepdb comulepdw comulepdl comulepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comfalsepd comfalsepdb comfalsepdw comfalsepdl comfalsepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comneqpd comneqpdb comneqpdw comneqpdl comneqpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnltpd comnltpdb comnltpdw comnltpdl comnltpdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnlepd comnlepdb comnlepdw comnlepdl comnlepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comtruepd comtruepdb comtruepdw comtruepdl comtruepdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} compd compdb compdw compdl compdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comeqss comeqssb comeqssw comeqssl comeqssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comltss comltssb comltssw comltssl comltssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comless comlessb comlessw comlessl comlessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunordss comunordssb comunordssw comunordssl comunordssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuneqss comuneqssb comuneqssw comuneqssl comuneqssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunltss comunltssb comunltssw comunltssl comunltssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunless comunlessb comunlessw comunlessl comunlessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comordss comordssb comordssw comordssl comordssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comueqss comueqssb comueqssw comueqssl comueqssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comultss comultssb comultssw comultssl comultssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuless comulessb comulessw comulessl comulessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comfalsess comfalsessb comfalsessw comfalsessl comfalsessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comneqss comneqssb comneqssw comneqssl comneqssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnltss comnltssb comnltssw comnltssl comnltssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnless comnlessb comnlessw comnlessl comnlessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comtruess comtruessb comtruessw comtruessl comtruessq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comss comssb comssw comssl comssq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comeqsd comeqsdb comeqsdw comeqsdl comeqsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comltsd comltsdb comltsdw comltsdl comltsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comlesd comlesdb comlesdw comlesdl comlesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunordsd comunordsdb comunordsdw comunordsdl comunordsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comuneqsd comuneqsdb comuneqsdw comuneqsdl comuneqsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunltsd comunltsdb comunltsdw comunltsdl comunltsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comunlesd comunlesdb comunlesdw comunlesdl comunlesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comordsd comordsdb comordsdw comordsdl comordsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comueqsd comueqsdb comueqsdw comueqsdl comueqsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comultsd comultsdb comultsdw comultsdl comultsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comulesd comulesdb comulesdw comulesdl comulesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comfalsesd comfalsesdb comfalsesdw comfalsesdl comfalsesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comneqsd comneqsdb comneqsdw comneqsdl comneqsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnltsd comnltsdb comnltsdw comnltsdl comnltsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comnlesd comnlesdb comnlesdw comnlesdl comnlesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comtruesd comtruesdb comtruesdw comtruesdl comtruesdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} comsd comsdb comsdw comsdl comsdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomltb pcomltbb pcomltbw pcomltbl pcomltbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomleb pcomlebb pcomlebw pcomlebl pcomlebq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgtb pcomgtbb pcomgtbw pcomgtbl pcomgtbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgeb pcomgebb pcomgebw pcomgebl pcomgebq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomeqb pcomeqbb pcomeqbw pcomeqbl pcomeqbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomneqb pcomneqbb pcomneqbw pcomneqbl pcomneqbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomfalseb pcomfalsebb pcomfalsebw pcomfalsebl pcomfalsebq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomtrueb pcomtruebb pcomtruebw pcomtruebl pcomtruebq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomb pcombb pcombw pcombl pcombq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomltw pcomltwb pcomltww pcomltwl pcomltwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomlew pcomlewb pcomleww pcomlewl pcomlewq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgtw pcomgtwb pcomgtww pcomgtwl pcomgtwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgew pcomgewb pcomgeww pcomgewl pcomgewq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomeqw pcomeqwb pcomeqww pcomeqwl pcomeqwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomneqw pcomneqwb pcomneqww pcomneqwl pcomneqwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomfalsew pcomfalsewb pcomfalseww pcomfalsewl pcomfalsewq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomtruew pcomtruewb pcomtrueww pcomtruewl pcomtruewq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomw pcomwb pcomww pcomwl pcomwq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomltd pcomltdb pcomltdw pcomltdl pcomltdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomled pcomledb pcomledw pcomledl pcomledq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgtd pcomgtdb pcomgtdw pcomgtdl pcomgtdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomged pcomgedb pcomgedw pcomgedl pcomgedq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomeqd pcomeqdb pcomeqdw pcomeqdl pcomeqdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomneqd pcomneqdb pcomneqdw pcomneqdl pcomneqdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomfalsed pcomfalsedb pcomfalsedw pcomfalsedl pcomfalsedq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomtrued pcomtruedb pcomtruedw pcomtruedl pcomtruedq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomd pcomdb pcomdw pcomdl pcomdq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomltq pcomltqb pcomltqw pcomltql pcomltqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomleq pcomleqb pcomleqw pcomleql pcomleqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgtq pcomgtqb pcomgtqw pcomgtql pcomgtqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgeq pcomgeqb pcomgeqw pcomgeql pcomgeqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomeqq pcomeqqb pcomeqqw pcomeqql pcomeqqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomneqq pcomneqqb pcomneqqw pcomneqql pcomneqqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomfalseq pcomfalseqb pcomfalseqw pcomfalseql pcomfalseqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomtrueq pcomtrueqb pcomtrueqw pcomtrueql pcomtrueqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomq pcomqb pcomqw pcomql pcomqq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomltub pcomltubb pcomltubw pcomltubl pcomltubq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomleub pcomleubb pcomleubw pcomleubl pcomleubq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgtub pcomgtubb pcomgtubw pcomgtubl pcomgtubq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomgeub pcomgeubb pcomgeubw pcomgeubl pcomgeubq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomequb pcomequbb pcomequbw pcomequbl pcomequbq"
Opcode_AMD_SSE5="${Opcode_AMD_SSE5} pcomnequb pcomnequbb pcomnequbw pcomnequbl pcomnequbq"