llvm.org GIT mirror llvm / release_40 lib / Target / X86 / X86InstrTablesInfo.h
release_40

Tree @release_40 (Download .tar.gz)

X86InstrTablesInfo.h @release_40raw · history · blame

   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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
//===-- X86InstrTablesInfo.h - X86 Instruction Tables -----------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file contains related X86 Instruction Information Tables.
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIB_TARGET_X86_X86INSTRTABLESINFO_H
#define LLVM_LIB_TARGET_X86_X86INSTRTABLESINFO_H

using namespace llvm;

struct X86EvexToVexCompressTableEntry {
  uint16_t EvexOpcode;
  uint16_t VexOpcode;
};



// X86 EVEX encoded instructions that have a VEX 128 encoding
// (table format: <EVEX opcode, VEX-128 opcode>).
static const X86EvexToVexCompressTableEntry X86EvexToVex128CompressTable[] = {
  // EVEX scalar with corresponding VEX.
  { X86::Int_VCOMISDZrm         ,  X86::Int_VCOMISDrm            },
  { X86::Int_VCOMISDZrr         ,  X86::Int_VCOMISDrr            },
  { X86::Int_VCOMISSZrm         ,  X86::Int_VCOMISSrm            },
  { X86::Int_VCOMISSZrr         ,  X86::Int_VCOMISSrr            },
  { X86::Int_VUCOMISDZrm        ,  X86::Int_VUCOMISDrm           },
  { X86::Int_VUCOMISDZrr        ,  X86::Int_VUCOMISDrr           },
  { X86::Int_VUCOMISSZrm        ,  X86::Int_VUCOMISSrm           },
  { X86::Int_VUCOMISSZrr        ,  X86::Int_VUCOMISSrr           },
  { X86::VADDSDZrm              ,  X86::VADDSDrm                 },
  { X86::VADDSDZrm_Int          ,  X86::VADDSDrm_Int             },
  { X86::VADDSDZrr              ,  X86::VADDSDrr                 },
  { X86::VADDSDZrr_Int          ,  X86::VADDSDrr_Int             },
  { X86::VADDSSZrm              ,  X86::VADDSSrm                 },
  { X86::VADDSSZrm_Int          ,  X86::VADDSSrm_Int             },
  { X86::VADDSSZrr              ,  X86::VADDSSrr                 },
  { X86::VADDSSZrr_Int          ,  X86::VADDSSrr_Int             },
  { X86::VCOMISDZrm             ,  X86::VCOMISDrm                },
  { X86::VCOMISDZrr             ,  X86::VCOMISDrr                },
  { X86::VCOMISSZrm             ,  X86::VCOMISSrm                },
  { X86::VCOMISSZrr             ,  X86::VCOMISSrr                },
  { X86::VCVTSD2SI64Zrm         ,  X86::VCVTSD2SI64rm            },
  { X86::VCVTSD2SI64Zrr         ,  X86::VCVTSD2SI64rr            },
  { X86::VCVTSD2SIZrm           ,  X86::VCVTSD2SIrm              },
  { X86::VCVTSD2SIZrr           ,  X86::VCVTSD2SIrr              },
  { X86::VCVTSD2SSZrm           ,  X86::VCVTSD2SSrm              },
  { X86::VCVTSD2SSZrr           ,  X86::VCVTSD2SSrr              },
  { X86::VCVTSI2SDZrm           ,  X86::VCVTSI2SDrm              },
  { X86::VCVTSI2SDZrm_Int       ,  X86::Int_VCVTSI2SDrm          },
  { X86::VCVTSI2SDZrr           ,  X86::VCVTSI2SDrr              },
  { X86::VCVTSI2SDZrr_Int       ,  X86::Int_VCVTSI2SDrr          },
  { X86::VCVTSI2SSZrm           ,  X86::VCVTSI2SSrm              },
  { X86::VCVTSI2SSZrm_Int       ,  X86::Int_VCVTSI2SSrm          },
  { X86::VCVTSI2SSZrr           ,  X86::VCVTSI2SSrr              },
  { X86::VCVTSI2SSZrr_Int       ,  X86::Int_VCVTSI2SSrr          },
  { X86::VCVTSS2SDZrm           ,  X86::VCVTSS2SDrm              },
  { X86::VCVTSS2SDZrr           ,  X86::VCVTSS2SDrr              },
  { X86::VCVTSS2SI64Zrm         ,  X86::VCVTSS2SI64rm            },
  { X86::VCVTSS2SI64Zrr         ,  X86::VCVTSS2SI64rr            },
  { X86::VCVTSS2SIZrm           ,  X86::VCVTSS2SIrm              },
  { X86::VCVTSS2SIZrr           ,  X86::VCVTSS2SIrr              },
  { X86::VCVTTSD2SI64Zrm        ,  X86::VCVTTSD2SI64rm           },
  { X86::VCVTTSD2SI64Zrm_Int    ,  X86::Int_VCVTTSD2SI64rm       },
  { X86::VCVTTSD2SI64Zrr        ,  X86::VCVTTSD2SI64rr           },
  { X86::VCVTTSD2SI64Zrr_Int    ,  X86::Int_VCVTTSD2SI64rr       },
  { X86::VCVTTSD2SIZrm          ,  X86::VCVTTSD2SIrm             },
  { X86::VCVTTSD2SIZrm_Int      ,  X86::Int_VCVTTSD2SIrm         },
  { X86::VCVTTSD2SIZrr          ,  X86::VCVTTSD2SIrr             },
  { X86::VCVTTSD2SIZrr_Int      ,  X86::Int_VCVTTSD2SIrr         },
  { X86::VCVTTSS2SI64Zrm        ,  X86::VCVTTSS2SI64rm           },
  { X86::VCVTTSS2SI64Zrm_Int    ,  X86::Int_VCVTTSS2SI64rm       },
  { X86::VCVTTSS2SI64Zrr        ,  X86::VCVTTSS2SI64rr           },
  { X86::VCVTTSS2SI64Zrr_Int    ,  X86::Int_VCVTTSS2SI64rr       },
  { X86::VCVTTSS2SIZrm          ,  X86::VCVTTSS2SIrm             },
  { X86::VCVTTSS2SIZrm_Int      ,  X86::Int_VCVTTSS2SIrm         },
  { X86::VCVTTSS2SIZrr          ,  X86::VCVTTSS2SIrr             },
  { X86::VCVTTSS2SIZrr_Int      ,  X86::Int_VCVTTSS2SIrr         },
  { X86::VDIVSDZrm              ,  X86::VDIVSDrm                 },
  { X86::VDIVSDZrm_Int          ,  X86::VDIVSDrm_Int             },
  { X86::VDIVSDZrr              ,  X86::VDIVSDrr                 },
  { X86::VDIVSDZrr_Int          ,  X86::VDIVSDrr_Int             },
  { X86::VDIVSSZrm              ,  X86::VDIVSSrm                 },
  { X86::VDIVSSZrm_Int          ,  X86::VDIVSSrm_Int             },
  { X86::VDIVSSZrr              ,  X86::VDIVSSrr                 },
  { X86::VDIVSSZrr_Int          ,  X86::VDIVSSrr_Int             },
  { X86::VFMADD132SDZm          ,  X86::VFMADD132SDm             },
  { X86::VFMADD132SDZm_Int      ,  X86::VFMADD132SDm_Int         },
  { X86::VFMADD132SDZr          ,  X86::VFMADD132SDr             },
  { X86::VFMADD132SDZr_Int      ,  X86::VFMADD132SDr_Int         },
  { X86::VFMADD132SSZm          ,  X86::VFMADD132SSm             },
  { X86::VFMADD132SSZm_Int      ,  X86::VFMADD132SSm_Int         },
  { X86::VFMADD132SSZr          ,  X86::VFMADD132SSr             },
  { X86::VFMADD132SSZr_Int      ,  X86::VFMADD132SSr_Int         },
  { X86::VFMADD213SDZm          ,  X86::VFMADD213SDm             },
  { X86::VFMADD213SDZm_Int      ,  X86::VFMADD213SDm_Int         },
  { X86::VFMADD213SDZr          ,  X86::VFMADD213SDr             },
  { X86::VFMADD213SDZr_Int      ,  X86::VFMADD213SDr_Int         },
  { X86::VFMADD213SSZm          ,  X86::VFMADD213SSm             },
  { X86::VFMADD213SSZm_Int      ,  X86::VFMADD213SSm_Int         },
  { X86::VFMADD213SSZr          ,  X86::VFMADD213SSr             },
  { X86::VFMADD213SSZr_Int      ,  X86::VFMADD213SSr_Int         },
  { X86::VFMADD231SDZm          ,  X86::VFMADD231SDm             },
  { X86::VFMADD231SDZm_Int      ,  X86::VFMADD231SDm_Int         },
  { X86::VFMADD231SDZr          ,  X86::VFMADD231SDr             },
  { X86::VFMADD231SDZr_Int      ,  X86::VFMADD231SDr_Int         },
  { X86::VFMADD231SSZm          ,  X86::VFMADD231SSm             },
  { X86::VFMADD231SSZm_Int      ,  X86::VFMADD231SSm_Int         },
  { X86::VFMADD231SSZr          ,  X86::VFMADD231SSr             },
  { X86::VFMADD231SSZr_Int      ,  X86::VFMADD231SSr_Int         },
  { X86::VFMSUB132SDZm          ,  X86::VFMSUB132SDm             },
  { X86::VFMSUB132SDZm_Int      ,  X86::VFMSUB132SDm_Int         },
  { X86::VFMSUB132SDZr          ,  X86::VFMSUB132SDr             },
  { X86::VFMSUB132SDZr_Int      ,  X86::VFMSUB132SDr_Int         },
  { X86::VFMSUB132SSZm          ,  X86::VFMSUB132SSm             },
  { X86::VFMSUB132SSZm_Int      ,  X86::VFMSUB132SSm_Int         },
  { X86::VFMSUB132SSZr          ,  X86::VFMSUB132SSr             },
  { X86::VFMSUB132SSZr_Int      ,  X86::VFMSUB132SSr_Int         },
  { X86::VFMSUB213SDZm          ,  X86::VFMSUB213SDm             },
  { X86::VFMSUB213SDZm_Int      ,  X86::VFMSUB213SDm_Int         },
  { X86::VFMSUB213SDZr          ,  X86::VFMSUB213SDr             },
  { X86::VFMSUB213SDZr_Int      ,  X86::VFMSUB213SDr_Int         },
  { X86::VFMSUB213SSZm          ,  X86::VFMSUB213SSm             },
  { X86::VFMSUB213SSZm_Int      ,  X86::VFMSUB213SSm_Int         },
  { X86::VFMSUB213SSZr          ,  X86::VFMSUB213SSr             },
  { X86::VFMSUB213SSZr_Int      ,  X86::VFMSUB213SSr_Int         },
  { X86::VFMSUB231SDZm          ,  X86::VFMSUB231SDm             },
  { X86::VFMSUB231SDZm_Int      ,  X86::VFMSUB231SDm_Int         },
  { X86::VFMSUB231SDZr          ,  X86::VFMSUB231SDr             },
  { X86::VFMSUB231SDZr_Int      ,  X86::VFMSUB231SDr_Int         },
  { X86::VFMSUB231SSZm          ,  X86::VFMSUB231SSm             },
  { X86::VFMSUB231SSZm_Int      ,  X86::VFMSUB231SSm_Int         },
  { X86::VFMSUB231SSZr          ,  X86::VFMSUB231SSr             },
  { X86::VFMSUB231SSZr_Int      ,  X86::VFMSUB231SSr_Int         },
  { X86::VFNMADD132SDZm         ,  X86::VFNMADD132SDm            },
  { X86::VFNMADD132SDZm_Int     ,  X86::VFNMADD132SDm_Int        },
  { X86::VFNMADD132SDZr         ,  X86::VFNMADD132SDr            },
  { X86::VFNMADD132SDZr_Int     ,  X86::VFNMADD132SDr_Int        },
  { X86::VFNMADD132SSZm         ,  X86::VFNMADD132SSm            },
  { X86::VFNMADD132SSZm_Int     ,  X86::VFNMADD132SSm_Int        },
  { X86::VFNMADD132SSZr         ,  X86::VFNMADD132SSr            },
  { X86::VFNMADD132SSZr_Int     ,  X86::VFNMADD132SSr_Int        },
  { X86::VFNMADD213SDZm         ,  X86::VFNMADD213SDm            },
  { X86::VFNMADD213SDZm_Int     ,  X86::VFNMADD213SDm_Int        },
  { X86::VFNMADD213SDZr         ,  X86::VFNMADD213SDr            },
  { X86::VFNMADD213SDZr_Int     ,  X86::VFNMADD213SDr_Int        },
  { X86::VFNMADD213SSZm         ,  X86::VFNMADD213SSm            },
  { X86::VFNMADD213SSZm_Int     ,  X86::VFNMADD213SSm_Int        },
  { X86::VFNMADD213SSZr         ,  X86::VFNMADD213SSr            },
  { X86::VFNMADD213SSZr_Int     ,  X86::VFNMADD213SSr_Int        },
  { X86::VFNMADD231SDZm         ,  X86::VFNMADD231SDm            },
  { X86::VFNMADD231SDZm_Int     ,  X86::VFNMADD231SDm_Int        },
  { X86::VFNMADD231SDZr         ,  X86::VFNMADD231SDr            },
  { X86::VFNMADD231SDZr_Int     ,  X86::VFNMADD231SDr_Int        },
  { X86::VFNMADD231SSZm         ,  X86::VFNMADD231SSm            },
  { X86::VFNMADD231SSZm_Int     ,  X86::VFNMADD231SSm_Int        },
  { X86::VFNMADD231SSZr         ,  X86::VFNMADD231SSr            },
  { X86::VFNMADD231SSZr_Int     ,  X86::VFNMADD231SSr_Int        },
  { X86::VFNMSUB132SDZm         ,  X86::VFNMSUB132SDm            },
  { X86::VFNMSUB132SDZm_Int     ,  X86::VFNMSUB132SDm_Int        },
  { X86::VFNMSUB132SDZr         ,  X86::VFNMSUB132SDr            },
  { X86::VFNMSUB132SDZr_Int     ,  X86::VFNMSUB132SDr_Int        },
  { X86::VFNMSUB132SSZm         ,  X86::VFNMSUB132SSm            },
  { X86::VFNMSUB132SSZm_Int     ,  X86::VFNMSUB132SSm_Int        },
  { X86::VFNMSUB132SSZr         ,  X86::VFNMSUB132SSr            },
  { X86::VFNMSUB132SSZr_Int     ,  X86::VFNMSUB132SSr_Int        },
  { X86::VFNMSUB213SDZm         ,  X86::VFNMSUB213SDm            },
  { X86::VFNMSUB213SDZm_Int     ,  X86::VFNMSUB213SDm_Int        },
  { X86::VFNMSUB213SDZr         ,  X86::VFNMSUB213SDr            },
  { X86::VFNMSUB213SDZr_Int     ,  X86::VFNMSUB213SDr_Int        },
  { X86::VFNMSUB213SSZm         ,  X86::VFNMSUB213SSm            },
  { X86::VFNMSUB213SSZm_Int     ,  X86::VFNMSUB213SSm_Int        },
  { X86::VFNMSUB213SSZr         ,  X86::VFNMSUB213SSr            },
  { X86::VFNMSUB213SSZr_Int     ,  X86::VFNMSUB213SSr_Int        },
  { X86::VFNMSUB231SDZm         ,  X86::VFNMSUB231SDm            },
  { X86::VFNMSUB231SDZm_Int     ,  X86::VFNMSUB231SDm_Int        },
  { X86::VFNMSUB231SDZr         ,  X86::VFNMSUB231SDr            },
  { X86::VFNMSUB231SDZr_Int     ,  X86::VFNMSUB231SDr_Int        },
  { X86::VFNMSUB231SSZm         ,  X86::VFNMSUB231SSm            },
  { X86::VFNMSUB231SSZm_Int     ,  X86::VFNMSUB231SSm_Int        },
  { X86::VFNMSUB231SSZr         ,  X86::VFNMSUB231SSr            },
  { X86::VFNMSUB231SSZr_Int     ,  X86::VFNMSUB231SSr_Int        },
  { X86::VMAXCSDZrm             ,  X86::VMAXCSDrm                },
  { X86::VMAXCSDZrr             ,  X86::VMAXCSDrr                },
  { X86::VMAXCSSZrm             ,  X86::VMAXCSSrm                },
  { X86::VMAXCSSZrr             ,  X86::VMAXCSSrr                },
  { X86::VMAXSDZrm              ,  X86::VMAXSDrm                 },
  { X86::VMAXSDZrm_Int          ,  X86::VMAXSDrm_Int             },
  { X86::VMAXSDZrr              ,  X86::VMAXSDrr                 },
  { X86::VMAXSDZrr_Int          ,  X86::VMAXSDrr_Int             },
  { X86::VMAXSSZrm              ,  X86::VMAXSSrm                 },
  { X86::VMAXSSZrm_Int          ,  X86::VMAXSSrm_Int             },
  { X86::VMAXSSZrr              ,  X86::VMAXSSrr                 },
  { X86::VMAXSSZrr_Int          ,  X86::VMAXSSrr_Int             },
  { X86::VMINCSDZrm             ,  X86::VMINCSDrm                },
  { X86::VMINCSDZrr             ,  X86::VMINCSDrr                },
  { X86::VMINCSSZrm             ,  X86::VMINCSSrm                },
  { X86::VMINCSSZrr             ,  X86::VMINCSSrr                },
  { X86::VMINSDZrm              ,  X86::VMINSDrm                 },
  { X86::VMINSDZrm_Int          ,  X86::VMINSDrm_Int             },
  { X86::VMINSDZrr              ,  X86::VMINSDrr                 },
  { X86::VMINSDZrr_Int          ,  X86::VMINSDrr_Int             },
  { X86::VMINSSZrm              ,  X86::VMINSSrm                 },
  { X86::VMINSSZrm_Int          ,  X86::VMINSSrm_Int             },
  { X86::VMINSSZrr              ,  X86::VMINSSrr                 },
  { X86::VMINSSZrr_Int          ,  X86::VMINSSrr_Int             },
  { X86::VMOV64toSDZrr          ,  X86::VMOV64toSDrr             },
  { X86::VMOVDI2SSZrm           ,  X86::VMOVDI2SSrm              },
  { X86::VMOVDI2SSZrr           ,  X86::VMOVDI2SSrr              },
  { X86::VMOVSDZmr              ,  X86::VMOVSDmr                 },
  { X86::VMOVSDZrm              ,  X86::VMOVSDrm                 },
  { X86::VMOVSDZrr              ,  X86::VMOVSDrr                 },
  { X86::VMOVSSZmr              ,  X86::VMOVSSmr                 },
  { X86::VMOVSSZrm              ,  X86::VMOVSSrm                 },
  { X86::VMOVSSZrr              ,  X86::VMOVSSrr                 },
  { X86::VMOVSSZrr_REV          ,  X86::VMOVSSrr_REV             },
  { X86::VMULSDZrm              ,  X86::VMULSDrm                 },
  { X86::VMULSDZrm_Int          ,  X86::VMULSDrm_Int             },
  { X86::VMULSDZrr              ,  X86::VMULSDrr                 },
  { X86::VMULSDZrr_Int          ,  X86::VMULSDrr_Int             },
  { X86::VMULSSZrm              ,  X86::VMULSSrm                 },
  { X86::VMULSSZrm_Int          ,  X86::VMULSSrm_Int             },
  { X86::VMULSSZrr              ,  X86::VMULSSrr                 },
  { X86::VMULSSZrr_Int          ,  X86::VMULSSrr_Int             },
  { X86::VSQRTSDZm              ,  X86::VSQRTSDm                 },
  { X86::VSQRTSDZm_Int          ,  X86::VSQRTSDm_Int             },
  { X86::VSQRTSDZr              ,  X86::VSQRTSDr                 },
  { X86::VSQRTSDZr_Int          ,  X86::VSQRTSDr_Int             },
  { X86::VSQRTSSZm              ,  X86::VSQRTSSm                 },
  { X86::VSQRTSSZm_Int          ,  X86::VSQRTSSm_Int             },
  { X86::VSQRTSSZr              ,  X86::VSQRTSSr                 },
  { X86::VSQRTSSZr_Int          ,  X86::VSQRTSSr_Int             },
  { X86::VSUBSDZrm              ,  X86::VSUBSDrm                 },
  { X86::VSUBSDZrm_Int          ,  X86::VSUBSDrm_Int             },
  { X86::VSUBSDZrr              ,  X86::VSUBSDrr                 },
  { X86::VSUBSDZrr_Int          ,  X86::VSUBSDrr_Int             },
  { X86::VSUBSSZrm              ,  X86::VSUBSSrm                 },
  { X86::VSUBSSZrm_Int          ,  X86::VSUBSSrm_Int             },
  { X86::VSUBSSZrr              ,  X86::VSUBSSrr                 },
  { X86::VSUBSSZrr_Int          ,  X86::VSUBSSrr_Int             },
  { X86::VUCOMISDZrm            ,  X86::VUCOMISDrm               },
  { X86::VUCOMISDZrr            ,  X86::VUCOMISDrr               },
  { X86::VUCOMISSZrm            ,  X86::VUCOMISSrm               },
  { X86::VUCOMISSZrr            ,  X86::VUCOMISSrr               },

  { X86::VMOV64toPQIZrr         ,   X86::VMOV64toPQIrr           },
  { X86::VMOV64toSDZrr          ,   X86::VMOV64toSDrr            },
  { X86::VMOVDI2PDIZrm          ,   X86::VMOVDI2PDIrm            },
  { X86::VMOVDI2PDIZrr          ,   X86::VMOVDI2PDIrr            },
  { X86::VMOVLHPSZrr            ,   X86::VMOVLHPSrr              },
  { X86::VMOVHLPSZrr            ,   X86::VMOVHLPSrr              },
  { X86::VMOVPDI2DIZmr          ,   X86::VMOVPDI2DImr            },
  { X86::VMOVPDI2DIZrr          ,   X86::VMOVPDI2DIrr            },
  { X86::VMOVPQI2QIZmr          ,   X86::VMOVPQI2QImr            },
  { X86::VMOVPQIto64Zrr         ,   X86::VMOVPQIto64rr           },
  { X86::VMOVQI2PQIZrm          ,   X86::VMOVQI2PQIrm            },
  { X86::VMOVZPQILo2PQIZrr      ,   X86::VMOVZPQILo2PQIrr        },

  { X86::VPEXTRBZmr             ,   X86::VPEXTRBmr               },
  { X86::VPEXTRBZrr             ,   X86::VPEXTRBrr               },
  { X86::VPEXTRDZmr             ,   X86::VPEXTRDmr               },
  { X86::VPEXTRDZrr             ,   X86::VPEXTRDrr               },
  { X86::VPEXTRQZmr             ,   X86::VPEXTRQmr               },
  { X86::VPEXTRQZrr             ,   X86::VPEXTRQrr               },
  { X86::VPEXTRWZmr             ,   X86::VPEXTRWmr               },
  { X86::VPEXTRWZrr             ,   X86::VPEXTRWri               },

  { X86::VPINSRBZrm             ,   X86::VPINSRBrm               },
  { X86::VPINSRBZrr             ,   X86::VPINSRBrr               },
  { X86::VPINSRDZrm             ,   X86::VPINSRDrm               },
  { X86::VPINSRDZrr             ,   X86::VPINSRDrr               },
  { X86::VPINSRQZrm             ,   X86::VPINSRQrm               },
  { X86::VPINSRQZrr             ,   X86::VPINSRQrr               },
  { X86::VPINSRWZrm             ,   X86::VPINSRWrmi              },
  { X86::VPINSRWZrr             ,   X86::VPINSRWrri              },

  // EVEX 128 with corresponding VEX.
  { X86::VADDPDZ128rm           ,    X86::VADDPDrm               },
  { X86::VADDPDZ128rr           ,    X86::VADDPDrr               },
  { X86::VADDPSZ128rm           ,    X86::VADDPSrm               },
  { X86::VADDPSZ128rr           ,    X86::VADDPSrr               },
  { X86::VANDNPDZ128rm          ,    X86::VANDNPDrm              },
  { X86::VANDNPDZ128rr          ,    X86::VANDNPDrr              },
  { X86::VANDNPSZ128rm          ,    X86::VANDNPSrm              },
  { X86::VANDNPSZ128rr          ,    X86::VANDNPSrr              },
  { X86::VANDPDZ128rm           ,    X86::VANDPDrm               },
  { X86::VANDPDZ128rr           ,    X86::VANDPDrr               },
  { X86::VANDPSZ128rm           ,    X86::VANDPSrm               },
  { X86::VANDPSZ128rr           ,    X86::VANDPSrr               },
  { X86::VBROADCASTSSZ128m      ,    X86::VBROADCASTSSrm         },
  { X86::VBROADCASTSSZ128r      ,    X86::VBROADCASTSSrr         },
  { X86::VBROADCASTSSZ128r_s    ,    X86::VBROADCASTSSrr         },
  { X86::VCVTDQ2PDZ128rm        ,    X86::VCVTDQ2PDrm            },
  { X86::VCVTDQ2PDZ128rr        ,    X86::VCVTDQ2PDrr            },
  { X86::VCVTDQ2PSZ128rm        ,    X86::VCVTDQ2PSrm            },
  { X86::VCVTDQ2PSZ128rr        ,    X86::VCVTDQ2PSrr            },
  { X86::VCVTPD2DQZ128rm        ,    X86::VCVTPD2DQrm            },
  { X86::VCVTPD2DQZ128rr        ,    X86::VCVTPD2DQrr            },
  { X86::VCVTPD2PSZ128rm        ,    X86::VCVTPD2PSrm            },
  { X86::VCVTPD2PSZ128rr        ,    X86::VCVTPD2PSrr            },
  { X86::VCVTPH2PSZ128rm        ,    X86::VCVTPH2PSrm            },
  { X86::VCVTPH2PSZ128rr        ,    X86::VCVTPH2PSrr            },
  { X86::VCVTPS2DQZ128rm        ,    X86::VCVTPS2DQrm            },
  { X86::VCVTPS2DQZ128rr        ,    X86::VCVTPS2DQrr            },
  { X86::VCVTPS2PDZ128rm        ,    X86::VCVTPS2PDrm            },
  { X86::VCVTPS2PDZ128rr        ,    X86::VCVTPS2PDrr            },
  { X86::VCVTPS2PHZ128mr        ,    X86::VCVTPS2PHmr            },
  { X86::VCVTPS2PHZ128rr        ,    X86::VCVTPS2PHrr            },
  { X86::VCVTTPD2DQZ128rm       ,    X86::VCVTTPD2DQrm           },
  { X86::VCVTTPD2DQZ128rr       ,    X86::VCVTTPD2DQrr           },
  { X86::VCVTTPS2DQZ128rm       ,    X86::VCVTTPS2DQrm           },
  { X86::VCVTTPS2DQZ128rr       ,    X86::VCVTTPS2DQrr           },
  { X86::VDIVPDZ128rm           ,    X86::VDIVPDrm               },
  { X86::VDIVPDZ128rr           ,    X86::VDIVPDrr               },
  { X86::VDIVPSZ128rm           ,    X86::VDIVPSrm               },
  { X86::VDIVPSZ128rr           ,    X86::VDIVPSrr               },
  { X86::VFMADD132PDZ128m       ,    X86::VFMADD132PDm           },
  { X86::VFMADD132PDZ128r       ,    X86::VFMADD132PDr           },
  { X86::VFMADD132PSZ128m       ,    X86::VFMADD132PSm           },
  { X86::VFMADD132PSZ128r       ,    X86::VFMADD132PSr           },
  { X86::VFMADD213PDZ128m       ,    X86::VFMADD213PDm           },
  { X86::VFMADD213PDZ128r       ,    X86::VFMADD213PDr           },
  { X86::VFMADD213PSZ128m       ,    X86::VFMADD213PSm           },
  { X86::VFMADD213PSZ128r       ,    X86::VFMADD213PSr           },
  { X86::VFMADD231PDZ128m       ,    X86::VFMADD231PDm           },
  { X86::VFMADD231PDZ128r       ,    X86::VFMADD231PDr           },
  { X86::VFMADD231PSZ128m       ,    X86::VFMADD231PSm           },
  { X86::VFMADD231PSZ128r       ,    X86::VFMADD231PSr           },
  { X86::VFMADDSUB132PDZ128m    ,    X86::VFMADDSUB132PDm        },
  { X86::VFMADDSUB132PDZ128r    ,    X86::VFMADDSUB132PDr        },
  { X86::VFMADDSUB132PSZ128m    ,    X86::VFMADDSUB132PSm        },
  { X86::VFMADDSUB132PSZ128r    ,    X86::VFMADDSUB132PSr        },
  { X86::VFMADDSUB213PDZ128m    ,    X86::VFMADDSUB213PDm        },
  { X86::VFMADDSUB213PDZ128r    ,    X86::VFMADDSUB213PDr        },
  { X86::VFMADDSUB213PSZ128m    ,    X86::VFMADDSUB213PSm        },
  { X86::VFMADDSUB213PSZ128r    ,    X86::VFMADDSUB213PSr        },
  { X86::VFMADDSUB231PDZ128m    ,    X86::VFMADDSUB231PDm        },
  { X86::VFMADDSUB231PDZ128r    ,    X86::VFMADDSUB231PDr        },
  { X86::VFMADDSUB231PSZ128m    ,    X86::VFMADDSUB231PSm        },
  { X86::VFMADDSUB231PSZ128r    ,    X86::VFMADDSUB231PSr        },
  { X86::VFMSUB132PDZ128m       ,    X86::VFMSUB132PDm           },
  { X86::VFMSUB132PDZ128r       ,    X86::VFMSUB132PDr           },
  { X86::VFMSUB132PSZ128m       ,    X86::VFMSUB132PSm           },
  { X86::VFMSUB132PSZ128r       ,    X86::VFMSUB132PSr           },
  { X86::VFMSUB213PDZ128m       ,    X86::VFMSUB213PDm           },
  { X86::VFMSUB213PDZ128r       ,    X86::VFMSUB213PDr           },
  { X86::VFMSUB213PSZ128m       ,    X86::VFMSUB213PSm           },
  { X86::VFMSUB213PSZ128r       ,    X86::VFMSUB213PSr           },
  { X86::VFMSUB231PDZ128m       ,    X86::VFMSUB231PDm           },
  { X86::VFMSUB231PDZ128r       ,    X86::VFMSUB231PDr           },
  { X86::VFMSUB231PSZ128m       ,    X86::VFMSUB231PSm           },
  { X86::VFMSUB231PSZ128r       ,    X86::VFMSUB231PSr           },
  { X86::VFMSUBADD132PDZ128m    ,    X86::VFMSUBADD132PDm        },
  { X86::VFMSUBADD132PDZ128r    ,    X86::VFMSUBADD132PDr        },
  { X86::VFMSUBADD132PSZ128m    ,    X86::VFMSUBADD132PSm        },
  { X86::VFMSUBADD132PSZ128r    ,    X86::VFMSUBADD132PSr        },
  { X86::VFMSUBADD213PDZ128m    ,    X86::VFMSUBADD213PDm        },
  { X86::VFMSUBADD213PDZ128r    ,    X86::VFMSUBADD213PDr        },
  { X86::VFMSUBADD213PSZ128m    ,    X86::VFMSUBADD213PSm        },
  { X86::VFMSUBADD213PSZ128r    ,    X86::VFMSUBADD213PSr        },
  { X86::VFMSUBADD231PDZ128m    ,    X86::VFMSUBADD231PDm        },
  { X86::VFMSUBADD231PDZ128r    ,    X86::VFMSUBADD231PDr        },
  { X86::VFMSUBADD231PSZ128m    ,    X86::VFMSUBADD231PSm        },
  { X86::VFMSUBADD231PSZ128r    ,    X86::VFMSUBADD231PSr        },
  { X86::VFNMADD132PDZ128m      ,    X86::VFNMADD132PDm          },
  { X86::VFNMADD132PDZ128r      ,    X86::VFNMADD132PDr          },
  { X86::VFNMADD132PSZ128m      ,    X86::VFNMADD132PSm          },
  { X86::VFNMADD132PSZ128r      ,    X86::VFNMADD132PSr          },
  { X86::VFNMADD213PDZ128m      ,    X86::VFNMADD213PDm          },
  { X86::VFNMADD213PDZ128r      ,    X86::VFNMADD213PDr          },
  { X86::VFNMADD213PSZ128m      ,    X86::VFNMADD213PSm          },
  { X86::VFNMADD213PSZ128r      ,    X86::VFNMADD213PSr          },
  { X86::VFNMADD231PDZ128m      ,    X86::VFNMADD231PDm          },
  { X86::VFNMADD231PDZ128r      ,    X86::VFNMADD231PDr          },
  { X86::VFNMADD231PSZ128m      ,    X86::VFNMADD231PSm          },
  { X86::VFNMADD231PSZ128r      ,    X86::VFNMADD231PSr          },
  { X86::VFNMSUB132PDZ128m      ,    X86::VFNMSUB132PDm          },
  { X86::VFNMSUB132PDZ128r      ,    X86::VFNMSUB132PDr          },
  { X86::VFNMSUB132PSZ128m      ,    X86::VFNMSUB132PSm          },
  { X86::VFNMSUB132PSZ128r      ,    X86::VFNMSUB132PSr          },
  { X86::VFNMSUB213PDZ128m      ,    X86::VFNMSUB213PDm          },
  { X86::VFNMSUB213PDZ128r      ,    X86::VFNMSUB213PDr          },
  { X86::VFNMSUB213PSZ128m      ,    X86::VFNMSUB213PSm          },
  { X86::VFNMSUB213PSZ128r      ,    X86::VFNMSUB213PSr          },
  { X86::VFNMSUB231PDZ128m      ,    X86::VFNMSUB231PDm          },
  { X86::VFNMSUB231PDZ128r      ,    X86::VFNMSUB231PDr          },
  { X86::VFNMSUB231PSZ128m      ,    X86::VFNMSUB231PSm          },
  { X86::VFNMSUB231PSZ128r      ,    X86::VFNMSUB231PSr          },
  { X86::VMAXCPDZ128rm          ,    X86::VMAXCPDrm              },
  { X86::VMAXCPDZ128rr          ,    X86::VMAXCPDrr              },
  { X86::VMAXCPSZ128rm          ,    X86::VMAXCPSrm              },
  { X86::VMAXCPSZ128rr          ,    X86::VMAXCPSrr              },
  { X86::VMAXPDZ128rm           ,    X86::VMAXPDrm               },
  { X86::VMAXPDZ128rr           ,    X86::VMAXPDrr               },
  { X86::VMAXPSZ128rm           ,    X86::VMAXPSrm               },
  { X86::VMAXPSZ128rr           ,    X86::VMAXPSrr               },
  { X86::VMINCPDZ128rm          ,    X86::VMINCPDrm              },
  { X86::VMINCPDZ128rr          ,    X86::VMINCPDrr              },
  { X86::VMINCPSZ128rm          ,    X86::VMINCPSrm              },
  { X86::VMINCPSZ128rr          ,    X86::VMINCPSrr              },
  { X86::VMINPDZ128rm           ,    X86::VMINPDrm               },
  { X86::VMINPDZ128rr           ,    X86::VMINPDrr               },
  { X86::VMINPSZ128rm           ,    X86::VMINPSrm               },
  { X86::VMINPSZ128rr           ,    X86::VMINPSrr               },
  { X86::VMOVAPDZ128mr          ,    X86::VMOVAPDmr              },
  { X86::VMOVAPDZ128rm          ,    X86::VMOVAPDrm              },
  { X86::VMOVAPDZ128rr          ,    X86::VMOVAPDrr              },
  { X86::VMOVAPDZ128rr_REV      ,    X86::VMOVAPDrr_REV          },
  { X86::VMOVAPSZ128mr          ,    X86::VMOVAPSmr              },
  { X86::VMOVAPSZ128rm          ,    X86::VMOVAPSrm              },
  { X86::VMOVAPSZ128rr          ,    X86::VMOVAPSrr              },
  { X86::VMOVAPSZ128rr_REV      ,    X86::VMOVAPSrr_REV          },
  { X86::VMOVDDUPZ128rm         ,    X86::VMOVDDUPrm             },
  { X86::VMOVDDUPZ128rr         ,    X86::VMOVDDUPrr             },
  { X86::VMOVDQA32Z128mr        ,    X86::VMOVDQAmr              },
  { X86::VMOVDQA32Z128rm        ,    X86::VMOVDQArm              },
  { X86::VMOVDQA32Z128rr        ,    X86::VMOVDQArr              },
  { X86::VMOVDQA32Z128rr_REV    ,    X86::VMOVDQArr_REV          },
  { X86::VMOVDQA64Z128mr        ,    X86::VMOVDQAmr              },
  { X86::VMOVDQA64Z128rm        ,    X86::VMOVDQArm              },
  { X86::VMOVDQA64Z128rr        ,    X86::VMOVDQArr              },
  { X86::VMOVDQA64Z128rr_REV    ,    X86::VMOVDQArr_REV          },
  { X86::VMOVDQU16Z128mr        ,    X86::VMOVDQUmr              },
  { X86::VMOVDQU16Z128rm        ,    X86::VMOVDQUrm              },
  { X86::VMOVDQU16Z128rr        ,    X86::VMOVDQUrr              },
  { X86::VMOVDQU16Z128rr_REV    ,    X86::VMOVDQUrr_REV          },
  { X86::VMOVDQU32Z128mr        ,    X86::VMOVDQUmr              },
  { X86::VMOVDQU32Z128rm        ,    X86::VMOVDQUrm              },
  { X86::VMOVDQU32Z128rr        ,    X86::VMOVDQUrr              },
  { X86::VMOVDQU32Z128rr_REV    ,    X86::VMOVDQUrr_REV          },
  { X86::VMOVDQU64Z128mr        ,    X86::VMOVDQUmr              },
  { X86::VMOVDQU64Z128rm        ,    X86::VMOVDQUrm              },
  { X86::VMOVDQU64Z128rr        ,    X86::VMOVDQUrr              },
  { X86::VMOVDQU64Z128rr_REV    ,    X86::VMOVDQUrr_REV          },
  { X86::VMOVDQU8Z128mr         ,    X86::VMOVDQUmr              },
  { X86::VMOVDQU8Z128rm         ,    X86::VMOVDQUrm              },
  { X86::VMOVDQU8Z128rr         ,    X86::VMOVDQUrr              },
  { X86::VMOVDQU8Z128rr_REV     ,    X86::VMOVDQUrr_REV          },
  { X86::VMOVHPDZ128mr          ,    X86::VMOVHPDmr              },
  { X86::VMOVHPDZ128rm          ,    X86::VMOVHPDrm              },
  { X86::VMOVHPSZ128mr          ,    X86::VMOVHPSmr              },
  { X86::VMOVHPSZ128rm          ,    X86::VMOVHPSrm              },
  { X86::VMOVLPDZ128mr          ,    X86::VMOVLPDmr              },
  { X86::VMOVLPDZ128rm          ,    X86::VMOVLPDrm              },
  { X86::VMOVLPSZ128mr          ,    X86::VMOVLPSmr              },
  { X86::VMOVLPSZ128rm          ,    X86::VMOVLPSrm              },
  { X86::VMOVNTDQAZ128rm        ,    X86::VMOVNTDQArm            },
  { X86::VMOVNTDQZ128mr         ,    X86::VMOVNTDQmr             },
  { X86::VMOVNTPDZ128mr         ,    X86::VMOVNTPDmr             },
  { X86::VMOVNTPSZ128mr         ,    X86::VMOVNTPSmr             },
  { X86::VMOVSHDUPZ128rm        ,    X86::VMOVSHDUPrm            },
  { X86::VMOVSHDUPZ128rr        ,    X86::VMOVSHDUPrr            },
  { X86::VMOVSLDUPZ128rm        ,    X86::VMOVSLDUPrm            },
  { X86::VMOVSLDUPZ128rr        ,    X86::VMOVSLDUPrr            },
  { X86::VMOVUPDZ128mr          ,    X86::VMOVUPDmr              },
  { X86::VMOVUPDZ128rm          ,    X86::VMOVUPDrm              },
  { X86::VMOVUPDZ128rr          ,    X86::VMOVUPDrr              },
  { X86::VMOVUPDZ128rr_REV      ,    X86::VMOVUPDrr_REV          },
  { X86::VMOVUPSZ128mr          ,    X86::VMOVUPSmr              },
  { X86::VMOVUPSZ128rm          ,    X86::VMOVUPSrm              },
  { X86::VMOVUPSZ128rr          ,    X86::VMOVUPSrr              },
  { X86::VMOVUPSZ128rr_REV      ,    X86::VMOVUPSrr_REV          },
  { X86::VMULPDZ128rm           ,    X86::VMULPDrm               },
  { X86::VMULPDZ128rr           ,    X86::VMULPDrr               },
  { X86::VMULPSZ128rm           ,    X86::VMULPSrm               },
  { X86::VMULPSZ128rr           ,    X86::VMULPSrr               },
  { X86::VORPDZ128rm            ,    X86::VORPDrm                },
  { X86::VORPDZ128rr            ,    X86::VORPDrr                },
  { X86::VORPSZ128rm            ,    X86::VORPSrm                },
  { X86::VORPSZ128rr            ,    X86::VORPSrr                },
  { X86::VPABSBZ128rm           ,    X86::VPABSBrm               },
  { X86::VPABSBZ128rr           ,    X86::VPABSBrr               },
  { X86::VPABSDZ128rm           ,    X86::VPABSDrm               },
  { X86::VPABSDZ128rr           ,    X86::VPABSDrr               },
  { X86::VPABSWZ128rm           ,    X86::VPABSWrm               },
  { X86::VPABSWZ128rr           ,    X86::VPABSWrr               },
  { X86::VPACKSSDWZ128rm        ,    X86::VPACKSSDWrm            },
  { X86::VPACKSSDWZ128rr        ,    X86::VPACKSSDWrr            },
  { X86::VPACKSSWBZ128rm        ,    X86::VPACKSSWBrm            },
  { X86::VPACKSSWBZ128rr        ,    X86::VPACKSSWBrr            },
  { X86::VPACKUSDWZ128rm        ,    X86::VPACKUSDWrm            },
  { X86::VPACKUSDWZ128rr        ,    X86::VPACKUSDWrr            },
  { X86::VPACKUSWBZ128rm        ,    X86::VPACKUSWBrm            },
  { X86::VPACKUSWBZ128rr        ,    X86::VPACKUSWBrr            },
  { X86::VPADDBZ128rm           ,    X86::VPADDBrm               },
  { X86::VPADDBZ128rr           ,    X86::VPADDBrr               },
  { X86::VPADDDZ128rm           ,    X86::VPADDDrm               },
  { X86::VPADDDZ128rr           ,    X86::VPADDDrr               },
  { X86::VPADDQZ128rm           ,    X86::VPADDQrm               },
  { X86::VPADDQZ128rr           ,    X86::VPADDQrr               },
  { X86::VPADDSBZ128rm          ,    X86::VPADDSBrm              },
  { X86::VPADDSBZ128rr          ,    X86::VPADDSBrr              },
  { X86::VPADDSWZ128rm          ,    X86::VPADDSWrm              },
  { X86::VPADDSWZ128rr          ,    X86::VPADDSWrr              },
  { X86::VPADDUSBZ128rm         ,    X86::VPADDUSBrm             },
  { X86::VPADDUSBZ128rr         ,    X86::VPADDUSBrr             },
  { X86::VPADDUSWZ128rm         ,    X86::VPADDUSWrm             },
  { X86::VPADDUSWZ128rr         ,    X86::VPADDUSWrr             },
  { X86::VPADDWZ128rm           ,    X86::VPADDWrm               },
  { X86::VPADDWZ128rr           ,    X86::VPADDWrr               },
  { X86::VPALIGNRZ128rmi        ,    X86::VPALIGNRrmi            },
  { X86::VPALIGNRZ128rri        ,    X86::VPALIGNRrri            },
  { X86::VPANDDZ128rm           ,    X86::VPANDrm                },
  { X86::VPANDDZ128rr           ,    X86::VPANDrr                },
  { X86::VPANDQZ128rm           ,    X86::VPANDrm                },
  { X86::VPANDQZ128rr           ,    X86::VPANDrr                },
  { X86::VPAVGBZ128rm           ,    X86::VPAVGBrm               },
  { X86::VPAVGBZ128rr           ,    X86::VPAVGBrr               },
  { X86::VPAVGWZ128rm           ,    X86::VPAVGWrm               },
  { X86::VPAVGWZ128rr           ,    X86::VPAVGWrr               },
  { X86::VPBROADCASTBZ128m      ,    X86::VPBROADCASTBrm         },
  { X86::VPBROADCASTBZ128r      ,    X86::VPBROADCASTBrr         },
  { X86::VPBROADCASTDZ128m      ,    X86::VPBROADCASTDrm         },
  { X86::VPBROADCASTDZ128r      ,    X86::VPBROADCASTDrr         },
  { X86::VPBROADCASTQZ128m      ,    X86::VPBROADCASTQrm         },
  { X86::VPBROADCASTQZ128r      ,    X86::VPBROADCASTQrr         },
  { X86::VPBROADCASTWZ128m      ,    X86::VPBROADCASTWrm         },
  { X86::VPBROADCASTWZ128r      ,    X86::VPBROADCASTWrr         },
  { X86::VPERMILPDZ128mi        ,    X86::VPERMILPDmi            },
  { X86::VPERMILPDZ128ri        ,    X86::VPERMILPDri            },
  { X86::VPERMILPDZ128rm        ,    X86::VPERMILPDrm            },
  { X86::VPERMILPDZ128rr        ,    X86::VPERMILPDrr            },
  { X86::VPERMILPSZ128mi        ,    X86::VPERMILPSmi            },
  { X86::VPERMILPSZ128ri        ,    X86::VPERMILPSri            },
  { X86::VPERMILPSZ128rm        ,    X86::VPERMILPSrm            },
  { X86::VPERMILPSZ128rr        ,    X86::VPERMILPSrr            },
  { X86::VPMADDUBSWZ128rm       ,    X86::VPMADDUBSWrm           },
  { X86::VPMADDUBSWZ128rr       ,    X86::VPMADDUBSWrr           },
  { X86::VPMADDWDZ128rm         ,    X86::VPMADDWDrm             },
  { X86::VPMADDWDZ128rr         ,    X86::VPMADDWDrr             },
  { X86::VPMAXSBZ128rm          ,    X86::VPMAXSBrm              },
  { X86::VPMAXSBZ128rr          ,    X86::VPMAXSBrr              },
  { X86::VPMAXSDZ128rm          ,    X86::VPMAXSDrm              },
  { X86::VPMAXSDZ128rr          ,    X86::VPMAXSDrr              },
  { X86::VPMAXSWZ128rm          ,    X86::VPMAXSWrm              },
  { X86::VPMAXSWZ128rr          ,    X86::VPMAXSWrr              },
  { X86::VPMAXUBZ128rm          ,    X86::VPMAXUBrm              },
  { X86::VPMAXUBZ128rr          ,    X86::VPMAXUBrr              },
  { X86::VPMAXUDZ128rm          ,    X86::VPMAXUDrm              },
  { X86::VPMAXUDZ128rr          ,    X86::VPMAXUDrr              },
  { X86::VPMAXUWZ128rm          ,    X86::VPMAXUWrm              },
  { X86::VPMAXUWZ128rr          ,    X86::VPMAXUWrr              },
  { X86::VPMINSBZ128rm          ,    X86::VPMINSBrm              },
  { X86::VPMINSBZ128rr          ,    X86::VPMINSBrr              },
  { X86::VPMINSDZ128rm          ,    X86::VPMINSDrm              },
  { X86::VPMINSDZ128rr          ,    X86::VPMINSDrr              },
  { X86::VPMINSWZ128rm          ,    X86::VPMINSWrm              },
  { X86::VPMINSWZ128rr          ,    X86::VPMINSWrr              },
  { X86::VPMINUBZ128rm          ,    X86::VPMINUBrm              },
  { X86::VPMINUBZ128rr          ,    X86::VPMINUBrr              },
  { X86::VPMINUDZ128rm          ,    X86::VPMINUDrm              },
  { X86::VPMINUDZ128rr          ,    X86::VPMINUDrr              },
  { X86::VPMINUWZ128rm          ,    X86::VPMINUWrm              },
  { X86::VPMINUWZ128rr          ,    X86::VPMINUWrr              },
  { X86::VPMOVSXBDZ128rm        ,    X86::VPMOVSXBDrm            },
  { X86::VPMOVSXBDZ128rr        ,    X86::VPMOVSXBDrr            },
  { X86::VPMOVSXBQZ128rm        ,    X86::VPMOVSXBQrm            },
  { X86::VPMOVSXBQZ128rr        ,    X86::VPMOVSXBQrr            },
  { X86::VPMOVSXBWZ128rm        ,    X86::VPMOVSXBWrm            },
  { X86::VPMOVSXBWZ128rr        ,    X86::VPMOVSXBWrr            },
  { X86::VPMOVSXDQZ128rm        ,    X86::VPMOVSXDQrm            },
  { X86::VPMOVSXDQZ128rr        ,    X86::VPMOVSXDQrr            },
  { X86::VPMOVSXWDZ128rm        ,    X86::VPMOVSXWDrm            },
  { X86::VPMOVSXWDZ128rr        ,    X86::VPMOVSXWDrr            },
  { X86::VPMOVSXWQZ128rm        ,    X86::VPMOVSXWQrm            },
  { X86::VPMOVSXWQZ128rr        ,    X86::VPMOVSXWQrr            },
  { X86::VPMOVZXBDZ128rm        ,    X86::VPMOVZXBDrm            },
  { X86::VPMOVZXBDZ128rr        ,    X86::VPMOVZXBDrr            },
  { X86::VPMOVZXBQZ128rm        ,    X86::VPMOVZXBQrm            },
  { X86::VPMOVZXBQZ128rr        ,    X86::VPMOVZXBQrr            },
  { X86::VPMOVZXBWZ128rm        ,    X86::VPMOVZXBWrm            },
  { X86::VPMOVZXBWZ128rr        ,    X86::VPMOVZXBWrr            },
  { X86::VPMOVZXDQZ128rm        ,    X86::VPMOVZXDQrm            },
  { X86::VPMOVZXDQZ128rr        ,    X86::VPMOVZXDQrr            },
  { X86::VPMOVZXWDZ128rm        ,    X86::VPMOVZXWDrm            },
  { X86::VPMOVZXWDZ128rr        ,    X86::VPMOVZXWDrr            },
  { X86::VPMOVZXWQZ128rm        ,    X86::VPMOVZXWQrm            },
  { X86::VPMOVZXWQZ128rr        ,    X86::VPMOVZXWQrr            },
  { X86::VPMULDQZ128rm          ,    X86::VPMULDQrm              },
  { X86::VPMULDQZ128rr          ,    X86::VPMULDQrr              },
  { X86::VPMULHRSWZ128rm        ,    X86::VPMULHRSWrm            },
  { X86::VPMULHRSWZ128rr        ,    X86::VPMULHRSWrr            },
  { X86::VPMULHUWZ128rm         ,    X86::VPMULHUWrm             },
  { X86::VPMULHUWZ128rr         ,    X86::VPMULHUWrr             },
  { X86::VPMULHWZ128rm          ,    X86::VPMULHWrm              },
  { X86::VPMULHWZ128rr          ,    X86::VPMULHWrr              },
  { X86::VPMULLDZ128rm          ,    X86::VPMULLDrm              },
  { X86::VPMULLDZ128rr          ,    X86::VPMULLDrr              },
  { X86::VPMULLWZ128rm          ,    X86::VPMULLWrm              },
  { X86::VPMULLWZ128rr          ,    X86::VPMULLWrr              },
  { X86::VPMULUDQZ128rm         ,    X86::VPMULUDQrm             },
  { X86::VPMULUDQZ128rr         ,    X86::VPMULUDQrr             },
  { X86::VPORDZ128rm            ,    X86::VPORrm                 },
  { X86::VPORDZ128rr            ,    X86::VPORrr                 },
  { X86::VPORQZ128rm            ,    X86::VPORrm                 },
  { X86::VPORQZ128rr            ,    X86::VPORrr                 },
  { X86::VPSADBWZ128rm          ,    X86::VPSADBWrm              },
  { X86::VPSADBWZ128rr          ,    X86::VPSADBWrr              },
  { X86::VPSHUFBZ128rm          ,    X86::VPSHUFBrm              },
  { X86::VPSHUFBZ128rr          ,    X86::VPSHUFBrr              },
  { X86::VPSHUFDZ128mi          ,    X86::VPSHUFDmi              },
  { X86::VPSHUFDZ128ri          ,    X86::VPSHUFDri              },
  { X86::VPSHUFHWZ128mi         ,    X86::VPSHUFHWmi             },
  { X86::VPSHUFHWZ128ri         ,    X86::VPSHUFHWri             },
  { X86::VPSHUFLWZ128mi         ,    X86::VPSHUFLWmi             },
  { X86::VPSHUFLWZ128ri         ,    X86::VPSHUFLWri             },
  { X86::VPSLLDQZ128rr          ,    X86::VPSLLDQri              },
  { X86::VPSLLDZ128ri           ,    X86::VPSLLDri               },
  { X86::VPSLLDZ128rm           ,    X86::VPSLLDrm               },
  { X86::VPSLLDZ128rr           ,    X86::VPSLLDrr               },
  { X86::VPSLLQZ128ri           ,    X86::VPSLLQri               },
  { X86::VPSLLQZ128rm           ,    X86::VPSLLQrm               },
  { X86::VPSLLQZ128rr           ,    X86::VPSLLQrr               },
  { X86::VPSLLVDZ128rm          ,    X86::VPSLLVDrm              },
  { X86::VPSLLVDZ128rr          ,    X86::VPSLLVDrr              },
  { X86::VPSLLVQZ128rm          ,    X86::VPSLLVQrm              },
  { X86::VPSLLVQZ128rr          ,    X86::VPSLLVQrr              },
  { X86::VPSLLWZ128ri           ,    X86::VPSLLWri               },
  { X86::VPSLLWZ128rm           ,    X86::VPSLLWrm               },
  { X86::VPSLLWZ128rr           ,    X86::VPSLLWrr               },
  { X86::VPSRADZ128ri           ,    X86::VPSRADri               },
  { X86::VPSRADZ128rm           ,    X86::VPSRADrm               },
  { X86::VPSRADZ128rr           ,    X86::VPSRADrr               },
  { X86::VPSRAVDZ128rm          ,    X86::VPSRAVDrm              },
  { X86::VPSRAVDZ128rr          ,    X86::VPSRAVDrr              },
  { X86::VPSRAWZ128ri           ,    X86::VPSRAWri               },
  { X86::VPSRAWZ128rm           ,    X86::VPSRAWrm               },
  { X86::VPSRAWZ128rr           ,    X86::VPSRAWrr               },
  { X86::VPSRLDQZ128rr          ,    X86::VPSRLDQri              },
  { X86::VPSRLDZ128ri           ,    X86::VPSRLDri               },
  { X86::VPSRLDZ128rm           ,    X86::VPSRLDrm               },
  { X86::VPSRLDZ128rr           ,    X86::VPSRLDrr               },
  { X86::VPSRLQZ128ri           ,    X86::VPSRLQri               },
  { X86::VPSRLQZ128rm           ,    X86::VPSRLQrm               },
  { X86::VPSRLQZ128rr           ,    X86::VPSRLQrr               },
  { X86::VPSRLVDZ128rm          ,    X86::VPSRLVDrm              },
  { X86::VPSRLVDZ128rr          ,    X86::VPSRLVDrr              },
  { X86::VPSRLVQZ128rm          ,    X86::VPSRLVQrm              },
  { X86::VPSRLVQZ128rr          ,    X86::VPSRLVQrr              },
  { X86::VPSRLWZ128ri           ,    X86::VPSRLWri               },
  { X86::VPSRLWZ128rm           ,    X86::VPSRLWrm               },
  { X86::VPSRLWZ128rr           ,    X86::VPSRLWrr               },
  { X86::VPSUBBZ128rm           ,    X86::VPSUBBrm               },
  { X86::VPSUBBZ128rr           ,    X86::VPSUBBrr               },
  { X86::VPSUBDZ128rm           ,    X86::VPSUBDrm               },
  { X86::VPSUBDZ128rr           ,    X86::VPSUBDrr               },
  { X86::VPSUBQZ128rm           ,    X86::VPSUBQrm               },
  { X86::VPSUBQZ128rr           ,    X86::VPSUBQrr               },
  { X86::VPSUBSBZ128rm          ,    X86::VPSUBSBrm              },
  { X86::VPSUBSBZ128rr          ,    X86::VPSUBSBrr              },
  { X86::VPSUBSWZ128rm          ,    X86::VPSUBSWrm              },
  { X86::VPSUBSWZ128rr          ,    X86::VPSUBSWrr              },
  { X86::VPSUBUSBZ128rm         ,    X86::VPSUBUSBrm             },
  { X86::VPSUBUSBZ128rr         ,    X86::VPSUBUSBrr             },
  { X86::VPSUBUSWZ128rm         ,    X86::VPSUBUSWrm             },
  { X86::VPSUBUSWZ128rr         ,    X86::VPSUBUSWrr             },
  { X86::VPSUBWZ128rm           ,    X86::VPSUBWrm               },
  { X86::VPSUBWZ128rr           ,    X86::VPSUBWrr               },
  { X86::VPUNPCKHBWZ128rm       ,    X86::VPUNPCKHBWrm           },
  { X86::VPUNPCKHBWZ128rr       ,    X86::VPUNPCKHBWrr           },
  { X86::VPUNPCKHDQZ128rm       ,    X86::VPUNPCKHDQrm           },
  { X86::VPUNPCKHDQZ128rr       ,    X86::VPUNPCKHDQrr           },
  { X86::VPUNPCKHQDQZ128rm      ,    X86::VPUNPCKHQDQrm          },
  { X86::VPUNPCKHQDQZ128rr      ,    X86::VPUNPCKHQDQrr          },
  { X86::VPUNPCKHWDZ128rm       ,    X86::VPUNPCKHWDrm           },
  { X86::VPUNPCKHWDZ128rr       ,    X86::VPUNPCKHWDrr           },
  { X86::VPUNPCKLBWZ128rm       ,    X86::VPUNPCKLBWrm           },
  { X86::VPUNPCKLBWZ128rr       ,    X86::VPUNPCKLBWrr           },
  { X86::VPUNPCKLDQZ128rm       ,    X86::VPUNPCKLDQrm           },
  { X86::VPUNPCKLDQZ128rr       ,    X86::VPUNPCKLDQrr           },
  { X86::VPUNPCKLQDQZ128rm      ,    X86::VPUNPCKLQDQrm          },
  { X86::VPUNPCKLQDQZ128rr      ,    X86::VPUNPCKLQDQrr          },
  { X86::VPUNPCKLWDZ128rm       ,    X86::VPUNPCKLWDrm           },
  { X86::VPUNPCKLWDZ128rr       ,    X86::VPUNPCKLWDrr           },
  { X86::VPXORDZ128rm           ,    X86::VPXORrm                },
  { X86::VPXORDZ128rr           ,    X86::VPXORrr                },
  { X86::VPXORQZ128rm           ,    X86::VPXORrm                },
  { X86::VPXORQZ128rr           ,    X86::VPXORrr                },
  { X86::VSHUFPDZ128rmi         ,    X86::VSHUFPDrmi             },
  { X86::VSHUFPDZ128rri         ,    X86::VSHUFPDrri             },
  { X86::VSHUFPSZ128rmi         ,    X86::VSHUFPSrmi             },
  { X86::VSHUFPSZ128rri         ,    X86::VSHUFPSrri             },
  { X86::VSQRTPDZ128m           ,    X86::VSQRTPDm               },
  { X86::VSQRTPDZ128r           ,    X86::VSQRTPDr               },
  { X86::VSQRTPSZ128m           ,    X86::VSQRTPSm               },
  { X86::VSQRTPSZ128r           ,    X86::VSQRTPSr               },
  { X86::VSUBPDZ128rm           ,    X86::VSUBPDrm               },
  { X86::VSUBPDZ128rr           ,    X86::VSUBPDrr               },
  { X86::VSUBPSZ128rm           ,    X86::VSUBPSrm               },
  { X86::VSUBPSZ128rr           ,    X86::VSUBPSrr               },
  { X86::VUNPCKHPDZ128rm        ,    X86::VUNPCKHPDrm            },
  { X86::VUNPCKHPDZ128rr        ,    X86::VUNPCKHPDrr            },
  { X86::VUNPCKHPSZ128rm        ,    X86::VUNPCKHPSrm            },
  { X86::VUNPCKHPSZ128rr        ,    X86::VUNPCKHPSrr            },
  { X86::VUNPCKLPDZ128rm        ,    X86::VUNPCKLPDrm            },
  { X86::VUNPCKLPDZ128rr        ,    X86::VUNPCKLPDrr            },
  { X86::VUNPCKLPSZ128rm        ,    X86::VUNPCKLPSrm            },
  { X86::VUNPCKLPSZ128rr        ,    X86::VUNPCKLPSrr            },
  { X86::VXORPDZ128rm           ,    X86::VXORPDrm               },
  { X86::VXORPDZ128rr           ,    X86::VXORPDrr               },
  { X86::VXORPSZ128rm           ,    X86::VXORPSrm               },
  { X86::VXORPSZ128rr           ,    X86::VXORPSrr               },
};


// X86 EVEX encoded instructions that have a VEX 256 encoding
// (table format: <EVEX opcode, VEX-256 opcode>).
 static const X86EvexToVexCompressTableEntry X86EvexToVex256CompressTable[] = {
  { X86::VADDPDZ256rm           ,     X86::VADDPDYrm             },
  { X86::VADDPDZ256rr           ,     X86::VADDPDYrr             },
  { X86::VADDPSZ256rm           ,     X86::VADDPSYrm             },
  { X86::VADDPSZ256rr           ,     X86::VADDPSYrr             },
  { X86::VANDNPDZ256rm          ,     X86::VANDNPDYrm            },
  { X86::VANDNPDZ256rr          ,     X86::VANDNPDYrr            },
  { X86::VANDNPSZ256rm          ,     X86::VANDNPSYrm            },
  { X86::VANDNPSZ256rr          ,     X86::VANDNPSYrr            },
  { X86::VANDPDZ256rm           ,     X86::VANDPDYrm             },
  { X86::VANDPDZ256rr           ,     X86::VANDPDYrr             },
  { X86::VANDPSZ256rm           ,     X86::VANDPSYrm             },
  { X86::VANDPSZ256rr           ,     X86::VANDPSYrr             },
  { X86::VBROADCASTSDZ256m      ,     X86::VBROADCASTSDYrm       },
  { X86::VBROADCASTSDZ256r      ,     X86::VBROADCASTSDYrr       },
  { X86::VBROADCASTSDZ256r_s    ,     X86::VBROADCASTSDYrr       },
  { X86::VBROADCASTSSZ256m      ,     X86::VBROADCASTSSYrm       },
  { X86::VBROADCASTSSZ256r      ,     X86::VBROADCASTSSYrr       },
  { X86::VBROADCASTSSZ256r_s    ,     X86::VBROADCASTSSYrr       },
  { X86::VCVTDQ2PDZ256rm        ,     X86::VCVTDQ2PDYrm          },
  { X86::VCVTDQ2PDZ256rr        ,     X86::VCVTDQ2PDYrr          },
  { X86::VCVTDQ2PSZ256rm        ,     X86::VCVTDQ2PSYrm          },
  { X86::VCVTDQ2PSZ256rr        ,     X86::VCVTDQ2PSYrr          },
  { X86::VCVTPD2DQZ256rm        ,     X86::VCVTPD2DQYrm          },
  { X86::VCVTPD2DQZ256rr        ,     X86::VCVTPD2DQYrr          },
  { X86::VCVTPD2PSZ256rm        ,     X86::VCVTPD2PSYrm          },
  { X86::VCVTPD2PSZ256rr        ,     X86::VCVTPD2PSYrr          },
  { X86::VCVTPH2PSZ256rm        ,     X86::VCVTPH2PSYrm          },
  { X86::VCVTPH2PSZ256rr        ,     X86::VCVTPH2PSYrr          },
  { X86::VCVTPS2DQZ256rm        ,     X86::VCVTPS2DQYrm          },
  { X86::VCVTPS2DQZ256rr        ,     X86::VCVTPS2DQYrr          },
  { X86::VCVTPS2PDZ256rm        ,     X86::VCVTPS2PDYrm          },
  { X86::VCVTPS2PDZ256rr        ,     X86::VCVTPS2PDYrr          },
  { X86::VCVTPS2PHZ256mr        ,     X86::VCVTPS2PHYmr          },
  { X86::VCVTPS2PHZ256rr        ,     X86::VCVTPS2PHYrr          },
  { X86::VCVTTPD2DQZ256rm       ,     X86::VCVTTPD2DQYrm         },
  { X86::VCVTTPD2DQZ256rr       ,     X86::VCVTTPD2DQYrr         },
  { X86::VCVTTPS2DQZ256rm       ,     X86::VCVTTPS2DQYrm         },
  { X86::VCVTTPS2DQZ256rr       ,     X86::VCVTTPS2DQYrr         },
  { X86::VDIVPDZ256rm           ,     X86::VDIVPDYrm             },
  { X86::VDIVPDZ256rr           ,     X86::VDIVPDYrr             },
  { X86::VDIVPSZ256rm           ,     X86::VDIVPSYrm             },
  { X86::VDIVPSZ256rr           ,     X86::VDIVPSYrr             },
  { X86::VEXTRACTF32x4Z256mr    ,    X86::VEXTRACTF128mr         },
  { X86::VEXTRACTF64x2Z256mr    ,    X86::VEXTRACTF128mr         },
  { X86::VEXTRACTF32x4Z256rr    ,    X86::VEXTRACTF128rr         },
  { X86::VEXTRACTF64x2Z256rr    ,    X86::VEXTRACTF128rr         },
  { X86::VEXTRACTI32x4Z256mr    ,    X86::VEXTRACTI128mr         },
  { X86::VEXTRACTI64x2Z256mr    ,    X86::VEXTRACTI128mr         },
  { X86::VEXTRACTI32x4Z256rr    ,    X86::VEXTRACTI128rr         },
  { X86::VEXTRACTI64x2Z256rr    ,    X86::VEXTRACTI128rr         },
  { X86::VFMADD132PDZ256m       ,     X86::VFMADD132PDYm         },
  { X86::VFMADD132PDZ256r       ,     X86::VFMADD132PDYr         },
  { X86::VFMADD132PSZ256m       ,     X86::VFMADD132PSYm         },
  { X86::VFMADD132PSZ256r       ,     X86::VFMADD132PSYr         },
  { X86::VFMADD213PDZ256m       ,     X86::VFMADD213PDYm         },
  { X86::VFMADD213PDZ256r       ,     X86::VFMADD213PDYr         },
  { X86::VFMADD213PSZ256m       ,     X86::VFMADD213PSYm         },
  { X86::VFMADD213PSZ256r       ,     X86::VFMADD213PSYr         },
  { X86::VFMADD231PDZ256m       ,     X86::VFMADD231PDYm         },
  { X86::VFMADD231PDZ256r       ,     X86::VFMADD231PDYr         },
  { X86::VFMADD231PSZ256m       ,     X86::VFMADD231PSYm         },
  { X86::VFMADD231PSZ256r       ,     X86::VFMADD231PSYr         },
  { X86::VFMADDSUB132PDZ256m    ,     X86::VFMADDSUB132PDYm      },
  { X86::VFMADDSUB132PDZ256r    ,     X86::VFMADDSUB132PDYr      },
  { X86::VFMADDSUB132PSZ256m    ,     X86::VFMADDSUB132PSYm      },
  { X86::VFMADDSUB132PSZ256r    ,     X86::VFMADDSUB132PSYr      },
  { X86::VFMADDSUB213PDZ256m    ,     X86::VFMADDSUB213PDYm      },
  { X86::VFMADDSUB213PDZ256r    ,     X86::VFMADDSUB213PDYr      },
  { X86::VFMADDSUB213PSZ256m    ,     X86::VFMADDSUB213PSYm      },
  { X86::VFMADDSUB213PSZ256r    ,     X86::VFMADDSUB213PSYr      },
  { X86::VFMADDSUB231PDZ256m    ,     X86::VFMADDSUB231PDYm      },
  { X86::VFMADDSUB231PDZ256r    ,     X86::VFMADDSUB231PDYr      },
  { X86::VFMADDSUB231PSZ256m    ,     X86::VFMADDSUB231PSYm      },
  { X86::VFMADDSUB231PSZ256r    ,     X86::VFMADDSUB231PSYr      },
  { X86::VFMSUB132PDZ256m       ,     X86::VFMSUB132PDYm         },
  { X86::VFMSUB132PDZ256r       ,     X86::VFMSUB132PDYr         },
  { X86::VFMSUB132PSZ256m       ,     X86::VFMSUB132PSYm         },
  { X86::VFMSUB132PSZ256r       ,     X86::VFMSUB132PSYr         },
  { X86::VFMSUB213PDZ256m       ,     X86::VFMSUB213PDYm         },
  { X86::VFMSUB213PDZ256r       ,     X86::VFMSUB213PDYr         },
  { X86::VFMSUB213PSZ256m       ,     X86::VFMSUB213PSYm         },
  { X86::VFMSUB213PSZ256r       ,     X86::VFMSUB213PSYr         },
  { X86::VFMSUB231PDZ256m       ,     X86::VFMSUB231PDYm         },
  { X86::VFMSUB231PDZ256r       ,     X86::VFMSUB231PDYr         },
  { X86::VFMSUB231PSZ256m       ,     X86::VFMSUB231PSYm         },
  { X86::VFMSUB231PSZ256r       ,     X86::VFMSUB231PSYr         },
  { X86::VFMSUBADD132PDZ256m    ,     X86::VFMSUBADD132PDYm      },
  { X86::VFMSUBADD132PDZ256r    ,     X86::VFMSUBADD132PDYr      },
  { X86::VFMSUBADD132PSZ256m    ,     X86::VFMSUBADD132PSYm      },
  { X86::VFMSUBADD132PSZ256r    ,     X86::VFMSUBADD132PSYr      },
  { X86::VFMSUBADD213PDZ256m    ,     X86::VFMSUBADD213PDYm      },
  { X86::VFMSUBADD213PDZ256r    ,     X86::VFMSUBADD213PDYr      },
  { X86::VFMSUBADD213PSZ256m    ,     X86::VFMSUBADD213PSYm      },
  { X86::VFMSUBADD213PSZ256r    ,     X86::VFMSUBADD213PSYr      },
  { X86::VFMSUBADD231PDZ256m    ,     X86::VFMSUBADD231PDYm      },
  { X86::VFMSUBADD231PDZ256r    ,     X86::VFMSUBADD231PDYr      },
  { X86::VFMSUBADD231PSZ256m    ,     X86::VFMSUBADD231PSYm      },
  { X86::VFMSUBADD231PSZ256r    ,     X86::VFMSUBADD231PSYr      },
  { X86::VFNMADD132PDZ256m      ,     X86::VFNMADD132PDYm        },
  { X86::VFNMADD132PDZ256r      ,     X86::VFNMADD132PDYr        },
  { X86::VFNMADD132PSZ256m      ,     X86::VFNMADD132PSYm        },
  { X86::VFNMADD132PSZ256r      ,     X86::VFNMADD132PSYr        },
  { X86::VFNMADD213PDZ256m      ,     X86::VFNMADD213PDYm        },
  { X86::VFNMADD213PDZ256r      ,     X86::VFNMADD213PDYr        },
  { X86::VFNMADD213PSZ256m      ,     X86::VFNMADD213PSYm        },
  { X86::VFNMADD213PSZ256r      ,     X86::VFNMADD213PSYr        },
  { X86::VFNMADD231PDZ256m      ,     X86::VFNMADD231PDYm        },
  { X86::VFNMADD231PDZ256r      ,     X86::VFNMADD231PDYr        },
  { X86::VFNMADD231PSZ256m      ,     X86::VFNMADD231PSYm        },
  { X86::VFNMADD231PSZ256r      ,     X86::VFNMADD231PSYr        },
  { X86::VFNMSUB132PDZ256m      ,     X86::VFNMSUB132PDYm        },
  { X86::VFNMSUB132PDZ256r      ,     X86::VFNMSUB132PDYr        },
  { X86::VFNMSUB132PSZ256m      ,     X86::VFNMSUB132PSYm        },
  { X86::VFNMSUB132PSZ256r      ,     X86::VFNMSUB132PSYr        },
  { X86::VFNMSUB213PDZ256m      ,     X86::VFNMSUB213PDYm        },
  { X86::VFNMSUB213PDZ256r      ,     X86::VFNMSUB213PDYr        },
  { X86::VFNMSUB213PSZ256m      ,     X86::VFNMSUB213PSYm        },
  { X86::VFNMSUB213PSZ256r      ,     X86::VFNMSUB213PSYr        },
  { X86::VFNMSUB231PDZ256m      ,     X86::VFNMSUB231PDYm        },
  { X86::VFNMSUB231PDZ256r      ,     X86::VFNMSUB231PDYr        },
  { X86::VFNMSUB231PSZ256m      ,     X86::VFNMSUB231PSYm        },
  { X86::VFNMSUB231PSZ256r      ,     X86::VFNMSUB231PSYr        },
  { X86::VINSERTF32x4Z256rm     ,    X86::VINSERTF128rm          },
  { X86::VINSERTF64x2Z256rm     ,    X86::VINSERTF128rm          },
  { X86::VINSERTF32x4Z256rr     ,    X86::VINSERTF128rr          },
  { X86::VINSERTF64x2Z256rr     ,    X86::VINSERTF128rr          },
  { X86::VINSERTI32x4Z256rm     ,    X86::VINSERTI128rm          },
  { X86::VINSERTI64x2Z256rm     ,    X86::VINSERTI128rm          },
  { X86::VINSERTI32x4Z256rr     ,    X86::VINSERTI128rr          },
  { X86::VINSERTI64x2Z256rr     ,    X86::VINSERTI128rr          },
  { X86::VMAXCPDZ256rm          ,     X86::VMAXCPDYrm            },
  { X86::VMAXCPDZ256rr          ,     X86::VMAXCPDYrr            },
  { X86::VMAXCPSZ256rm          ,     X86::VMAXCPSYrm            },
  { X86::VMAXCPSZ256rr          ,     X86::VMAXCPSYrr            },
  { X86::VMAXPDZ256rm           ,     X86::VMAXPDYrm             },
  { X86::VMAXPDZ256rr           ,     X86::VMAXPDYrr             },
  { X86::VMAXPSZ256rm           ,     X86::VMAXPSYrm             },
  { X86::VMAXPSZ256rr           ,     X86::VMAXPSYrr             },
  { X86::VMINCPDZ256rm          ,     X86::VMINCPDYrm            },
  { X86::VMINCPDZ256rr          ,     X86::VMINCPDYrr            },
  { X86::VMINCPSZ256rm          ,     X86::VMINCPSYrm            },
  { X86::VMINCPSZ256rr          ,     X86::VMINCPSYrr            },
  { X86::VMINPDZ256rm           ,     X86::VMINPDYrm             },
  { X86::VMINPDZ256rr           ,     X86::VMINPDYrr             },
  { X86::VMINPSZ256rm           ,     X86::VMINPSYrm             },
  { X86::VMINPSZ256rr           ,     X86::VMINPSYrr             },
  { X86::VMOVAPDZ256mr          ,     X86::VMOVAPDYmr            },
  { X86::VMOVAPDZ256rm          ,     X86::VMOVAPDYrm            },
  { X86::VMOVAPDZ256rr          ,     X86::VMOVAPDYrr            },
  { X86::VMOVAPDZ256rr_REV      ,     X86::VMOVAPDYrr_REV        },
  { X86::VMOVAPSZ256mr          ,     X86::VMOVAPSYmr            },
  { X86::VMOVAPSZ256rm          ,     X86::VMOVAPSYrm            },
  { X86::VMOVAPSZ256rr          ,     X86::VMOVAPSYrr            },
  { X86::VMOVAPSZ256rr_REV      ,     X86::VMOVAPSYrr_REV        },
  { X86::VMOVDDUPZ256rm         ,     X86::VMOVDDUPYrm           },
  { X86::VMOVDDUPZ256rr         ,     X86::VMOVDDUPYrr           },
  { X86::VMOVDQA32Z256mr        ,     X86::VMOVDQAYmr            },
  { X86::VMOVDQA32Z256rm        ,     X86::VMOVDQAYrm            },
  { X86::VMOVDQA32Z256rr        ,     X86::VMOVDQAYrr            },
  { X86::VMOVDQA32Z256rr_REV    ,     X86::VMOVDQAYrr_REV        },
  { X86::VMOVDQA64Z256mr        ,     X86::VMOVDQAYmr            },
  { X86::VMOVDQA64Z256rm        ,     X86::VMOVDQAYrm            },
  { X86::VMOVDQA64Z256rr        ,     X86::VMOVDQAYrr            },
  { X86::VMOVDQA64Z256rr_REV    ,     X86::VMOVDQAYrr_REV        },
  { X86::VMOVDQU16Z256mr        ,     X86::VMOVDQUYmr            },
  { X86::VMOVDQU16Z256rm        ,     X86::VMOVDQUYrm            },
  { X86::VMOVDQU16Z256rr        ,     X86::VMOVDQUYrr            },
  { X86::VMOVDQU16Z256rr_REV    ,     X86::VMOVDQUYrr_REV        },
  { X86::VMOVDQU32Z256mr        ,     X86::VMOVDQUYmr            },
  { X86::VMOVDQU32Z256rm        ,     X86::VMOVDQUYrm            },
  { X86::VMOVDQU32Z256rr        ,     X86::VMOVDQUYrr            },
  { X86::VMOVDQU32Z256rr_REV    ,     X86::VMOVDQUYrr_REV        },
  { X86::VMOVDQU64Z256mr        ,     X86::VMOVDQUYmr            },
  { X86::VMOVDQU64Z256rm        ,     X86::VMOVDQUYrm            },
  { X86::VMOVDQU64Z256rr        ,     X86::VMOVDQUYrr            },
  { X86::VMOVDQU64Z256rr_REV    ,     X86::VMOVDQUYrr_REV        },
  { X86::VMOVDQU8Z256mr         ,     X86::VMOVDQUYmr            },
  { X86::VMOVDQU8Z256rm         ,     X86::VMOVDQUYrm            },
  { X86::VMOVDQU8Z256rr         ,     X86::VMOVDQUYrr            },
  { X86::VMOVDQU8Z256rr_REV     ,     X86::VMOVDQUYrr_REV        },
  { X86::VMOVNTDQAZ256rm        ,     X86::VMOVNTDQAYrm          },
  { X86::VMOVNTDQZ256mr         ,     X86::VMOVNTDQYmr           },
  { X86::VMOVNTPDZ256mr         ,     X86::VMOVNTPDYmr           },
  { X86::VMOVNTPSZ256mr         ,     X86::VMOVNTPSYmr           },
  { X86::VMOVSHDUPZ256rm        ,     X86::VMOVSHDUPYrm          },
  { X86::VMOVSHDUPZ256rr        ,     X86::VMOVSHDUPYrr          },
  { X86::VMOVSLDUPZ256rm        ,     X86::VMOVSLDUPYrm          },
  { X86::VMOVSLDUPZ256rr        ,     X86::VMOVSLDUPYrr          },
  { X86::VMOVUPDZ256mr          ,     X86::VMOVUPDYmr            },
  { X86::VMOVUPDZ256rm          ,     X86::VMOVUPDYrm            },
  { X86::VMOVUPDZ256rr          ,     X86::VMOVUPDYrr            },
  { X86::VMOVUPDZ256rr_REV      ,     X86::VMOVUPDYrr_REV        },
  { X86::VMOVUPSZ256mr          ,     X86::VMOVUPSYmr            },
  { X86::VMOVUPSZ256rm          ,     X86::VMOVUPSYrm            },
  { X86::VMOVUPSZ256rr          ,     X86::VMOVUPSYrr            },
  { X86::VMOVUPSZ256rr_REV      ,     X86::VMOVUPSYrr_REV        },
  { X86::VMULPDZ256rm           ,     X86::VMULPDYrm             },
  { X86::VMULPDZ256rr           ,     X86::VMULPDYrr             },
  { X86::VMULPSZ256rm           ,     X86::VMULPSYrm             },
  { X86::VMULPSZ256rr           ,     X86::VMULPSYrr             },
  { X86::VORPDZ256rm            ,     X86::VORPDYrm              },
  { X86::VORPDZ256rr            ,     X86::VORPDYrr              },
  { X86::VORPSZ256rm            ,     X86::VORPSYrm              },
  { X86::VORPSZ256rr            ,     X86::VORPSYrr              },
  { X86::VPABSBZ256rm           ,     X86::VPABSBYrm             },
  { X86::VPABSBZ256rr           ,     X86::VPABSBYrr             },
  { X86::VPABSDZ256rm           ,     X86::VPABSDYrm             },
  { X86::VPABSDZ256rr           ,     X86::VPABSDYrr             },
  { X86::VPABSWZ256rm           ,     X86::VPABSWYrm             },
  { X86::VPABSWZ256rr           ,     X86::VPABSWYrr             },
  { X86::VPACKSSDWZ256rm        ,     X86::VPACKSSDWYrm          },
  { X86::VPACKSSDWZ256rr        ,     X86::VPACKSSDWYrr          },
  { X86::VPACKSSWBZ256rm        ,     X86::VPACKSSWBYrm          },
  { X86::VPACKSSWBZ256rr        ,     X86::VPACKSSWBYrr          },
  { X86::VPACKUSDWZ256rm        ,     X86::VPACKUSDWYrm          },
  { X86::VPACKUSDWZ256rr        ,     X86::VPACKUSDWYrr          },
  { X86::VPACKUSWBZ256rm        ,     X86::VPACKUSWBYrm          },
  { X86::VPACKUSWBZ256rr        ,     X86::VPACKUSWBYrr          },
  { X86::VPADDBZ256rm           ,     X86::VPADDBYrm             },
  { X86::VPADDBZ256rr           ,     X86::VPADDBYrr             },
  { X86::VPADDDZ256rm           ,     X86::VPADDDYrm             },
  { X86::VPADDDZ256rr           ,     X86::VPADDDYrr             },
  { X86::VPADDQZ256rm           ,     X86::VPADDQYrm             },
  { X86::VPADDQZ256rr           ,     X86::VPADDQYrr             },
  { X86::VPADDSBZ256rm          ,     X86::VPADDSBYrm            },
  { X86::VPADDSBZ256rr          ,     X86::VPADDSBYrr            },
  { X86::VPADDSWZ256rm          ,     X86::VPADDSWYrm            },
  { X86::VPADDSWZ256rr          ,     X86::VPADDSWYrr            },
  { X86::VPADDUSBZ256rm         ,     X86::VPADDUSBYrm           },
  { X86::VPADDUSBZ256rr         ,     X86::VPADDUSBYrr           },
  { X86::VPADDUSWZ256rm         ,     X86::VPADDUSWYrm           },
  { X86::VPADDUSWZ256rr         ,     X86::VPADDUSWYrr           },
  { X86::VPADDWZ256rm           ,     X86::VPADDWYrm             },
  { X86::VPADDWZ256rr           ,     X86::VPADDWYrr             },
  { X86::VPALIGNRZ256rmi        ,     X86::VPALIGNRYrmi          },
  { X86::VPALIGNRZ256rri        ,     X86::VPALIGNRYrri          },
  { X86::VPANDDZ256rm           ,     X86::VPANDYrm              },
  { X86::VPANDDZ256rr           ,     X86::VPANDYrr              },
  { X86::VPANDQZ256rm           ,     X86::VPANDYrm              },
  { X86::VPANDQZ256rr           ,     X86::VPANDYrr              },
  { X86::VPAVGBZ256rm           ,     X86::VPAVGBYrm             },
  { X86::VPAVGBZ256rr           ,     X86::VPAVGBYrr             },
  { X86::VPAVGWZ256rm           ,     X86::VPAVGWYrm             },
  { X86::VPAVGWZ256rr           ,     X86::VPAVGWYrr             },
  { X86::VPBROADCASTBZ256m      ,     X86::VPBROADCASTBYrm       },
  { X86::VPBROADCASTBZ256r      ,     X86::VPBROADCASTBYrr       },
  { X86::VPBROADCASTDZ256m      ,     X86::VPBROADCASTDYrm       },
  { X86::VPBROADCASTDZ256r      ,     X86::VPBROADCASTDYrr       },
  { X86::VPBROADCASTQZ256m      ,     X86::VPBROADCASTQYrm       },
  { X86::VPBROADCASTQZ256r      ,     X86::VPBROADCASTQYrr       },
  { X86::VPBROADCASTWZ256m      ,     X86::VPBROADCASTWYrm       },
  { X86::VPBROADCASTWZ256r      ,     X86::VPBROADCASTWYrr       },
  { X86::VPERMDZ256rm           ,     X86::VPERMDYrm             },
  { X86::VPERMDZ256rr           ,     X86::VPERMDYrr             },
  { X86::VPERMILPDZ256mi        ,     X86::VPERMILPDYmi          },
  { X86::VPERMILPDZ256ri        ,     X86::VPERMILPDYri          },
  { X86::VPERMILPDZ256rm        ,     X86::VPERMILPDYrm          },
  { X86::VPERMILPDZ256rr        ,     X86::VPERMILPDYrr          },
  { X86::VPERMILPSZ256mi        ,     X86::VPERMILPSYmi          },
  { X86::VPERMILPSZ256ri        ,     X86::VPERMILPSYri          },
  { X86::VPERMILPSZ256rm        ,     X86::VPERMILPSYrm          },
  { X86::VPERMILPSZ256rr        ,     X86::VPERMILPSYrr          },
  { X86::VPERMPDZ256mi          ,     X86::VPERMPDYmi            },
  { X86::VPERMPDZ256ri          ,     X86::VPERMPDYri            },
  { X86::VPERMPSZ256rm          ,     X86::VPERMPSYrm            },
  { X86::VPERMPSZ256rr          ,     X86::VPERMPSYrr            },
  { X86::VPERMQZ256mi           ,     X86::VPERMQYmi             },
  { X86::VPERMQZ256ri           ,     X86::VPERMQYri             },
  { X86::VPMADDUBSWZ256rm       ,     X86::VPMADDUBSWYrm         },
  { X86::VPMADDUBSWZ256rr       ,     X86::VPMADDUBSWYrr         },
  { X86::VPMADDWDZ256rm         ,     X86::VPMADDWDYrm           },
  { X86::VPMADDWDZ256rr         ,     X86::VPMADDWDYrr           },
  { X86::VPMAXSBZ256rm          ,     X86::VPMAXSBYrm            },
  { X86::VPMAXSBZ256rr          ,     X86::VPMAXSBYrr            },
  { X86::VPMAXSDZ256rm          ,     X86::VPMAXSDYrm            },
  { X86::VPMAXSDZ256rr          ,     X86::VPMAXSDYrr            },
  { X86::VPMAXSWZ256rm          ,     X86::VPMAXSWYrm            },
  { X86::VPMAXSWZ256rr          ,     X86::VPMAXSWYrr            },
  { X86::VPMAXUBZ256rm          ,     X86::VPMAXUBYrm            },
  { X86::VPMAXUBZ256rr          ,     X86::VPMAXUBYrr            },
  { X86::VPMAXUDZ256rm          ,     X86::VPMAXUDYrm            },
  { X86::VPMAXUDZ256rr          ,     X86::VPMAXUDYrr            },
  { X86::VPMAXUWZ256rm          ,     X86::VPMAXUWYrm            },
  { X86::VPMAXUWZ256rr          ,     X86::VPMAXUWYrr            },
  { X86::VPMINSBZ256rm          ,     X86::VPMINSBYrm            },
  { X86::VPMINSBZ256rr          ,     X86::VPMINSBYrr            },
  { X86::VPMINSDZ256rm          ,     X86::VPMINSDYrm            },
  { X86::VPMINSDZ256rr          ,     X86::VPMINSDYrr            },
  { X86::VPMINSWZ256rm          ,     X86::VPMINSWYrm            },
  { X86::VPMINSWZ256rr          ,     X86::VPMINSWYrr            },
  { X86::VPMINUBZ256rm          ,     X86::VPMINUBYrm            },
  { X86::VPMINUBZ256rr          ,     X86::VPMINUBYrr            },
  { X86::VPMINUDZ256rm          ,     X86::VPMINUDYrm            },
  { X86::VPMINUDZ256rr          ,     X86::VPMINUDYrr            },
  { X86::VPMINUWZ256rm          ,     X86::VPMINUWYrm            },
  { X86::VPMINUWZ256rr          ,     X86::VPMINUWYrr            },
  { X86::VPMOVSXBDZ256rm        ,     X86::VPMOVSXBDYrm          },
  { X86::VPMOVSXBDZ256rr        ,     X86::VPMOVSXBDYrr          },
  { X86::VPMOVSXBQZ256rm        ,     X86::VPMOVSXBQYrm          },
  { X86::VPMOVSXBQZ256rr        ,     X86::VPMOVSXBQYrr          },
  { X86::VPMOVSXBWZ256rm        ,     X86::VPMOVSXBWYrm          },
  { X86::VPMOVSXBWZ256rr        ,     X86::VPMOVSXBWYrr          },
  { X86::VPMOVSXDQZ256rm        ,     X86::VPMOVSXDQYrm          },
  { X86::VPMOVSXDQZ256rr        ,     X86::VPMOVSXDQYrr          },
  { X86::VPMOVSXWDZ256rm        ,     X86::VPMOVSXWDYrm          },
  { X86::VPMOVSXWDZ256rr        ,     X86::VPMOVSXWDYrr          },
  { X86::VPMOVSXWQZ256rm        ,     X86::VPMOVSXWQYrm          },
  { X86::VPMOVSXWQZ256rr        ,     X86::VPMOVSXWQYrr          },
  { X86::VPMOVZXBDZ256rm        ,     X86::VPMOVZXBDYrm          },
  { X86::VPMOVZXBDZ256rr        ,     X86::VPMOVZXBDYrr          },
  { X86::VPMOVZXBQZ256rm        ,     X86::VPMOVZXBQYrm          },
  { X86::VPMOVZXBQZ256rr        ,     X86::VPMOVZXBQYrr          },
  { X86::VPMOVZXBWZ256rm        ,     X86::VPMOVZXBWYrm          },
  { X86::VPMOVZXBWZ256rr        ,     X86::VPMOVZXBWYrr          },
  { X86::VPMOVZXDQZ256rm        ,     X86::VPMOVZXDQYrm          },
  { X86::VPMOVZXDQZ256rr        ,     X86::VPMOVZXDQYrr          },
  { X86::VPMOVZXWDZ256rm        ,     X86::VPMOVZXWDYrm          },
  { X86::VPMOVZXWDZ256rr        ,     X86::VPMOVZXWDYrr          },
  { X86::VPMOVZXWQZ256rm        ,     X86::VPMOVZXWQYrm          },
  { X86::VPMOVZXWQZ256rr        ,     X86::VPMOVZXWQYrr          },
  { X86::VPMULDQZ256rm          ,     X86::VPMULDQYrm            },
  { X86::VPMULDQZ256rr          ,     X86::VPMULDQYrr            },
  { X86::VPMULHRSWZ256rm        ,     X86::VPMULHRSWYrm          },
  { X86::VPMULHRSWZ256rr        ,     X86::VPMULHRSWYrr          },
  { X86::VPMULHUWZ256rm         ,     X86::VPMULHUWYrm           },
  { X86::VPMULHUWZ256rr         ,     X86::VPMULHUWYrr           },
  { X86::VPMULHWZ256rm          ,     X86::VPMULHWYrm            },
  { X86::VPMULHWZ256rr          ,     X86::VPMULHWYrr            },
  { X86::VPMULLDZ256rm          ,     X86::VPMULLDYrm            },
  { X86::VPMULLDZ256rr          ,     X86::VPMULLDYrr            },
  { X86::VPMULLWZ256rm          ,     X86::VPMULLWYrm            },
  { X86::VPMULLWZ256rr          ,     X86::VPMULLWYrr            },
  { X86::VPMULUDQZ256rm         ,     X86::VPMULUDQYrm           },
  { X86::VPMULUDQZ256rr         ,     X86::VPMULUDQYrr           },
  { X86::VPORDZ256rm            ,     X86::VPORYrm               },
  { X86::VPORDZ256rr            ,     X86::VPORYrr               },
  { X86::VPORQZ256rm            ,     X86::VPORYrm               },
  { X86::VPORQZ256rr            ,     X86::VPORYrr               },
  { X86::VPSADBWZ256rm          ,     X86::VPSADBWYrm            },
  { X86::VPSADBWZ256rr          ,     X86::VPSADBWYrr            },
  { X86::VPSHUFBZ256rm          ,     X86::VPSHUFBYrm            },
  { X86::VPSHUFBZ256rr          ,     X86::VPSHUFBYrr            },
  { X86::VPSHUFDZ256mi          ,     X86::VPSHUFDYmi            },
  { X86::VPSHUFDZ256ri          ,     X86::VPSHUFDYri            },
  { X86::VPSHUFHWZ256mi         ,     X86::VPSHUFHWYmi           },
  { X86::VPSHUFHWZ256ri         ,     X86::VPSHUFHWYri           },
  { X86::VPSHUFLWZ256mi         ,     X86::VPSHUFLWYmi           },
  { X86::VPSHUFLWZ256ri         ,     X86::VPSHUFLWYri           },
  { X86::VPSLLDQZ256rr          ,     X86::VPSLLDQYri            },
  { X86::VPSLLDZ256ri           ,     X86::VPSLLDYri             },
  { X86::VPSLLDZ256rm           ,     X86::VPSLLDYrm             },
  { X86::VPSLLDZ256rr           ,     X86::VPSLLDYrr             },
  { X86::VPSLLQZ256ri           ,     X86::VPSLLQYri             },
  { X86::VPSLLQZ256rm           ,     X86::VPSLLQYrm             },
  { X86::VPSLLQZ256rr           ,     X86::VPSLLQYrr             },
  { X86::VPSLLVDZ256rm          ,     X86::VPSLLVDYrm            },
  { X86::VPSLLVDZ256rr          ,     X86::VPSLLVDYrr            },
  { X86::VPSLLVQZ256rm          ,     X86::VPSLLVQYrm            },
  { X86::VPSLLVQZ256rr          ,     X86::VPSLLVQYrr            },
  { X86::VPSLLWZ256ri           ,     X86::VPSLLWYri             },
  { X86::VPSLLWZ256rm           ,     X86::VPSLLWYrm             },
  { X86::VPSLLWZ256rr           ,     X86::VPSLLWYrr             },
  { X86::VPSRADZ256ri           ,     X86::VPSRADYri             },
  { X86::VPSRADZ256rm           ,     X86::VPSRADYrm             },
  { X86::VPSRADZ256rr           ,     X86::VPSRADYrr             },
  { X86::VPSRAVDZ256rm          ,     X86::VPSRAVDYrm            },
  { X86::VPSRAVDZ256rr          ,     X86::VPSRAVDYrr            },
  { X86::VPSRAWZ256ri           ,     X86::VPSRAWYri             },
  { X86::VPSRAWZ256rm           ,     X86::VPSRAWYrm             },
  { X86::VPSRAWZ256rr           ,     X86::VPSRAWYrr             },
  { X86::VPSRLDQZ256rr          ,     X86::VPSRLDQYri            },
  { X86::VPSRLDZ256ri           ,     X86::VPSRLDYri             },
  { X86::VPSRLDZ256rm           ,     X86::VPSRLDYrm             },
  { X86::VPSRLDZ256rr           ,     X86::VPSRLDYrr             },
  { X86::VPSRLQZ256ri           ,     X86::VPSRLQYri             },
  { X86::VPSRLQZ256rm           ,     X86::VPSRLQYrm             },
  { X86::VPSRLQZ256rr           ,     X86::VPSRLQYrr             },
  { X86::VPSRLVDZ256rm          ,     X86::VPSRLVDYrm            },
  { X86::VPSRLVDZ256rr          ,     X86::VPSRLVDYrr            },
  { X86::VPSRLVQZ256rm          ,     X86::VPSRLVQYrm            },
  { X86::VPSRLVQZ256rr          ,     X86::VPSRLVQYrr            },
  { X86::VPSRLWZ256ri           ,     X86::VPSRLWYri             },
  { X86::VPSRLWZ256rm           ,     X86::VPSRLWYrm             },
  { X86::VPSRLWZ256rr           ,     X86::VPSRLWYrr             },
  { X86::VPSUBBZ256rm           ,     X86::VPSUBBYrm             },
  { X86::VPSUBBZ256rr           ,     X86::VPSUBBYrr             },
  { X86::VPSUBDZ256rm           ,     X86::VPSUBDYrm             },
  { X86::VPSUBDZ256rr           ,     X86::VPSUBDYrr             },
  { X86::VPSUBQZ256rm           ,     X86::VPSUBQYrm             },
  { X86::VPSUBQZ256rr           ,     X86::VPSUBQYrr             },
  { X86::VPSUBSBZ256rm          ,     X86::VPSUBSBYrm            },
  { X86::VPSUBSBZ256rr          ,     X86::VPSUBSBYrr            },
  { X86::VPSUBSWZ256rm          ,     X86::VPSUBSWYrm            },
  { X86::VPSUBSWZ256rr          ,     X86::VPSUBSWYrr            },
  { X86::VPSUBUSBZ256rm         ,     X86::VPSUBUSBYrm           },
  { X86::VPSUBUSBZ256rr         ,     X86::VPSUBUSBYrr           },
  { X86::VPSUBUSWZ256rm         ,     X86::VPSUBUSWYrm           },
  { X86::VPSUBUSWZ256rr         ,     X86::VPSUBUSWYrr           },
  { X86::VPSUBWZ256rm           ,     X86::VPSUBWYrm             },
  { X86::VPSUBWZ256rr           ,     X86::VPSUBWYrr             },
  { X86::VPUNPCKHBWZ256rm       ,     X86::VPUNPCKHBWYrm         },
  { X86::VPUNPCKHBWZ256rr       ,     X86::VPUNPCKHBWYrr         },
  { X86::VPUNPCKHDQZ256rm       ,     X86::VPUNPCKHDQYrm         },
  { X86::VPUNPCKHDQZ256rr       ,     X86::VPUNPCKHDQYrr         },
  { X86::VPUNPCKHQDQZ256rm      ,     X86::VPUNPCKHQDQYrm        },
  { X86::VPUNPCKHQDQZ256rr      ,     X86::VPUNPCKHQDQYrr        },
  { X86::VPUNPCKHWDZ256rm       ,     X86::VPUNPCKHWDYrm         },
  { X86::VPUNPCKHWDZ256rr       ,     X86::VPUNPCKHWDYrr         },
  { X86::VPUNPCKLBWZ256rm       ,     X86::VPUNPCKLBWYrm         },
  { X86::VPUNPCKLBWZ256rr       ,     X86::VPUNPCKLBWYrr         },
  { X86::VPUNPCKLDQZ256rm       ,     X86::VPUNPCKLDQYrm         },
  { X86::VPUNPCKLDQZ256rr       ,     X86::VPUNPCKLDQYrr         },
  { X86::VPUNPCKLQDQZ256rm      ,     X86::VPUNPCKLQDQYrm        },
  { X86::VPUNPCKLQDQZ256rr      ,     X86::VPUNPCKLQDQYrr        },
  { X86::VPUNPCKLWDZ256rm       ,     X86::VPUNPCKLWDYrm         },
  { X86::VPUNPCKLWDZ256rr       ,     X86::VPUNPCKLWDYrr         },
  { X86::VPXORDZ256rm           ,     X86::VPXORYrm              },
  { X86::VPXORDZ256rr           ,     X86::VPXORYrr              },
  { X86::VPXORQZ256rm           ,     X86::VPXORYrm              },
  { X86::VPXORQZ256rr           ,     X86::VPXORYrr              },
  { X86::VSHUFPDZ256rmi         ,     X86::VSHUFPDYrmi           },
  { X86::VSHUFPDZ256rri         ,     X86::VSHUFPDYrri           },
  { X86::VSHUFPSZ256rmi         ,     X86::VSHUFPSYrmi           },
  { X86::VSHUFPSZ256rri         ,     X86::VSHUFPSYrri           },
  { X86::VSQRTPDZ256m           ,     X86::VSQRTPDYm             },
  { X86::VSQRTPDZ256r           ,     X86::VSQRTPDYr             },
  { X86::VSQRTPSZ256m           ,     X86::VSQRTPSYm             },
  { X86::VSQRTPSZ256r           ,     X86::VSQRTPSYr             },
  { X86::VSUBPDZ256rm           ,     X86::VSUBPDYrm             },
  { X86::VSUBPDZ256rr           ,     X86::VSUBPDYrr             },
  { X86::VSUBPSZ256rm           ,     X86::VSUBPSYrm             },
  { X86::VSUBPSZ256rr           ,     X86::VSUBPSYrr             },
  { X86::VUNPCKHPDZ256rm        ,     X86::VUNPCKHPDYrm          },
  { X86::VUNPCKHPDZ256rr        ,     X86::VUNPCKHPDYrr          },
  { X86::VUNPCKHPSZ256rm        ,     X86::VUNPCKHPSYrm          },
  { X86::VUNPCKHPSZ256rr        ,     X86::VUNPCKHPSYrr          },
  { X86::VUNPCKLPDZ256rm        ,     X86::VUNPCKLPDYrm          },
  { X86::VUNPCKLPDZ256rr        ,     X86::VUNPCKLPDYrr          },
  { X86::VUNPCKLPSZ256rm        ,     X86::VUNPCKLPSYrm          },
  { X86::VUNPCKLPSZ256rr        ,     X86::VUNPCKLPSYrr          },
  { X86::VXORPDZ256rm           ,     X86::VXORPDYrm             },
  { X86::VXORPDZ256rr           ,     X86::VXORPDYrr             },
  { X86::VXORPSZ256rm           ,     X86::VXORPSYrm             },
  { X86::VXORPSZ256rr           ,     X86::VXORPSYrr             },
};

#endif