Selaa lähdekoodia

-- Zusammenführen von r42725 bis r43306 in ».«:
A tests/webtbs/tw32219.pp
U tests/utils/avx/avxopcodes.pas
U tests/utils/avx/asmtestgenerator.pas
U compiler/i386/i386tab.inc
U compiler/i386/i386nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/i8086nop.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/x8664nop.inc
U compiler/x86/aasmcpu.pas
U compiler/x86/x86ins.dat
U compiler/x86/rax86.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43306 in ».«:
U .

git-svn-id: trunk@43307 -

florian 5 vuotta sitten
vanhempi
commit
fa9c7a92c7

+ 1 - 0
.gitattributes

@@ -17663,6 +17663,7 @@ tests/webtbs/tw3216.pp svneol=native#text/plain
 tests/webtbs/tw32160.pp svneol=native#text/plain
 tests/webtbs/tw3217.pp svneol=native#text/plain
 tests/webtbs/tw32179.pp svneol=native#text/plain
+tests/webtbs/tw32219.pp svneol=native#text/plain
 tests/webtbs/tw3222.pp svneol=native#text/plain
 tests/webtbs/tw3226.pp svneol=native#text/plain
 tests/webtbs/tw3227.pp svneol=native#text/plain

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-4053;
+4012;

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 88 - 319
compiler/i386/i386tab.inc


+ 1 - 1
compiler/i8086/i8086nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-4085;
+4044;

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 88 - 319
compiler/i8086/i8086tab.inc


+ 96 - 36
compiler/x86/aasmcpu.pas

@@ -353,9 +353,9 @@ interface
         Ch : set of TInsChange;
       end;
 
-      TMemRefSizeInfo = (msiUnkown, msiUnsupported, msiNoSize,
-                         msiMultiple, msiMultiple8, msiMultiple16, msiMultiple32,
-                         msiMultiple64, msiMultiple128, msiMultiple256, msiMultiple512,
+      TMemRefSizeInfo = (msiUnknown, msiUnsupported, msiNoSize, msiNoMemRef,
+                         msiMultiple, msiMultipleMinSize8, msiMultipleMinSize16, msiMultipleMinSize32,
+                         msiMultipleMinSize64, msiMultipleMinSize128, msiMultipleminSize256, msiMultipleMinSize512,
                          msiMemRegSize, msiMemRegx16y32, msiMemRegx16y32z64, msiMemRegx32y64, msiMemRegx32y64z128, msiMemRegx64y128, msiMemRegx64y128z256,
                          msiMemRegx64y256, msiMemRegx64y256z512,
                          msiMem8, msiMem16, msiMem32, msiBMem32, msiMem64, msiBMem64, msiMem128, msiMem256, msiMem512,
@@ -367,7 +367,7 @@ interface
       TMemRefSizeInfoBCSTType = (btUnknown, bt1to2, bt1to4, bt1to8, bt1to16);
 
       TEVEXTupleState = (etsUnknown, etsIsTuple, etsNotTuple);
-      TConstSizeInfo  = (csiUnkown, csiMultiple, csiNoSize, csiMem8, csiMem16, csiMem32, csiMem64);
+      TConstSizeInfo  = (csiUnknown, csiMultiple, csiNoSize, csiMem8, csiMem16, csiMem32, csiMem64);
 
       TInsTabMemRefSizeInfoRec = record
         MemRefSize               : TMemRefSizeInfo;
@@ -381,10 +381,10 @@ interface
 
 
     const
-      MemRefMultiples: set of TMemRefSizeInfo = [msiMultiple, msiMultiple8,
-                                                 msiMultiple16, msiMultiple32,
-                                                 msiMultiple64, msiMultiple128,
-                                                 msiMultiple256, msiMultiple512,
+      MemRefMultiples: set of TMemRefSizeInfo = [msiMultiple, msiMultipleMinSize8,
+                                                 msiMultipleMinSize16, msiMultipleMinSize32,
+                                                 msiMultipleMinSize64, msiMultipleMinSize128,
+                                                 msiMultipleMinSize256, msiMultipleMinSize512,
                                                  msiVMemMultiple];
 
       MemRefSizeInfoVMems: Set of TMemRefSizeInfo = [msiXMem32, msiXMem64, msiYMem32, msiYMem64,
@@ -515,6 +515,7 @@ interface
         IF_THV,
         IF_THVM,
         IF_TOVM
+
       );
       tinsflags=set of tinsflag;
 
@@ -1620,7 +1621,7 @@ implementation
                   // special handling (opsize can different from const-size)
                   // (e.g. "pextrw  reg/m16, xmmreg, imm8" =>> opsize (16 bit), const-size (8 bit)
                   if (InsTabMemRefSizeInfoCache^[opcode].ExistsSSEAVX) and
-                     (not(InsTabMemRefSizeInfoCache^[opcode].ConstSize in [csiMultiple, csiUnkown])) then
+                     (not(InsTabMemRefSizeInfoCache^[opcode].ConstSize in [csiMultiple, csiUnknown])) then
                   begin
                     case InsTabMemRefSizeInfoCache^[opcode].ConstSize of
                       csiNoSize: ot := ot and OT_NON_SIZE or OT_IMMEDIATE;
@@ -3244,7 +3245,7 @@ implementation
             &331,&332: ;
             &325:
 {$ifdef i8086}
-              inc(len)
+                inc(len);
 {$endif i8086}
               ;
 
@@ -3270,6 +3271,9 @@ implementation
               omit_rexw:=true
 {$endif x86_64}
               ;
+            &336,
+            &337: {nothing};
+
             &100..&227 :
               begin
 {$ifdef x86_64}
@@ -3505,7 +3509,9 @@ implementation
        * \332	       - disassemble a rep (0xF3 byte) prefix as repe not rep.
        * \333          - 0xF3 prefix for SSE instructions
        * \334          - 0xF2 prefix for SSE instructions
-       * \335          - Indicates 64-bit operand size with REX.W not necessary
+       * \335          - Indicates 64-bit operand size with REX.W not necessary / 64-bit scalar vector operand size
+       * \336          - Indicates 32-bit scalar vector operand size
+       * \337          - Indicates 64-bit scalar vector operand size
 
        * \350          - EVEX prefix for AVX instructions
        * \351          - EVEX Vector length 512
@@ -3690,6 +3696,7 @@ implementation
         data,s,opidx : longint;
         ea_data : ea;
         relsym : TObjSymbol;
+
         needed_VEX_Extension: boolean;
         needed_VEX: boolean;
         needed_EVEX: boolean;
@@ -4410,7 +4417,7 @@ implementation
             &323 : {no action needed};
             &325:
 {$ifdef i8086}
-              write0x66prefix(objdata);
+               write0x66prefix(objdata);
 {$else i8086}
               {no action needed};
 {$endif i8086}
@@ -4447,6 +4454,8 @@ implementation
               end;
             &335:
               ;
+            &336: ; // indicates 32-bit scalar vector operand {no action needed}
+            &337: ; // indicates 64-bit scalar vector operand {no action needed}
             &312,
             &327,
             &331,&332 :
@@ -4925,8 +4934,12 @@ implementation
       RegBCSTXMMSizeMask: int64;
       RegBCSTYMMSizeMask: int64;
       RegBCSTZMMSizeMask: int64;
+      ExistsMemRef      : boolean;
 
-      bitcount: integer;
+      bitcount          : integer;
+      ExistsCode336     : boolean;
+      ExistsCode337     : boolean;
+      ExistsSSEAVXReg   : boolean;
 
       function bitcnt(aValue: int64): integer;
       var
@@ -4955,10 +4968,10 @@ implementation
 
         if i >= 0 then
         begin
-          InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize           := msiUnkown;
+          InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize           := msiUnknown;
           InsTabMemRefSizeInfoCache^[AsmOp].MemRefSizeBCST       := msbUnknown;
           InsTabMemRefSizeInfoCache^[AsmOp].BCSTXMMMultiplicator := 0;
-          InsTabMemRefSizeInfoCache^[AsmOp].ConstSize            := csiUnkown;
+          InsTabMemRefSizeInfoCache^[AsmOp].ConstSize            := csiUnknown;
           InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX         := false;
           InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes            := [];
 
@@ -4977,10 +4990,11 @@ implementation
           RegBCSTXMMSizeMask := 0;
           RegBCSTYMMSizeMask := 0;
           RegBCSTZMMSizeMask := 0;
+          ExistsMemRef       := false;
 
           while (insentry^.opcode=AsmOp) do
           begin
-            MRefInfo         := msiUnkown;
+            MRefInfo         := msiUnknown;
 
             actRegSize       := 0;
             actRegCount      := 0;
@@ -4997,6 +5011,34 @@ implementation
             actConstSize     := 0;
             actConstCount    := 0;
 
+            ExistsCode336   := false; // indicate fixed operand size 32 bit
+            ExistsCode337   := false; // indicate fixed operand size 64 bit
+            ExistsSSEAVXReg := false;
+
+            // parse insentry^.code for &336 and &337
+            // &336 (octal) = 222 (decimal) == fixed operand size 32 bit
+            // &337 (octal) = 223 (decimal) == fixed operand size 64 bit
+            for i := low(insentry^.code) to high(insentry^.code) do
+            begin
+              case insentry^.code[i] of
+                #222: ExistsCode336 := true;
+                #223: ExistsCode337 := true;
+                #0,#1,#2,#3: break;
+              end;
+            end;
+
+            for i := 0 to insentry^.ops -1 do
+            begin
+              if (insentry^.optypes[i] and OT_REGISTER) = OT_REGISTER then
+               case insentry^.optypes[i] and (OT_XMMREG or OT_YMMREG or OT_ZMMREG or OT_KREG or OT_REG_EXTRA_MASK) of
+                  OT_XMMREG,
+                  OT_YMMREG,
+                  OT_ZMMREG: ExistsSSEAVXReg := true;
+                        else;
+               end;
+            end;
+
+
             for j := 0 to insentry^.ops -1 do
             begin
               if ((insentry^.optypes[j] and OT_XMEM32) = OT_XMEM32) OR
@@ -5056,7 +5098,14 @@ implementation
                 begin
                   inc(actMemCount);
 
-                  actMemSize:=actMemSize or (insentry^.optypes[j] and (OT_SIZE_MASK OR OT_VECTORBCST));
+
+                  if ExistsSSEAVXReg and ExistsCode336 then
+                    actMemSize := actMemSize or OT_BITS32
+                  else if ExistsSSEAVXReg and ExistsCode337 then
+                    actMemSize := actMemSize or OT_BITS64
+                  else
+                    actMemSize:=actMemSize or (insentry^.optypes[j] and (OT_SIZE_MASK OR OT_VECTORBCST));
+
                   if (insentry^.optypes[j] and OT_REGMEM) = OT_REGMEM then
                     begin
                       actRegMemTypes  := actRegMemTypes or insentry^.optypes[j];
@@ -5081,7 +5130,7 @@ implementation
                 else SConstInfo := csiMultiple;
               end;
 
-              if InsTabMemRefSizeInfoCache^[AsmOp].ConstSize = csiUnkown then
+              if InsTabMemRefSizeInfoCache^[AsmOp].ConstSize = csiUnknown then
               begin
                 InsTabMemRefSizeInfoCache^[AsmOp].ConstSize := SConstInfo;
               end
@@ -5140,7 +5189,7 @@ implementation
                   end;
 
 
-                  if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnkown then
+                  if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnknown then
                   begin
                     InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := MRefInfo;
                   end
@@ -5161,16 +5210,20 @@ implementation
               begin
                 if (actMemCount=2) and ((AsmOp=A_MOVS) or (AsmOp=A_CMPS)) then actMemCount:=1;
 
+                ExistsMemRef := ExistsMemRef or (actMemCount > 0);
+
                 case actMemCount of
                   0: ; // nothing todo
                   1: begin
-                       MRefInfo := msiUnkown;
-                       case actRegMemTypes and (OT_MMXRM or OT_XMMRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK) of
-                         OT_MMXRM: actMemSize := actMemSize or OT_BITS64;
-                         OT_XMMRM: actMemSize := actMemSize or OT_BITS128;
-                         OT_YMMRM: actMemSize := actMemSize or OT_BITS256;
-                         OT_ZMMRM: actMemSize := actMemSize or OT_BITS512;
-                       end;
+                       MRefInfo := msiUnknown;
+
+                       if not(ExistsCode336 or ExistsCode337) then
+                         case actRegMemTypes and (OT_MMXRM or OT_XMMRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK) of
+                           OT_MMXRM: actMemSize := actMemSize or OT_BITS64;
+                           OT_XMMRM: actMemSize := actMemSize or OT_BITS128;
+                           OT_YMMRM: actMemSize := actMemSize or OT_BITS256;
+                           OT_ZMMRM: actMemSize := actMemSize or OT_BITS512;
+                         end;
 
                        case actMemSize of
                                   0: MRefInfo := msiNoSize;
@@ -5196,7 +5249,7 @@ implementation
                            end;
                        end;
 
-                       if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnkown then
+                       if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnknown then
                          begin
                            InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := MRefInfo;
                          end
@@ -5209,13 +5262,13 @@ implementation
                            begin
                              with InsTabMemRefSizeInfoCache^[AsmOp] do
                              begin
-                               if ((MemRefSize = msiMem8)        OR (MRefInfo = msiMem8))   then MemRefSize := msiMultiple8
-                               else if ((MemRefSize = msiMem16)  OR (MRefInfo = msiMem16))  then MemRefSize := msiMultiple16
-                               else if ((MemRefSize = msiMem32)  OR (MRefInfo = msiMem32))  then MemRefSize := msiMultiple32
-                               else if ((MemRefSize = msiMem64)  OR (MRefInfo = msiMem64))  then MemRefSize := msiMultiple64
-                               else if ((MemRefSize = msiMem128) OR (MRefInfo = msiMem128)) then MemRefSize := msiMultiple128
-                               else if ((MemRefSize = msiMem256) OR (MRefInfo = msiMem256)) then MemRefSize := msiMultiple256
-                               else if ((MemRefSize = msiMem512) OR (MRefInfo = msiMem512)) then MemRefSize := msiMultiple512
+                               if ((MemRefSize in [msiMem8, msiMULTIPLEMinSize8]) OR (MRefInfo = msiMem8))   then MemRefSize := msiMultipleMinSize8
+                               else if ((MemRefSize in [ msiMem16,  msiMULTIPLEMinSize16])  OR (MRefInfo =  msiMem16)) then MemRefSize := msiMultipleMinSize16
+                               else if ((MemRefSize in [ msiMem32,  msiMULTIPLEMinSize32])  OR (MRefInfo =  msiMem32)) then MemRefSize := msiMultipleMinSize32
+                               else if ((MemRefSize in [ msiMem64,  msiMULTIPLEMinSize64])  OR (MRefInfo =  msiMem64)) then MemRefSize := msiMultipleMinSize64
+                               else if ((MemRefSize in [msiMem128, msiMULTIPLEMinSize128])  OR (MRefInfo = msiMem128)) then MemRefSize := msiMultipleMinSize128
+                               else if ((MemRefSize in [msiMem256, msiMULTIPLEMinSize256])  OR (MRefInfo = msiMem256)) then MemRefSize := msiMultipleMinSize256
+                               else if ((MemRefSize in [msiMem512, msiMULTIPLEMinSize512])  OR (MRefInfo = msiMem512)) then MemRefSize := msiMultipleMinSize512
                                else MemRefSize := msiMultiple;
                              end;
                            end;
@@ -5426,6 +5479,12 @@ implementation
               InternalError(777205);
             end;
 
+          end
+          else if (InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX) and
+                  (InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnknown) and
+                  (not(ExistsMemRef)) then
+          begin
+            InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiNoMemRef;
           end;
         end;
       end;
@@ -5437,8 +5496,8 @@ implementation
         // only supported intructiones with SSE- or AVX-operands
         if not(InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX) then
         begin
-          InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize  := msiUnkown;
-          InsTabMemRefSizeInfoCache^[AsmOp].ConstSize   := csiUnkown;
+          InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize  := msiUnknown;
+          InsTabMemRefSizeInfoCache^[AsmOp].ConstSize   := csiUnknown;
         end;
       end;
     end;
@@ -5451,6 +5510,7 @@ implementation
 
         if not assigned(InsTabMemRefSizeInfoCache) then
           BuildInsTabMemRefSizeInfoCache;
+
       end;
 
 

+ 63 - 44
compiler/x86/rax86.pas

@@ -524,21 +524,12 @@ begin
           end
           else
           case MemRefInfo(opcode).MemRefSize of
-            msiMultiple8,
             msiMem8: memrefsize := 8;
-            msiMultiple16,
             msiMem16: memrefsize := 16;
-            msiMultiple32,
             msiMem32: memrefsize := 32;
-            //msiXMem64,
-            //msiYMem64,
-            msiMultiple64,
             msiMem64: memrefsize := 64;
-            msiMultiple128,
             msiMem128: memrefsize := 128;
-            msiMultiple256,
             msiMem256: memrefsize := 256;
-            msiMultiple512,
             msiMem512: memrefsize := 512;
             msiMemRegx16y32:
               begin
@@ -706,8 +697,16 @@ begin
             msiYMem64,
             msiZMem64: ; // ignore;  gather/scatter opcodes haven a fixed element-size, not a fixed memory-size
                          // the vector-register have indices with base of the memory-address in the memory-operand
+            msiMultipleMinSize8,
+            msiMultipleMinSize16,
+            msiMultipleMinSize32,
+            msiMultipleMinSize64,
+            msiMultipleMinSize128,
+            msiMultipleMinSize256,
+            msiMultipleMinSize512: ; // ignore
             msiNoSize,
-            msiUnkown,
+            msiNoMemRef,
+            msiUnknown,
             msiUnsupported,
             msiVMemMultiple,
             msiVMemRegSize,
@@ -737,7 +736,25 @@ begin
                 ;
             end;
 
-            if memopsize = 0 then memopsize := topsize2memsize[tx86operand(operands[i]).opsize];
+            //if memopsize = 0 then memopsize := topsize2memsize[tx86operand(operands[i]).opsize];
+
+            if memopsize = 0 then
+            begin
+              {$ifdef i386}
+                { 64-bit operands are allowed for SSE and AVX instructions, so
+                  go by the byte size instead for these families of opcodes }
+                if (MemRefInfo(opcode).ExistsSSEAVX) then
+                begin
+                  memopsize := tx86operand(operands[i]).typesize * 8;
+                  if tx86operand(operands[i]).typesize = 8 then
+                  { Will be S_L otherwise and won't be corrected in time }
+                   tx86operand(operands[i]).opsize := S_Q;
+                end
+                else
+              {$endif i386}
+                memopsize := topsize2memsize[tx86operand(operands[i]).opsize];
+            end;
+
 
             if (memopsize > 0) and
                (memrefsize > 0) then
@@ -759,30 +776,32 @@ begin
                          std_op2str[opcode],
                          ToStr(memoffset));
               end
-              else if (memopsize < (memrefsize + memoffset * 8)) then
+              else if ((tx86operand(operands[i]).hastype) and (memopsize < memrefsize)) or
+                      (memopsize < (memrefsize + memoffset * 8)) then
               begin
-                if memoffset = 0 then
+                if memopsize < memrefsize then
                 begin
-                  Message3(asmr_w_check_mem_operand_size3,
-                           std_op2str[opcode],
-                           ToStr(memopsize),
-                           ToStr(memrefsize)
-                           );
-                end
-                else
-                begin
-                  Message4(asmr_w_check_mem_operand_size_offset,
-                           std_op2str[opcode],
-                           ToStr(memopsize),
-                           ToStr(memrefsize),
-                           ToStr(memoffset)
-                           );
+                  if memoffset = 0 then
+                  begin
+                    Message3(asmr_w_check_mem_operand_size3,
+                             std_op2str[opcode],
+                             ToStr(memopsize),
+                             ToStr(memrefsize)
+                             );
+                  end
+                  else
+                  begin
+                    Message4(asmr_w_check_mem_operand_size_offset,
+                             std_op2str[opcode],
+                             ToStr(memopsize),
+                             ToStr(memrefsize),
+                             ToStr(memoffset)
+                             );
+                  end;
                 end;
               end;
             end;
           end;
-
-
         end;
       end;
     end;
@@ -821,7 +840,7 @@ begin
                                 tx86operand(operands[i]).opsize := S_B;
                                 tx86operand(operands[i]).size   := OS_8;
                               end;
-                      msiMultiple8:
+                      msiMultipleMinSize8:
                               begin
                                 tx86operand(operands[i]).opsize := S_B;
                                 tx86operand(operands[i]).size   := OS_8;
@@ -833,7 +852,7 @@ begin
                                 tx86operand(operands[i]).opsize := S_W;
                                 tx86operand(operands[i]).size   := OS_16;
                               end;
-                      msiMultiple16:
+                      msiMultipleMinSize16:
                                begin
                                  tx86operand(operands[i]).opsize := S_W;
                                  tx86operand(operands[i]).size   := OS_16;
@@ -845,7 +864,7 @@ begin
                                  tx86operand(operands[i]).opsize := S_L;
                                  tx86operand(operands[i]).size   := OS_32;
                                end;
-                      msiMultiple32:
+                      msiMultipleMinSize32:
                                begin
                                  tx86operand(operands[i]).opsize := S_L;
                                  tx86operand(operands[i]).size   := OS_32;
@@ -857,7 +876,7 @@ begin
                                  tx86operand(operands[i]).opsize := S_Q;
                                  tx86operand(operands[i]).size   := OS_M64;
                                end;
-                      msiMultiple64:
+                      msiMultipleMinSize64:
                                begin
                                  tx86operand(operands[i]).opsize := S_Q;
                                  tx86operand(operands[i]).size   := OS_M64;
@@ -869,7 +888,7 @@ begin
                                  tx86operand(operands[i]).opsize := S_XMM;
                                  tx86operand(operands[i]).size   := OS_M128;
                                end;
-                      msiMultiple128:
+                      msiMultipleMinSize128:
                                begin
                                  tx86operand(operands[i]).opsize := S_XMM;
                                  tx86operand(operands[i]).size   := OS_M128;
@@ -882,7 +901,7 @@ begin
                                  tx86operand(operands[i]).size   := OS_M256;
                                  opsize := S_YMM;
                                end;
-                      msiMultiple256:
+                      msiMultipleMinSize256:
                                begin
                                  tx86operand(operands[i]).opsize := S_YMM;
                                  tx86operand(operands[i]).size   := OS_M256;
@@ -896,7 +915,7 @@ begin
                                  tx86operand(operands[i]).size   := OS_M512;
                                  opsize := S_ZMM;
                                end;
-                      msiMultiple512:
+                      msiMultipleMinSize512:
                                begin
                                  tx86operand(operands[i]).opsize := S_ZMM;
                                  tx86operand(operands[i]).size   := OS_M512;
@@ -1182,9 +1201,10 @@ begin
                    msiZMem64: ; // ignore;  gather/scatter opcodes haven a fixed element-size, not a fixed memory-size
                                 // the vector-register have indices with base of the memory-address in the memory-operand
                    msiNoSize: ; //  all memory-sizes are ok
+                   msiNoMemRef:; // ignore;
                    msiVMemMultiple,
                    msiVMemRegSize: ;  // ignore
-                   msiUnkown,
+                   msiUnknown,
                    msiUnsupported,
                    msiMultiple: Message(asmr_e_unable_to_determine_reference_size); // TODO individual message
                   else
@@ -1215,7 +1235,7 @@ begin
                               internalerror(2019050910);
                             end;
 {$endif}
-                  csiUnkown, csiMultiple, csiNoSize:
+                  csiUnknown, csiMultiple, csiNoSize:
                     ;
                 end;
           else
@@ -1869,14 +1889,13 @@ begin
                      asize:=OT_BITS32;
                    OS_64,OS_S64:
                      begin
-                       { Only FPU operations know about 64bit values, for all
-                         integer operations it is seen as 32bit
+                       { Only FPU and SSE/AVX operations know about 64bit
+                         values, for all integer operations it is seen as 32bit
 
-                         this applies only to i386, see tw16622}
+                          this applies only to i386, see tw16622}
 
-                       if gas_needsuffix[opcode] in [attsufFPU,attsufFPUint] then
-                         asize:=OT_BITS64
-                          else if MemRefInfo(opcode).ExistsSSEAVX then asize:=OT_BITS64
+                       if (gas_needsuffix[opcode] in [attsufFPU,attsufFPUint]) or (MemRefInfo(opcode).ExistsSSEAVX) then
+                        asize:=OT_BITS64
 {$ifdef i386}
                        else
                          asize:=OT_BITS32

+ 140 - 177
compiler/x86/x86ins.dat

@@ -2239,7 +2239,7 @@ xmmreg,xmmrm          \331\2\x0F\x58\110              KATMAI,SSE
 
 [ADDSS]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x58\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x58\110              KATMAI,SSE
 
 [ANDNPS]
 (Ch_Mop2, Ch_Rop1)
@@ -2255,7 +2255,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x00        KATMAI,SSE
 
 [CMPEQSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x00        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x00        KATMAI,SSE
 
 [CMPLEPS]
 (Ch_All)
@@ -2263,7 +2263,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x02        KATMAI,SSE
 
 [CMPLESS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x02        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x02        KATMAI,SSE
 
 [CMPLTPS]
 (Ch_All)
@@ -2271,7 +2271,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x01        KATMAI,SSE
 
 [CMPLTSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x01        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x01        KATMAI,SSE
 
 [CMPNEQPS]
 (Ch_All)
@@ -2279,7 +2279,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x04        KATMAI,SSE
 
 [CMPNEQSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x04        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x04        KATMAI,SSE
 
 [CMPNLEPS]
 (Ch_All)
@@ -2287,7 +2287,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x06        KATMAI,SSE
 
 [CMPNLESS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x06        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x06        KATMAI,SSE
 
 [CMPNLTPS]
 (Ch_All)
@@ -2295,7 +2295,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x05        KATMAI,SSE
 
 [CMPNLTSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x05        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x05        KATMAI,SSE
 
 [CMPORDPS]
 (Ch_All)
@@ -2303,7 +2303,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x07        KATMAI,SSE
 
 [CMPORDSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x07        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x07        KATMAI,SSE
 
 [CMPUNORDPS]
 (Ch_All)
@@ -2311,7 +2311,7 @@ xmmreg,xmmrm          \331\2\x0F\xC2\110\1\x03        KATMAI,SSE
 
 [CMPUNORDSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\xC2\110\1\x03        KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\xC2\110\1\x03        KATMAI,SSE
 
 ;
 ; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the
@@ -2324,11 +2324,11 @@ xmmreg,xmmrm,imm      \331\2\x0F\xC2\110\22           KATMAI,SSE,SB,AR2
 
 [CMPSS]
 (Ch_All)
-xmmreg,xmmrm,imm      \333\2\x0F\xC2\110\22           KATMAI,SSE,SB,AR2
+xmmreg,xmmrm,imm      \336\333\2\x0F\xC2\110\22           KATMAI,SSE,SB,AR2;SCL32
 
 [COMISS]
 (Ch_Rop1, Ch_Rop2, Ch_WFlags)
-xmmreg,xmmrm          \2\x0F\x2F\110                  KATMAI,SSE
+xmmreg,xmmrm          \336\2\x0F\x2F\110                  KATMAI,SSE
 
 [CVTPI2PS]
 (Ch_Wop2, Ch_Rop1)
@@ -2365,7 +2365,7 @@ xmmreg,xmmrm          \331\2\x0F\x5E\110              KATMAI,SSE
 
 [DIVSS]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x5E\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x5E\110              KATMAI,SSE
 
 [LDMXCSR]
 (Ch_All)
@@ -2377,7 +2377,7 @@ xmmreg,xmmrm          \331\2\x0F\x5F\110              KATMAI,SSE
 
 [MAXSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\x5F\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x5F\110              KATMAI,SSE
 
 [MINPS]
 (Ch_All)
@@ -2385,7 +2385,7 @@ xmmreg,xmmrm          \331\2\x0F\x5D\110              KATMAI,SSE
 
 [MINSS]
 (Ch_All)
-xmmreg,xmmrm          \333\2\x0F\x5D\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x5D\110              KATMAI,SSE
 
 [MOVAPS]
 (Ch_ROp1, Ch_WOp2)
@@ -2436,7 +2436,7 @@ xmmreg,xmmrm          \2\x0F\x59\110                  KATMAI,SSE
 
 [MULSS]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x59\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x59\110              KATMAI,SSE
 
 [ORPS]
 (Ch_Mop2, Ch_Rop1)
@@ -2448,7 +2448,7 @@ xmmreg,xmmrm          \331\2\x0F\x53\110              KATMAI,SSE
 
 [RCPSS]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x53\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x53\110              KATMAI,SSE
 
 [RSQRTPS]
 (Ch_Wop2, Ch_Rop1)
@@ -2456,7 +2456,7 @@ xmmreg,xmmrm          \331\2\x0F\x52\110              KATMAI,SSE
 
 [RSQRTSS]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x52\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x52\110              KATMAI,SSE
 
 [SHUFPS]
 (Ch_Mop3, Ch_Rop2)
@@ -2468,7 +2468,7 @@ xmmreg,xmmrm          \331\2\x0F\x51\110              KATMAI,SSE
 
 [SQRTSS]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x51\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x51\110              KATMAI,SSE
 
 [STMXCSR]
 (Ch_All)
@@ -2480,11 +2480,11 @@ xmmreg,xmmrm          \331\2\x0F\x5C\110              KATMAI,SSE
 
 [SUBSS]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm          \333\2\x0F\x5C\110              KATMAI,SSE
+xmmreg,xmmrm          \336\333\2\x0F\x5C\110              KATMAI,SSE
 
 [UCOMISS]
 (Ch_Rop1, Ch_Rop2, Ch_WZeroFlag, Ch_WParityFlag, Ch_WCarryFlag, Ch_W0OverflowFlag, Ch_W0SignFlag, Ch_W0AuxiliaryFlag)
-xmmreg,xmmrm          \2\x0F\x2E\110                  KATMAI,SSE
+xmmreg,xmmrm          \336\2\x0F\x2E\110                  KATMAI,SSE
 
 [UNPCKHPS]
 (Ch_Mop2, Ch_Rop1)
@@ -2747,7 +2747,7 @@ xmmreg,xmmrm            \361\2\x0F\x58\110              WILLAMETTE,SSE2,SM
 
 [ADDSD]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm            \334\2\x0F\x58\110              WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\335\334\2\x0F\x58\110      WILLAMETTE,SSE2
 
 [ANDNPD]
 (Ch_Mop2, Ch_Rop1)
@@ -2764,7 +2764,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x00        WILLAMETTE,SSE2,SM
 ; note: no SM flag on CMPxxSD, they use 64-bit memory location, not 128-bit
 [CMPEQSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x00        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x00        WILLAMETTE,SSE2
 
 [CMPLEPD]
 (Ch_All)
@@ -2772,7 +2772,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x02        WILLAMETTE,SSE2,SM
 
 [CMPLESD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x02        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x02        WILLAMETTE,SSE2
 
 [CMPLTPD]
 (Ch_All)
@@ -2780,7 +2780,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x01        WILLAMETTE,SSE2,SM
 
 [CMPLTSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x01        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x01        WILLAMETTE,SSE2
 
 [CMPNEQPD]
 (Ch_All)
@@ -2788,7 +2788,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x04        WILLAMETTE,SSE2,SM
 
 [CMPNEQSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x04        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x04        WILLAMETTE,SSE2
 
 [CMPNLEPD]
 (Ch_All)
@@ -2796,7 +2796,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x06        WILLAMETTE,SSE2,SM
 
 [CMPNLESD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x06        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x06        WILLAMETTE,SSE2
 
 [CMPNLTPD]
 (Ch_All)
@@ -2804,7 +2804,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x05        WILLAMETTE,SSE2,SM
 
 [CMPNLTSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x05        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x05        WILLAMETTE,SSE2
 
 [CMPORDPD]
 (Ch_All)
@@ -2812,7 +2812,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x07        WILLAMETTE,SSE2,SM
 
 [CMPORDSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x07        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x07        WILLAMETTE,SSE2
 
 [CMPUNORDPD]
 (Ch_All)
@@ -2820,7 +2820,7 @@ xmmreg,xmmrm            \361\2\x0F\xC2\110\1\x03        WILLAMETTE,SSE2,SM
 
 [CMPUNORDSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\xC2\110\1\x03        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\xC2\110\1\x03        WILLAMETTE,SSE2
 
 ; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the
 ; specific ops first and only disassemble illegal ones as cmppd/cmpsd.
@@ -2830,7 +2830,7 @@ xmmreg,xmmrm,imm        \361\2\x0F\xC2\110\26           WILLAMETTE,SSE2,SM2,SB,A
 
 [COMISD]
 (Ch_Rop1, Ch_Rop2, Ch_WFlags)
-xmmreg,xmmrm            \361\2\x0F\x2F\110              WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\361\2\x0F\x2F\110              WILLAMETTE,SSE2
 
 [CVTDQ2PD]
 (Ch_Wop2, Ch_Rop1)
@@ -2911,7 +2911,7 @@ xmmreg,xmmrm            \361\2\x0F\x5E\110            WILLAMETTE,SSE2,SM
 
 [DIVSD]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm            \334\2\x0F\x5E\110          WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x5E\110          WILLAMETTE,SSE2
 
 [MAXPD]
 (Ch_All)
@@ -2919,7 +2919,7 @@ xmmreg,xmmrm            \361\2\x0F\x5F\110          WILLAMETTE,SSE2,SM
 
 [MAXSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\x5F\110          WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x5F\110          WILLAMETTE,SSE2
 
 [MINPD]
 (Ch_All)
@@ -2927,7 +2927,7 @@ xmmreg,xmmrm            \361\2\x0F\x5D\110          WILLAMETTE,SSE2,SM
 
 [MINSD]
 (Ch_All)
-xmmreg,xmmrm            \334\2\x0F\x5D\110          WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x5D\110          WILLAMETTE,SSE2
 
 [MOVAPD]
 (Ch_ROp1, Ch_WOp2)
@@ -2959,7 +2959,7 @@ xmmreg,xmmrm            \361\2\x0F\x59\110        WILLAMETTE,SSE2,SM
 
 [MULSD]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm            \334\2\x0F\x59\110        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x59\110        WILLAMETTE,SSE2
 
 [ORPD]
 (Ch_Mop2, Ch_Rop1)
@@ -2975,7 +2975,7 @@ xmmreg,xmmrm            \361\2\x0F\x51\110        WILLAMETTE,SSE2,SM
 
 [SQRTSD]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm            \334\2\x0F\x51\110        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x51\110        WILLAMETTE,SSE2
 
 
 [SUBPD]
@@ -2984,11 +2984,11 @@ xmmreg,xmmrm            \361\2\x0F\x5C\110        WILLAMETTE,SSE2,SM
 
 [SUBSD]
 (Ch_Mop2, Ch_Rop1)
-xmmreg,xmmrm            \334\2\x0F\x5C\110        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\334\2\x0F\x5C\110        WILLAMETTE,SSE2
 
 [UCOMISD]
 (Ch_Rop1, Ch_Rop2, Ch_WZeroFlag, Ch_WParityFlag, Ch_WCarryFlag, Ch_W0OverflowFlag, Ch_W0SignFlag, Ch_W0AuxiliaryFlag)
-xmmreg,xmmrm            \361\2\x0F\x2E\110        WILLAMETTE,SSE2
+xmmreg,xmmrm            \337\361\2\x0F\x2E\110        WILLAMETTE,SSE2
 
 [UNPCKHPD]
 (Ch_All)
@@ -3186,11 +3186,11 @@ mem                   \326\2\x0F\xC7\201              X86_64
 ;
 [MOVNTSS]
 (Ch_All)
-mem,xmmreg              \333\2\x0F\x2B\101                        SSE4,SD
+mem,xmmreg              \336\333\2\x0F\x2B\101                   SSE4,SD
 
 [MOVNTSD]
 (Ch_All)
-mem,xmmreg              \334\325\2\x0F\x2B\101                SSE4 ;,SQ
+mem,xmmreg              \337\334\325\2\x0F\x2B\101                SSE4 ;,SQ
 
 [INSERTQ]
 (Ch_All)
@@ -3488,11 +3488,11 @@ xmmreg,xmmrm,imm      \361\3\x0F\x3A\x09\110\26            SSE41,SM2,SB,AR2
 
 [ROUNDSS]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm,imm      \361\3\x0F\x3A\x0A\110\26            SSE41,SM2,SB,AR2
+xmmreg,xmmrm,imm      \336\361\3\x0F\x3A\x0A\110\26            SSE41,SM2,SB,AR2
 
 [ROUNDSD]
 (Ch_Wop2, Ch_Rop1)
-xmmreg,xmmrm,imm      \361\3\x0F\x3A\x0B\110\26            SSE41,SM2,SB,AR2
+xmmreg,xmmrm,imm      \337\361\3\x0F\x3A\x0B\110\26            SSE41,SM2,SB,AR2
 
 ;*******************************************************************************
 ;**********SSE4.2***************************************************************
@@ -3627,7 +3627,7 @@ zmmreg_mz,zmmreg,bmem32              \350\351\370\1\x58\75\120                AV
 
 [VADDSD]
 (Ch_Wop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \334\350\352\362\370\1\x58\75\120         AVX,SANDYBRIDGE,T1S
+xmmreg_mz,xmmreg,mem64                    \337\334\350\352\362\370\1\x58\75\120         AVX,SANDYBRIDGE,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \334\350\352\362\370\1\x58\75\120         AVX,SANDYBRIDGE
 
 
@@ -4128,8 +4128,7 @@ xmmreg,xmmreg,mem64,imm8                  \334\362\370\1\xC2\75\120\27
 (Ch_All)
 kreg_m,xmmreg,mem32,imm8                  \333\350\370\1\xC2\75\120\27              AVX512,T1S
 kreg_m,xmmreg,xmmreg_sae,imm8             \333\350\370\1\xC2\75\120\27              AVX512
-xmmreg,xmmreg,xmmreg,imm8                 \333\362\370\1\xC2\75\120\27              AVX,SANDYBRIDGE
-xmmreg,xmmreg,mem64,imm8                  \333\362\370\1\xC2\75\120\27              AVX,SANDYBRIDGE
+xmmreg,xmmreg,xmmrm,imm8                  \336\333\362\370\1\xC2\75\120\27          AVX,SANDYBRIDGE
 
 [VCOMISD]
 (Ch_Rop1, Ch_Rop2, Ch_WFlags)
@@ -4170,25 +4169,25 @@ zmmreg_mz,zmmreg_er                       \350\351\370\1\x5B\110
 
 [VCVTPD2DQ,vcvtpd2dqM]
 (Ch_Wop2, Ch_Rop1)
-xmmreg_mz,mem128                          \334\350\352\362\370\1\xE6\110            AVX,SANDYBRIDGE,TFV
-xmmreg_mz,mem256                          \334\350\352\362\364\370\1\xE6\110        AVX,SANDYBRIDGE,TFV
-xmmreg_mz,xmmreg                          \334\350\352\362\370\1\xE6\110            AVX,SANDYBRIDGE
+xmmreg_mz,xmmrm                           \334\350\352\362\370\1\xE6\110            AVX,SANDYBRIDGE,TFV
+xmmreg_mz,ymmrm                           \334\350\352\362\364\370\1\xE6\110        AVX,SANDYBRIDGE,TFV
 xmmreg_mz,bmem64                          \334\350\352\370\1\xE6\110                AVX512,BCST2,TFV
 xmmreg_mz,bmem64                          \334\350\352\364\370\1\xE6\110            AVX512,BCST4,TFV
-xmmreg_mz,ymmreg                          \334\350\352\362\364\370\1\xE6\110        AVX,SANDYBRIDGE
+
 ymmreg_mz,mem512                          \334\350\351\352\370\1\xE6\110            AVX512,TFV
 ymmreg_mz,bmem64                          \334\350\351\352\370\1\xE6\110            AVX512,BCST8,TFV
 ymmreg_mz,zmmreg_er                       \334\350\351\352\370\1\xE6\110            AVX512
 
 
+; VCVTPD2PS xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
+;                                              map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm 
 [VCVTPD2PS,vcvtpd2psM]
 (Ch_Wop2, Ch_Rop1)
-xmmreg_mz,mem128                          \350\352\361\362\370\1\x5A\110            AVX,SANDYBRIDGE,TFV
 xmmreg_mz,mem256                          \350\352\361\362\364\370\1\x5A\110        AVX,SANDYBRIDGE,TFV
-xmmreg_mz,xmmreg                          \350\352\361\362\370\1\x5A\110            AVX,SANDYBRIDGE
+xmmreg_mz,ymmreg                          \350\352\361\362\364\370\1\x5A\110        AVX,SANDYBRIDGE
+xmmreg_mz,xmmrm                           \350\352\361\362\370\1\x5A\110            AVX,SANDYBRIDGE,TFV
 xmmreg_mz,bmem64                          \350\352\361\370\1\x5A\110                AVX512,BCST2,TFV
 xmmreg_mz,bmem64                          \350\352\361\364\370\1\x5A\110            AVX512,BCST4,TFV
-xmmreg_mz,ymmreg                          \350\352\361\362\364\370\1\x5A\110        AVX,SANDYBRIDGE
 ymmreg_mz,mem512                          \350\351\352\361\370\1\x5A\110            AVX512,TFV
 ymmreg_mz,bmem64                          \350\351\352\361\370\1\x5A\110            AVX512,BCST8,TFV
 ymmreg_mz,zmmreg_er                       \350\351\352\361\370\1\x5A\110            AVX512
@@ -4205,11 +4204,9 @@ zmmreg_mz,ymmreg_sae                      \350\351\361\371\1\x13\110
 
 [VCVTPS2DQ]
 (Ch_Wop2, Ch_Rop1)
-xmmreg_mz,mem128                          \350\361\362\370\1\x5B\110                AVX,SANDYBRIDGE,TFV
-xmmreg_mz,xmmreg                          \350\361\362\370\1\x5B\110                AVX,SANDYBRIDGE
+xmmreg_mz,xmmrm                           \350\361\362\370\1\x5B\110                AVX,SANDYBRIDGE,TFV
+ymmreg_mz,ymmrm                           \350\361\362\364\370\1\x5B\110            AVX,SANDYBRIDGE,TFV
 xmmreg_mz,bmem32                          \350\361\370\1\x5B\110                    AVX512,TFV
-ymmreg_mz,mem256                          \350\361\362\364\370\1\x5B\110            AVX,SANDYBRIDGE,TFV
-ymmreg_mz,ymmreg                          \350\361\362\364\370\1\x5B\110            AVX,SANDYBRIDGE
 ymmreg_mz,bmem32                          \350\361\364\370\1\x5B\110                AVX512,TFV
 zmmreg_mz,mem512                          \350\351\361\370\1\x5B\110                AVX512,TFV
 zmmreg_mz,bmem32                          \350\351\361\370\1\x5B\110                AVX512,TFV
@@ -4221,8 +4218,7 @@ zmmreg_mz,zmmreg_er                       \350\351\361\370\1\x5B\110
 xmmreg_mz,mem64                           \350\362\370\1\x5A\110                    AVX,SANDYBRIDGE,THV
 xmmreg_mz,xmmreg                          \350\362\370\1\x5A\110                    AVX,SANDYBRIDGE
 xmmreg_mz,bmem32                          \350\370\1\x5A\110                        AVX512,BCST2,THV
-ymmreg_mz,mem128                          \350\362\364\370\1\x5A\110                AVX,SANDYBRIDGE,THV
-ymmreg_mz,xmmreg                          \350\362\364\370\1\x5A\110                AVX,SANDYBRIDGE
+ymmreg_mz,xmmrm                           \350\362\364\370\1\x5A\110                AVX,SANDYBRIDGE,THV
 ymmreg_mz,bmem32                          \350\364\370\1\x5A\110                    AVX512,BCST4,THV
 zmmreg_mz,mem256                          \350\351\370\1\x5A\110                    AVX512,THV
 zmmreg_mz,ymmreg_sae                      \350\351\370\1\x5A\110                    AVX512
@@ -4282,15 +4278,15 @@ reg32,xmmreg_er                           \333\350\362\370\1\x2D\110
 reg64,mem32                               \333\350\352\362\363\370\1\x2D\110        AVX,SANDYBRIDGE,T1F32
 reg64,xmmreg_er                           \333\350\352\362\363\370\1\x2D\110        AVX,SANDYBRIDGE
 
-
+; VCVTTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
+;                                               map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm 
 [VCVTTPD2DQ,vcvttpd2dqM]
 (Ch_Wop2, Ch_Rop1)
-xmmreg_mz,mem128                          \350\352\361\362\370\1\xE6\110            AVX,SANDYBRIDGE,AVX512,TFV
 xmmreg_mz,mem256                          \350\352\361\362\364\370\1\xE6\110        AVX,SANDYBRIDGE,AVX512,TFV
-xmmreg_mz,xmmreg                          \350\352\361\362\370\1\xE6\110            AVX,SANDYBRIDGE,AVX512
+xmmreg_mz,ymmreg                          \350\352\361\362\364\370\1\xE6\110        AVX,SANDYBRIDGE
+xmmreg_mz,xmmrm                           \350\352\361\362\370\1\xE6\110            AVX,SANDYBRIDGE,AVX512,TFV
 xmmreg_mz,bmem64                          \350\352\361\370\1\xE6\110                AVX512,BCST2,TFV
 xmmreg_mz,bmem64                          \350\352\361\364\370\1\xE6\110            AVX512,BCST4,TFV
-xmmreg_mz,ymmreg                          \350\352\361\362\364\370\1\xE6\110        AVX,SANDYBRIDGE
 ymmreg_mz,mem512                          \350\351\352\361\370\1\xE6\110            AVX512,TFV
 ymmreg_mz,bmem64                          \350\351\352\361\370\1\xE6\110            AVX512,BCST8,TFV
 ymmreg_mz,zmmreg_sae                      \350\351\352\361\370\1\xE6\110            AVX512
@@ -4503,34 +4499,22 @@ xmmreg_mz,xmmreg,xmmreg_sae               \333\350\362\370\1\x5D\75\120
 
 [VMOVAPD]
 (Ch_Wop2, Ch_Rop1)
-mem128_m,xmmreg                           \350\352\361\362\370\1\x29\101            AVX,SANDYBRIDGE,TFVM
-mem256_m,ymmreg                           \350\352\361\362\364\370\1\x29\101        AVX,SANDYBRIDGE,TFVM
-mem512_m,zmmreg                           \350\351\352\361\370\1\x29\101            AVX512,TFVM
-xmmreg_mz,mem128                          \350\352\361\362\370\1\x28\110            AVX,SANDYBRIDGE,TFVM
-xmmreg_mz,xmmreg                          \350\352\361\362\370\1\x29\101            AVX,SANDYBRIDGE
-xmmreg_mz,xmmreg                          \350\352\361\362\370\1\x28\110            AVX,SANDYBRIDGE
-ymmreg_mz,mem256                          \350\352\361\362\364\370\1\x28\110        AVX,SANDYBRIDGE,TFVM
-ymmreg_mz,ymmreg                          \350\352\361\362\364\370\1\x29\101        AVX,SANDYBRIDGE
-ymmreg_mz,ymmreg                          \350\352\361\362\364\370\1\x28\110        AVX,SANDYBRIDGE
-zmmreg_mz,mem512                          \350\351\352\361\370\1\x28\110            AVX512,TFVM
-zmmreg_mz,zmmreg                          \350\351\352\361\370\1\x28\110            AVX512
-zmmreg_mz,zmmreg                          \350\351\352\361\370\1\x29\101            AVX512
+xmmrm_mz,xmmreg                           \350\352\361\362\370\1\x29\101            AVX,SANDYBRIDGE,TFVM
+ymmrm_mz,ymmreg                           \350\352\361\362\364\370\1\x29\101        AVX,SANDYBRIDGE,TFVM
+zmmrm_mz,zmmreg                           \350\351\352\361\370\1\x29\101            AVX512,TFVM
+xmmreg_mz,xmmrm                           \350\352\361\362\370\1\x28\110            AVX,SANDYBRIDGE,TFVM
+ymmreg_mz,ymmrm                           \350\352\361\362\364\370\1\x28\110        AVX,SANDYBRIDGE,TFVM
+zmmreg_mz,zmmrm                           \350\351\352\361\370\1\x28\110            AVX512,TFVM
 
 
 [VMOVAPS]
 (Ch_Wop2, Ch_Rop1)
-mem128_m,xmmreg                           \350\362\370\1\x29\101                    AVX,SANDYBRIDGE,TFVM
-mem256_m,ymmreg                           \350\362\364\370\1\x29\101                AVX,SANDYBRIDGE,TFVM
-mem512_m,zmmreg                           \350\351\370\1\x29\101                    AVX512,TFVM
-xmmreg_mz,mem128                          \350\362\370\1\x28\110                    AVX,SANDYBRIDGE,TFVM
-xmmreg_mz,xmmreg                          \350\362\370\1\x29\101                    AVX,SANDYBRIDGE
-xmmreg_mz,xmmreg                          \350\362\370\1\x28\110                    AVX,SANDYBRIDGE
-ymmreg_mz,mem256                          \350\362\364\370\1\x28\110                AVX,SANDYBRIDGE,TFVM
-ymmreg_mz,ymmreg                          \350\362\364\370\1\x28\110                AVX,SANDYBRIDGE
-ymmreg_mz,ymmreg                          \350\362\364\370\1\x29\101                AVX,SANDYBRIDGE
-zmmreg_mz,mem512                          \350\351\370\1\x28\110                    AVX512,TFVM
-zmmreg_mz,zmmreg                          \350\351\370\1\x29\101                    AVX512
-zmmreg_mz,zmmreg                          \350\351\370\1\x28\110                    AVX512
+xmmrm_mz,xmmreg                           \350\362\370\1\x29\101                    AVX,SANDYBRIDGE,TFVM
+ymmrm_mz,ymmreg                           \350\362\364\370\1\x29\101                AVX,SANDYBRIDGE,TFVM
+zmmrm_mz,zmmreg                           \350\351\370\1\x29\101                    AVX512,TFVM
+xmmreg_mz,xmmrm                           \350\362\370\1\x28\110                    AVX,SANDYBRIDGE,TFVM
+ymmreg_mz,ymmrm                           \350\362\364\370\1\x28\110                AVX,SANDYBRIDGE,TFVM
+zmmreg_mz,zmmrm                           \350\351\370\1\x28\110                    AVX512,TFVM
 
 
 [VMOVD]
@@ -4678,28 +4662,21 @@ xmmreg_mz,xmmreg,xmmreg                   \333\350\362\370\1\x10\75\120
 
 [VMOVUPD]
 (Ch_Wop2, Ch_Rop1)
-mem128_m,xmmreg                           \350\352\361\362\370\1\x11\101            AVX,SANDYBRIDGE,TFVM
-mem256_m,ymmreg                           \350\352\361\362\364\370\1\x11\101        AVX,SANDYBRIDGE,TFVM
-mem512_m,zmmreg                           \350\351\352\361\370\1\x11\101            AVX512,TFVM
-xmmreg_mz,xmmreg                          \350\352\361\362\370\1\x11\101            AVX,SANDYBRIDGE
+xmmrm_mz,xmmreg                           \350\352\361\362\370\1\x11\101            AVX,SANDYBRIDGE,TFVM
+ymmrm_mz,ymmreg                           \350\352\361\362\364\370\1\x11\101        AVX,SANDYBRIDGE,TFVM
+zmmrm_mz,zmmreg                           \350\351\352\361\370\1\x11\101            AVX512,TFVM
 xmmreg_mz,xmmrm                           \350\352\361\362\370\1\x10\110            AVX,SANDYBRIDGE,TFVM
-ymmreg_mz,ymmreg                          \350\352\361\362\364\370\1\x11\101        AVX,SANDYBRIDGE
 ymmreg_mz,ymmrm                           \350\352\361\362\364\370\1\x10\110        AVX,SANDYBRIDGE,TFVM
-zmmreg_mz,zmmreg                          \350\351\352\361\370\1\x11\101            AVX512
 zmmreg_mz,zmmrm                           \350\351\352\361\370\1\x10\110            AVX512,TFVM
 
 
-
 [VMOVUPS]
 (Ch_Wop2, Ch_Rop1)
-mem128_m,xmmreg                           \350\362\370\1\x11\101                    AVX,SANDYBRIDGE,TFVM
-mem256_m,ymmreg                           \350\362\364\370\1\x11\101                AVX,SANDYBRIDGE,TFVM
-mem512_m,zmmreg                           \350\351\370\1\x11\101                    AVX512,TFVM
-xmmreg_mz,xmmreg                          \350\362\370\1\x11\101                    AVX,SANDYBRIDGE
+xmmrm_mz,xmmreg                           \350\362\370\1\x11\101                    AVX,SANDYBRIDGE,TFVM
+ymmrm_mz,ymmreg                           \350\362\364\370\1\x11\101                AVX,SANDYBRIDGE,TFVM
+zmmrm_mz,zmmreg                           \350\351\370\1\x11\101                    AVX512,TFVM
 xmmreg_mz,xmmrm                           \350\362\370\1\x10\110                    AVX,SANDYBRIDGE,TFVM
-ymmreg_mz,ymmreg                          \350\362\364\370\1\x11\101                AVX,SANDYBRIDGE
 ymmreg_mz,ymmrm                           \350\362\364\370\1\x10\110                AVX,SANDYBRIDGE,TFVM
-zmmreg_mz,zmmreg                          \350\351\370\1\x11\101                    AVX512
 zmmreg_mz,zmmrm                           \350\351\370\1\x10\110                    AVX512,TFVM
 
 
@@ -5294,30 +5271,24 @@ zmmreg_mz,xmmreg                          \350\351\361\371\1\x22\110
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x20\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x20\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x20\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x20\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x20\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x20\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x20\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x20\110                AVX512,THVM
 
 
 [VPMOVSXDQ]
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x25\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x25\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x25\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x25\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x25\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x25\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x25\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x25\110                AVX512,THVM
 
 
 [VPMOVSXWD]
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x23\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x23\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x23\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x23\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x23\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x23\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x23\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x23\110                AVX512,THVM
 
 
 [VPMOVSXWQ]
@@ -5326,8 +5297,8 @@ xmmreg_mz,mem32                           \350\361\362\371\1\x24\110
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x24\110                AVX,SANDYBRIDGE
 ymmreg_mz,mem64                           \350\361\362\364\371\1\x24\110            AVX2,TQVM
 ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x24\110            AVX2
-zmmreg_mz,mem128                          \350\351\361\371\1\x24\110                AVX512,TQVM
-zmmreg_mz,xmmreg                          \350\351\361\371\1\x24\110                AVX512
+zmmreg_mz,xmmrm                           \350\351\361\371\1\x24\110                AVX512,TQVM
+
 
 
 [VPMOVZXBD]
@@ -5336,8 +5307,7 @@ xmmreg_mz,mem32                           \350\361\362\371\1\x31\110
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x31\110                AVX,SANDYBRIDGE
 ymmreg_mz,mem64                           \350\361\362\364\371\1\x31\110            AVX2,TQVM
 ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x31\110            AVX2
-zmmreg_mz,mem128                          \350\351\361\371\1\x31\110                AVX512,TQVM
-zmmreg_mz,xmmreg                          \350\351\361\371\1\x31\110                AVX512
+zmmreg_mz,xmmrm                           \350\351\361\371\1\x31\110                AVX512,TQVM
 
 
 [VPMOVZXBQ]
@@ -5354,30 +5324,24 @@ zmmreg_mz,xmmreg                          \350\351\361\371\1\x32\110
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x30\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x30\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x30\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x30\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x30\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x30\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x30\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x30\110                AVX512,THVM
 
 
 [VPMOVZXDQ]
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x35\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x35\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x35\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x35\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x35\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x35\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x35\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x35\110                AVX512,THVM
 
 
 [VPMOVZXWD]
 (Ch_All)
 xmmreg_mz,mem64                           \350\361\362\371\1\x33\110                AVX,SANDYBRIDGE,THVM
 xmmreg_mz,xmmreg                          \350\361\362\371\1\x33\110                AVX,SANDYBRIDGE
-ymmreg_mz,mem128                          \350\361\362\364\371\1\x33\110            AVX2,THVM
-ymmreg_mz,xmmreg                          \350\361\362\364\371\1\x33\110            AVX2
-zmmreg_mz,mem256                          \350\351\361\371\1\x33\110                AVX512,THVM
-zmmreg_mz,ymmreg                          \350\351\361\371\1\x33\110                AVX512
+ymmreg_mz,xmmrm                           \350\361\362\364\371\1\x33\110            AVX2,THVM
+zmmreg_mz,ymmrm                           \350\351\361\371\1\x33\110                AVX512,THVM
 
 
 [VPMOVZXWQ]
@@ -6176,15 +6140,14 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x36\75\120
 
 [VPERMPD]
 (Ch_All)
-ymmreg_mz,mem256,imm8                     \350\352\361\362\363\364\372\1\x01\110\26  AVX2,TFV
-ymmreg_mz,ymmreg,imm8                     \350\352\361\362\363\364\372\1\x01\110\26  AVX2,TFV
+ymmreg_mz,ymmrm,imm8                      \350\352\361\362\363\364\372\1\x01\110\26 AVX2,TFV
 ymmreg_mz,bmem64,imm8                     \350\352\361\364\372\1\x01\110\26         AVX512,TFV
+zmmreg_mz,zmmrm,imm8                      \350\351\352\361\372\1\x01\110\26         AVX512,TFV
+zmmreg_mz,bmem64,imm8                     \350\351\352\361\372\1\x01\110\26         AVX512,TFV
 ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x16\75\120         AVX512,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x16\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmrm                    \350\351\352\361\371\1\x16\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x16\75\120         AVX512,TFV
-zmmreg_mz,zmmrm,imm8                      \350\351\352\361\372\1\x01\110\26         AVX512,TFV
-zmmreg_mz,bmem64,imm8                     \350\351\352\361\372\1\x01\110\26         AVX512,TFV
 
 
 [VPERMPS]
@@ -6197,14 +6160,14 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x16\75\120
 
 [VPERMQ]
 (Ch_All)
-ymmreg_mz,ymmrm,imm8                      \350\352\361\362\363\364\372\1\x00\110\26  AVX2,TFV
+ymmreg_mz,ymmrm,imm8                      \350\352\361\362\363\364\372\1\x00\110\26 AVX2,TFV
 ymmreg_mz,bmem64,imm8                     \350\352\361\364\372\1\x00\110\26         AVX512,TFV
+zmmreg_mz,zmmrm,imm8                      \350\351\352\361\372\1\x00\110\26         AVX512,TFV
+zmmreg_mz,bmem64,imm8                     \350\351\352\361\372\1\x00\110\26         AVX512,TFV
 ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x36\75\120         AVX512,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x36\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmrm                    \350\351\352\361\371\1\x36\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x36\75\120         AVX512,TFV
-zmmreg_mz,zmmrm,imm8                      \350\351\352\361\372\1\x00\110\26         AVX512,TFV
-zmmreg_mz,bmem64,imm8                     \350\351\352\361\372\1\x00\110\26         AVX512,TFV
 
 
 [VPMASKMOVD]
@@ -6235,7 +6198,7 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x47\75\120
 (Ch_All)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x47\75\120     AVX2,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x47\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x47\75\120  AVX2,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x47\75\120 AVX2,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x47\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmrm                    \350\351\352\361\371\1\x47\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x47\75\120         AVX512,TFV
@@ -6265,7 +6228,7 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x45\75\120
 (Ch_All)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x45\75\120     AVX2,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x45\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x45\75\120  AVX2,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x45\75\120 AVX2,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x45\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmrm                    \350\351\352\361\371\1\x45\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x45\75\120         AVX512,TFV
@@ -6431,7 +6394,7 @@ xmmreg,xmmreg,xmmreg,xmmrm           \361\362\372\363\1\x69\75\130\366    FMA4
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x98\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x98\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x98\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x98\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x98\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x98\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x98\75\120         AVX512,TFV
@@ -6449,19 +6412,19 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x98\75\120
 
 [VFMADD132SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\x99\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\x99\75\120 FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\x99\75\120     FMA
 
 [VFMADD132SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\x99\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\x99\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\x99\75\120         FMA,T1S
 
 [VFMADD213PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xA8\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA8\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA8\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA8\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA8\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA8\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA8\75\120         AVX512,TFV
@@ -6479,19 +6442,19 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA8\75\120
 
 [VFMADD213SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xA9\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xA9\75\120 FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xA9\75\120     FMA
 
 [VFMADD213SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xA9\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xA9\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xA9\75\120         FMA,T1S
 
 [VFMADD231PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xB8\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB8\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB8\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB8\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB8\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB8\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB8\75\120         AVX512,TFV
@@ -6510,18 +6473,18 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xB8\75\120
 [VFMADD231SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xB9\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xB9\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xB9\75\120 FMA,T1S
 
 [VFMADD231SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xB9\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xB9\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xB9\75\120         FMA,T1S
 
 [VFMADDSUB132PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x96\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x96\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x96\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x96\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x96\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x96\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x96\75\120         AVX512,TFV
@@ -6541,7 +6504,7 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x96\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xA6\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA6\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA6\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA6\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA6\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA6\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA6\75\120         AVX512,TFV
@@ -6561,7 +6524,7 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA6\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xB6\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB6\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB6\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB6\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB6\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB6\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB6\75\120         AVX512,TFV
@@ -6581,7 +6544,7 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xB6\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x9A\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9A\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9A\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9A\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9A\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x9A\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9A\75\120         AVX512,TFV
@@ -6600,18 +6563,18 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x9A\75\120
 [VFMSUB132SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\x9B\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\x9B\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\x9B\75\120 FMA,T1S
 
 [VFMSUB132SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\x9B\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\x9B\75\120         FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\x9B\75\120             FMA
 
 [VFMSUB213PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xAA\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAA\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAA\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAA\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAA\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAA\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAA\75\120         AVX512,TFV
@@ -6630,18 +6593,18 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xAA\75\120
 [VFMSUB213SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xAB\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xAB\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xAB\75\120 FMA,T1S
 
 [VFMSUB213SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xAB\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xAB\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xAB\75\120         FMA,T1S
 
 [VFMSUB231PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xBA\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBA\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBA\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBA\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBA\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBA\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBA\75\120         AVX512,TFV
@@ -6660,18 +6623,18 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBA\75\120
 [VFMSUB231SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xBB\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xBB\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xBB\75\120 FMA,T1S
 
 [VFMSUB231SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xBB\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xBB\75\120         FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xBB\75\120             FMA
 
 [VFMSUBADD132PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x97\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x97\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x97\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x97\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x97\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x97\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x97\75\120         AVX512,TFV
@@ -6691,7 +6654,7 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x97\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xA7\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA7\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA7\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xA7\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA7\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA7\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA7\75\120         AVX512,TFV
@@ -6711,7 +6674,7 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA7\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xB7\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB7\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB7\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xB7\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB7\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB7\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB7\75\120         AVX512,TFV
@@ -6731,7 +6694,7 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xB7\75\120
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x9C\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9C\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9C\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9C\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9C\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x9C\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9C\75\120         AVX512,TFV
@@ -6749,19 +6712,19 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x9C\75\120
 
 [VFNMADD132SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\x9D\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\x9D\75\120 FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\x9D\75\120     FMA
 
 [VFNMADD132SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\x9D\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\x9D\75\120         FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\x9D\75\120             FMA
 
 [VFNMADD213PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xAC\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAC\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAC\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAC\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAC\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAC\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAC\75\120         AVX512,TFV
@@ -6780,18 +6743,18 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xAC\75\120
 [VFNMADD213SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xAD\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xAD\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xAD\75\120 FMA,T1S
 
 [VFNMADD213SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xAD\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xAD\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xAD\75\120         FMA,T1S
 
 [VFNMADD231PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xBC\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBC\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBC\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBC\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBC\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBC\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBC\75\120         AVX512,TFV
@@ -6809,19 +6772,19 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBC\75\120
 
 [VFNMADD231SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,mem64                       \361\362\363\371\1\xBD\75\120             FMA
+xmmreg,xmmreg,xmmrm                       \337\361\362\363\371\1\xBD\75\120         FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xBD\75\120     FMA
 
 [VFNMADD231SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg,xmmreg,xmmreg                      \361\362\371\1\xBD\75\120                 FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xBD\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xBD\75\120         FMA,T1S
 
 [VFNMSUB132PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\x9E\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9E\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9E\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\x9E\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9E\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9E\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x9E\75\120         AVX512,TFV
@@ -6839,19 +6802,19 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x9E\75\120
 
 [VFNMSUB132SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\x9F\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\x9F\75\120 FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\x9F\75\120     FMA
 
 [VFNMSUB132SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\x9F\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\x9F\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\x9F\75\120         FMA,T1S
 
 [VFNMSUB213PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xAE\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAE\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAE\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xAE\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAE\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAE\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAE\75\120         AVX512,TFV
@@ -6869,19 +6832,19 @@ zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xAE\75\120
 
 [VFNMSUB213SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xAF\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xAF\75\120 FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xAF\75\120     FMA
 
 [VFNMSUB213SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xAF\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xAF\75\120         FMA,T1S
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xAF\75\120             FMA
 
 [VFNMSUB231PD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmrm                    \350\352\361\362\363\371\1\xBE\75\120     FMA,TFV
 xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBE\75\120             AVX512,TFV
-ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBE\75\120  FMA,TFV
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\362\363\364\371\1\xBE\75\120 FMA,TFV
 ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBE\75\120         AVX512,TFV
 zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBE\75\120         AVX512
 zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBE\75\120         AVX512,TFV
@@ -6900,12 +6863,12 @@ zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBE\75\120
 [VFNMSUB231SD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\362\363\371\1\xBF\75\120     FMA
-xmmreg_mz,xmmreg,mem64                    \350\352\361\362\363\371\1\xBF\75\120     FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \337\350\352\361\362\363\371\1\xBF\75\120 FMA,T1S
 
 [VFNMSUB231SS]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg_mz,xmmreg,xmmreg_er                \350\361\362\371\1\xBF\75\120             FMA
-xmmreg_mz,xmmreg,mem32                    \350\361\362\371\1\xBF\75\120             FMA,T1S
+xmmreg_mz,xmmreg,xmmrm                    \336\350\361\362\371\1\xBF\75\120         FMA,T1S
 
 
 ;*******************************************************************************

+ 1 - 1
compiler/x86_64/x8664nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-4117;
+4076;

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 88 - 319
compiler/x86_64/x8664tab.inc


+ 5 - 2
tests/utils/avx/asmtestgenerator.pas

@@ -219,7 +219,10 @@ type
       IF_TMEM128,
       IF_THV,
       IF_THVM,
-      IF_TOVM
+      IF_TOVM,
+
+      IF_SCL32,
+      IF_SCL64
 
 
     );
@@ -273,7 +276,7 @@ const
         but this requires adjusting the opcode table }
       //OT_SIZE_MASK = $3000001F;  { all the size attributes  }
       OT_SIZE_MASK = $E000001F;  { all the size attributes  }
-      OT_NON_SIZE  = longint(not OT_SIZE_MASK);
+      OT_NON_SIZE  = int64(not int64(OT_SIZE_MASK));
 
       { Bits 8..11: modifiers }
       OT_SIGNED    = $00000100;  { the operand need to be signed -128-127 }

+ 1539 - 1433
tests/utils/avx/avxopcodes.pas

@@ -51,6 +51,110 @@ end;
 
 procedure TAVXTestGenerator.Init;
 begin
+  // Opcode, i386, x8664, AVX512, Parameter
+  FOpCodeList.Add('ADDSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('ADDSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('ADDSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('ADDSD,1,1,0,XMMREG,MEM64,,,');
+
+  FOpCodeList.Add('CMPEQSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPEQSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPLTSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPLTSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNEQSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNEQSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNLESS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNLESS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNLTSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNLTSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPORDSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPORDSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPUNORDSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPUNORDSS,1,1,0,XMMREG,MEM32,,,');
+//  FOpCodeList.Add('CMPSS,1,1,0,XMMREG,XMMREG,IMM8,,');
+//  FOpCodeList.Add('CMPSS,1,1,0,XMMREG,MEM32,IMM8,,');
+  FOpCodeList.Add('COMISS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('COMISS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('DIVSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('DIVSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('MAXSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MAXSS,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('MINSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MINSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('MULSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MULSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('RCPSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('RCPSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('RSQRTSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('RSQRTSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('SQRTSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('SQRTSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('SUBSS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('SUBSS,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('UCOMISS,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('UCOMISS,1,1,0,XMMREG,MEM32,,,');
+
+
+
+  FOpCodeList.Add('CMPEQSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPEQSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPLTSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPLTSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNEQSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNEQSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNLESD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNLESD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPNLTSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPNLTSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPORDSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPORDSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('CMPUNORDSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('CMPUNORDSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('COMISD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('COMISD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('DIVSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('DIVSD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('MAXSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MAXSD,1,1,0,XMMREG,MEM32,,,');
+  FOpCodeList.Add('MINSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MINSD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('MULSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('MULSD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('SQRTSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('SQRTSD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('SUBSD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('SUBSD,1,1,0,XMMREG,MEM32,,,');
+
+  FOpCodeList.Add('UCOMISD,1,1,0,XMMREG,XMMREG,,,');
+  FOpCodeList.Add('UCOMISD,1,1,0,XMMREG,MEM32,,,');
+
+
+
+
+
+
+
+
+
+
+
+
+
+
   FOpCodeList.Add('ADCX,1,1,0,REG32,RM32,,,');
   FOpCodeList.Add('ADCX,1,1,0,REG64,RM64,,,');
   FOpCodeList.Add('ADOX,1,1,0,REG32,RM32,,,');
@@ -307,7 +411,7 @@ begin
   FOpCodeList.Add('vcmpss,1,1,1,KREG_M,XMMREG,MEM32,IMM8');
   FOpCodeList.Add('vcmpss,1,1,1,KREG_M,XMMREG,XMMREG_SAE,IMM8');
   FOpCodeList.Add('vcmpss,1,1,0,XMMREG,XMMREG,XMMREG,IMM8');
-  FOpCodeList.Add('vcmpss,1,1,0,XMMREG,XMMREG,MEM64,IMM8');
+  FOpCodeList.Add('vcmpss,1,1,0,XMMREG,XMMREG,MEM32,IMM8');
   FOpCodeList.Add('vcomisd,1,1,1,XMMREG,MEM64,,');
   FOpCodeList.Add('vcomisd,1,1,1,XMMREG,XMMREG_SAE,,');
   FOpCodeList.Add('vcomiss,1,1,1,XMMREG,MEM32,,');
@@ -1599,1438 +1703,1440 @@ begin
   FOpCodeList.Add('kxorq,1,1,0,KREG,KREG,KREG,');
   FOpCodeList.Add('kxorw,1,1,0,KREG,KREG,KREG,');
 
-FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,4B32,imm8');
-FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,8B32,imm8');
-FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,16B32,imm8');
-FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,2B64,imm8');
-FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,4B64,imm8');
-FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,8B64,imm8');
-FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,2B64,');
-FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,4B64,');
-FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,8B64,');
-FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,4B32,');
-FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,8B32,');
-FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,16B32,');
-FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,mem64,,');
-FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,mem64,,');
-FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vbroadcastf32x4,1,1,1,ymmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcastf32x4,1,1,1,zmmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcastf32x8,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vbroadcastf64x2,1,1,1,ymmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcastf64x2,1,1,1,zmmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcastf64x4,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,mem64,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,mem64,,');
-FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vbroadcasti32x4,1,1,1,ymmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcasti32x4,1,1,1,zmmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcasti32x8,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vbroadcasti64x2,1,1,1,ymmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcasti64x2,1,1,1,zmmreg_mz,mem128,,');
-FOpCodeList.Add('vbroadcasti64x4,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcompresspd,1,1,1,mem128_m,xmmreg,,');
-FOpCodeList.Add('vcompresspd,1,1,1,mem256_m,ymmreg,,');
-FOpCodeList.Add('vcompresspd,1,1,1,mem512_m,zmmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,mem128_m,xmmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,mem256_m,ymmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,mem512_m,zmmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vcompressps,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,2b32,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,4b32,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,8b32,,');
-FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,ymmreg_er,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,2b32,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,4b32,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,8b32,,');
-FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,ymmreg_er,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,mem64,,');
-FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,xmmreg_er,,');
-FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,mem64,,');
-FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,xmmreg_er,,');
-FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,mem32,,');
-FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,xmmreg_er,,');
-FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,mem32,,');
-FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,xmmreg_er,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,4b64,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,mem512,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,8b64,,');
-FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,2b32,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,4b32,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,8b32,,');
-FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,ymmreg_sae,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,2b32,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,4b32,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,8b32,,');
-FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,ymmreg_sae,,');
-FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,mem64,,');
-FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,xmmreg_sae,,');
-FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,mem64,,');
-FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,xmmreg_sae,,');
-FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,mem32,,');
-FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,xmmreg_sae,,');
-FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,mem32,,');
-FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,xmmreg_sae,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,2b32,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,4b32,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,8b32,,');
-FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,ymmreg_er,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem256,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,4b64,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,mem512,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,8b64,,');
-FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,');
-FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm32,');
-FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm64,');
-FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm32,');
-FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm64,');
-FOpCodeList.Add('vdbpsadbw,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vdbpsadbw,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vdbpsadbw,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,mem256,,');
-FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,mem256,,');
-FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,ymmreg,imm8,');
-FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,zmmreg,imm8,');
-FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,ymmreg,imm8,');
-FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextractf32x8,1,1,1,mem256_m,zmmreg,imm8,');
-FOpCodeList.Add('vextractf32x8,1,1,1,ymmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,ymmreg,imm8,');
-FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,zmmreg,imm8,');
-FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,ymmreg,imm8,');
-FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextractf64x4,1,1,1,mem256_m,zmmreg,imm8,');
-FOpCodeList.Add('vextractf64x4,1,1,1,ymmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,ymmreg,imm8,');
-FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,zmmreg,imm8,');
-FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,ymmreg,imm8,');
-FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextracti32x8,1,1,1,mem256_m,zmmreg,imm8,');
-FOpCodeList.Add('vextracti32x8,1,1,1,ymmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,ymmreg,imm8,');
-FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,zmmreg,imm8,');
-FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,ymmreg,imm8,');
-FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vextracti64x4,1,1,1,mem256_m,zmmreg,imm8,');
-FOpCodeList.Add('vextracti64x4,1,1,1,ymmreg_mz,zmmreg,imm8,');
-FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
-FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
-FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
-FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
-FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
-FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,xmmrm,imm8,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,2b64,imm8,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,ymmrm,imm8,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,4b64,imm8,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,zmmrm,imm8,');
-FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,8b64,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,xmmrm,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,4b32,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,ymmrm,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,8b32,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,zmmrm,imm8,');
-FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,16b32,imm8,');
-FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,4b32,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,8b32,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,16b32,imm8,');
-FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
-FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
-FOpCodeList.Add('vinsertf32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
-FOpCodeList.Add('vinsertf32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
-FOpCodeList.Add('vinsertf32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
-FOpCodeList.Add('vinsertf64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
-FOpCodeList.Add('vinsertf64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
-FOpCodeList.Add('vinsertf64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
-FOpCodeList.Add('vinserti32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
-FOpCodeList.Add('vinserti32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
-FOpCodeList.Add('vinserti32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
-FOpCodeList.Add('vinserti64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
-FOpCodeList.Add('vinserti64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
-FOpCodeList.Add('vinserti64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
-FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqa32,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqa64,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu16,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu32,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu64,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,mem128_mz,xmmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,mem256_mz,ymmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vmovdqu8,1,1,1,mem512_mz,zmmreg,,');
-FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpblendmb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpblendmb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpblendmb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpblendmw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpblendmw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpblendmw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,mem8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,mem8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,mem8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg8,,');
-FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,mem32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,mem32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,mem32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastmb2q  xmmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastmb2q  ymmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastmb2q  zmmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastmw2d  xmmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastmw2d  ymmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastmw2d  zmmreg,kreg,1,1,1,void,,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,mem64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,mem64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,mem64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,mem16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,mem16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,mem16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg16,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg32,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg64,,');
-FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,4b32,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,8b32,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,16b32,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,2b64,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,4b64,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,8b64,imm8');
-FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,4b32,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,8b32,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,16b32,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,2b64,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,4b64,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,8b64,imm8');
-FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpcompressd,1,1,1,mem128_m,xmmreg,,');
-FOpCodeList.Add('vpcompressd,1,1,1,mem256_m,ymmreg,,');
-FOpCodeList.Add('vpcompressd,1,1,1,mem512_m,zmmreg,,');
-FOpCodeList.Add('vpcompressd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpcompressd,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpcompressd,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,mem128_m,xmmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,mem256_m,ymmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,mem512_m,zmmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpcompressq,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vpermb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpermi2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermi2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermi2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpermt2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermt2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermt2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpermw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpermw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpermw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,mem256,,');
-FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,mem128,,');
-FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,mem256,,');
-FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpmovb2m,1,1,1,kreg,xmmreg,,');
-FOpCodeList.Add('vpmovb2m,1,1,1,kreg,ymmreg,,');
-FOpCodeList.Add('vpmovb2m,1,1,1,kreg,zmmreg,,');
-FOpCodeList.Add('vpmovd2m,1,1,1,kreg,xmmreg,,');
-FOpCodeList.Add('vpmovd2m,1,1,1,kreg,ymmreg,,');
-FOpCodeList.Add('vpmovd2m,1,1,1,kreg,zmmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovdw,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovm2b,1,1,1,xmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2b,1,1,1,ymmreg,kreg,,');
-FOpCodeList.Add('vpmovm2b,1,1,1,zmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2d,1,1,1,xmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2d,1,1,1,ymmreg,kreg,,');
-FOpCodeList.Add('vpmovm2d,1,1,1,zmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2q,1,1,1,xmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2q,1,1,1,ymmreg,kreg,,');
-FOpCodeList.Add('vpmovm2q,1,1,1,zmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2w,1,1,1,xmmreg,kreg,,');
-FOpCodeList.Add('vpmovm2w,1,1,1,ymmreg,kreg,,');
-FOpCodeList.Add('vpmovm2w,1,1,1,zmmreg,kreg,,');
-FOpCodeList.Add('vpmovq2m,1,1,1,kreg,xmmreg,,');
-FOpCodeList.Add('vpmovq2m,1,1,1,kreg,ymmreg,,');
-FOpCodeList.Add('vpmovq2m,1,1,1,kreg,zmmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,mem16_m,xmmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,mem32_m,ymmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,mem64_m,zmmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovqd,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovsdw,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,mem16_m,xmmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,mem32_m,ymmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,mem64_m,zmmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovsqd,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovswb,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovusdw,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,mem16_m,xmmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,mem32_m,ymmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,mem64_m,zmmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovusqd,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,mem128_m,zmmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,mem32_m,xmmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,mem64_m,ymmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovuswb,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmovw2m,1,1,1,kreg,xmmreg,,');
-FOpCodeList.Add('vpmovw2m,1,1,1,kreg,ymmreg,,');
-FOpCodeList.Add('vpmovw2m,1,1,1,kreg,zmmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,mem128_m,ymmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,mem256_m,zmmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,mem64_m,xmmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,xmmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,ymmreg,,');
-FOpCodeList.Add('vpmovwb,1,1,1,ymmreg_mz,zmmreg,,');
-FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,4b32,imm8,');
-FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,8b32,imm8,');
-FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,zmmrm,imm8,');
-FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,16b32,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,zmmrm,imm8,');
-FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,4b32,imm8,');
-FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,8b32,imm8,');
-FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,zmmrm,imm8,');
-FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,16b32,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,zmmrm,imm8,');
-FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpscatterdd,1,1,1,xmem32_m,xmmreg,,');
-FOpCodeList.Add('vpscatterdd,1,1,1,ymem32_m,ymmreg,,');
-FOpCodeList.Add('vpscatterdd,1,1,1,zmem32_m,zmmreg,,');
-FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,xmmreg,,');
-FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,ymmreg,,');
-FOpCodeList.Add('vpscatterdq,1,1,1,ymem64_m,zmmreg,,');
-FOpCodeList.Add('vpscatterqd,1,1,1,xmem32_m,xmmreg,,');
-FOpCodeList.Add('vpscatterqd,1,1,1,ymem32_m,xmmreg,,');
-FOpCodeList.Add('vpscatterqd,1,1,1,zmem32_m,ymmreg,,');
-FOpCodeList.Add('vpscatterqq,1,1,1,xmem64_m,xmmreg,,');
-FOpCodeList.Add('vpscatterqq,1,1,1,ymem64_m,ymmreg,,');
-FOpCodeList.Add('vpscatterqq,1,1,1,zmem64_m,zmmreg,,');
-FOpCodeList.Add('vpsllvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpsllvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpsllvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmreg,xmmrm,');
-FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmreg,xmmrm,');
-FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmrm,imm8,');
-FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vpsravw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpsravw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpsravw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpsrlvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpsrlvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpsrlvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
-FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
-FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
-FOpCodeList.Add('vptestmb,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestmb,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestmb,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,4b32,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,8b32,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,16b32,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,2b64,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,4b64,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,8b64,');
-FOpCodeList.Add('vptestmw,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestmw,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestmw,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,4b32,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,8b32,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,16b32,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,2b64,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,4b64,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,8b64,');
-FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,xmmreg,xmmrm,');
-FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,ymmreg,ymmrm,');
-FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,zmmreg,zmmrm,');
-FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
-FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
-FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
-FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
-FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
-FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
-FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
-FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
-FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,4b32,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,8b32,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,16b32,imm8,');
-FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
-FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
-FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,2b64,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,4b64,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,8b64,imm8,');
-FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,xmmrm,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,4b32,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,ymmrm,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,8b32,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,mem512,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,16b32,imm8,');
-FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
-FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
-FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
-FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,2b64,,');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,4b64,,');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,xmmrm,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,4b32,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,ymmrm,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,8b32,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,zmmrm,,');
-FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
-FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
-FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,8b64,,');
-FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,mem512,,');
-FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,16b32,,');
-FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
-FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
-FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,2b64,');
-FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,4b64,');
-FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,8b64,');
-FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
-FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,4b32,');
-FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
-FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,8b32,');
-FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,mem512,');
-FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,16b32,');
-FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
-FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,mem64,');
-FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
-FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,mem32,');
-FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,xmmreg,,');
-FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,ymmreg,,');
-FOpCodeList.Add('vscatterdpd,1,1,1,ymem64_m,zmmreg,,');
-FOpCodeList.Add('vscatterdps,1,1,1,xmem32_m,xmmreg,,');
-FOpCodeList.Add('vscatterdps,1,1,1,ymem32_m,ymmreg,,');
-FOpCodeList.Add('vscatterdps,1,1,1,zmem32_m,zmmreg,,');
-FOpCodeList.Add('vscatterqpd,1,1,1,xmem64_m,xmmreg,,');
-FOpCodeList.Add('vscatterqpd,1,1,1,ymem64_m,ymmreg,,');
-FOpCodeList.Add('vscatterqpd,1,1,1,zmem64_m,zmmreg,,');
-FOpCodeList.Add('vscatterqps,1,1,1,xmem32_m,xmmreg,,');
-FOpCodeList.Add('vscatterqps,1,1,1,ymem32_m,xmmreg,,');
-FOpCodeList.Add('vscatterqps,1,1,1,zmem32_m,ymmreg,,');
-FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
-FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
-FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
-FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
-FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
-FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
-FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
-FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
-FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
-FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
-
+  FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,4B32,imm8');
+  FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,8B32,imm8');
+  FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,16B32,imm8');
+  FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,2B64,imm8');
+  FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,4B64,imm8');
+  FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,8B64,imm8');
+  FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,2B64,');
+  FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,4B64,');
+  FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,8B64,');
+  FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,4B32,');
+  FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,8B32,');
+  FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,16B32,');
+  FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,mem64,,');
+  FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,mem64,,');
+  FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vbroadcastf32x4,1,1,1,ymmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcastf32x4,1,1,1,zmmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcastf32x8,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vbroadcastf64x2,1,1,1,ymmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcastf64x2,1,1,1,zmmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcastf64x4,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,mem64,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,mem64,,');
+  FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vbroadcasti32x4,1,1,1,ymmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcasti32x4,1,1,1,zmmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcasti32x8,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vbroadcasti64x2,1,1,1,ymmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcasti64x2,1,1,1,zmmreg_mz,mem128,,');
+  FOpCodeList.Add('vbroadcasti64x4,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcompresspd,1,1,1,mem128_m,xmmreg,,');
+  FOpCodeList.Add('vcompresspd,1,1,1,mem256_m,ymmreg,,');
+  FOpCodeList.Add('vcompresspd,1,1,1,mem512_m,zmmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,mem128_m,xmmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,mem256_m,ymmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,mem512_m,zmmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vcompressps,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,2b32,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,ymmreg_er,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,2b32,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,ymmreg_er,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,mem64,,');
+  FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,xmmreg_er,,');
+  FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,mem64,,');
+  FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,xmmreg_er,,');
+  FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,mem32,,');
+  FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,xmmreg_er,,');
+  FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,mem32,,');
+  FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,xmmreg_er,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,2b32,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,ymmreg_sae,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,2b32,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,ymmreg_sae,,');
+  FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,mem64,,');
+  FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,xmmreg_sae,,');
+  FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,mem64,,');
+  FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,xmmreg_sae,,');
+  FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,mem32,,');
+  FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,xmmreg_sae,,');
+  FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,mem32,,');
+  FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,xmmreg_sae,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,2b32,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,ymmreg_er,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem256,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,4b64,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,mem512,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,8b64,,');
+  FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,');
+  FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm32,');
+  FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm64,');
+  FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm32,');
+  FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm64,');
+  FOpCodeList.Add('vdbpsadbw,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vdbpsadbw,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vdbpsadbw,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,mem256,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,mem256,,');
+  FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,ymmreg,imm8,');
+  FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,ymmreg,imm8,');
+  FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf32x8,1,1,1,mem256_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf32x8,1,1,1,ymmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,ymmreg,imm8,');
+  FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,ymmreg,imm8,');
+  FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf64x4,1,1,1,mem256_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextractf64x4,1,1,1,ymmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,ymmreg,imm8,');
+  FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,ymmreg,imm8,');
+  FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti32x8,1,1,1,mem256_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti32x8,1,1,1,ymmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,ymmreg,imm8,');
+  FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,ymmreg,imm8,');
+  FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti64x4,1,1,1,mem256_m,zmmreg,imm8,');
+  FOpCodeList.Add('vextracti64x4,1,1,1,ymmreg_mz,zmmreg,imm8,');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
+  FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
+  FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,xmmrm,imm8,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,2b64,imm8,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,ymmrm,imm8,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,4b64,imm8,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,zmmrm,imm8,');
+  FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,8b64,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,xmmrm,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,4b32,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,ymmrm,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,8b32,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,zmmrm,imm8,');
+  FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,16b32,imm8,');
+  FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,4b32,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,8b32,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,16b32,imm8,');
+  FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
+  FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
+  FOpCodeList.Add('vinsertf32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinsertf32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinsertf32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
+  FOpCodeList.Add('vinsertf64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinsertf64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinsertf64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
+  FOpCodeList.Add('vinserti32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinserti32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinserti32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
+  FOpCodeList.Add('vinserti64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinserti64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vinserti64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8');
+  FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqa32,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqa64,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu16,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu32,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu64,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,mem128_mz,xmmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,mem256_mz,ymmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vmovdqu8,1,1,1,mem512_mz,zmmreg,,');
+  FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpblendmb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpblendmb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpblendmb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpblendmw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpblendmw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpblendmw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,mem8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,mem8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,mem8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg8,,');
+  FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,mem32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,mem32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,mem32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastmb2q  xmmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastmb2q  ymmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastmb2q  zmmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastmw2d  xmmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastmw2d  ymmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastmw2d  zmmreg,kreg,1,1,1,void,,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,mem64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,mem64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,mem64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,mem16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,mem16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,mem16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg16,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg32,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg64,,');
+  FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,4b32,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,2b64,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,4b32,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,2b64,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpcompressd,1,1,1,mem128_m,xmmreg,,');
+  FOpCodeList.Add('vpcompressd,1,1,1,mem256_m,ymmreg,,');
+  FOpCodeList.Add('vpcompressd,1,1,1,mem512_m,zmmreg,,');
+  FOpCodeList.Add('vpcompressd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpcompressd,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpcompressd,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,mem128_m,xmmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,mem256_m,ymmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,mem512_m,zmmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpcompressq,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vpermb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpermi2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermi2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermi2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpermt2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermt2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermt2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpermw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpermw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpermw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,mem256,,');
+  FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,mem128,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,mem256,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpmovb2m,1,1,1,kreg,xmmreg,,');
+  FOpCodeList.Add('vpmovb2m,1,1,1,kreg,ymmreg,,');
+  FOpCodeList.Add('vpmovb2m,1,1,1,kreg,zmmreg,,');
+  FOpCodeList.Add('vpmovd2m,1,1,1,kreg,xmmreg,,');
+  FOpCodeList.Add('vpmovd2m,1,1,1,kreg,ymmreg,,');
+  FOpCodeList.Add('vpmovd2m,1,1,1,kreg,zmmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovdw,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovm2b,1,1,1,xmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2b,1,1,1,ymmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2b,1,1,1,zmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2d,1,1,1,xmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2d,1,1,1,ymmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2d,1,1,1,zmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2q,1,1,1,xmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2q,1,1,1,ymmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2q,1,1,1,zmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2w,1,1,1,xmmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2w,1,1,1,ymmreg,kreg,,');
+  FOpCodeList.Add('vpmovm2w,1,1,1,zmmreg,kreg,,');
+  FOpCodeList.Add('vpmovq2m,1,1,1,kreg,xmmreg,,');
+  FOpCodeList.Add('vpmovq2m,1,1,1,kreg,ymmreg,,');
+  FOpCodeList.Add('vpmovq2m,1,1,1,kreg,zmmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,mem16_m,xmmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,mem32_m,ymmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,mem64_m,zmmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovqd,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovsdw,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,mem16_m,xmmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,mem32_m,ymmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,mem64_m,zmmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovsqd,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovswb,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovusdw,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,mem16_m,xmmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,mem32_m,ymmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,mem64_m,zmmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovusqd,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,mem128_m,zmmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,mem32_m,xmmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,mem64_m,ymmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovuswb,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmovw2m,1,1,1,kreg,xmmreg,,');
+  FOpCodeList.Add('vpmovw2m,1,1,1,kreg,ymmreg,,');
+  FOpCodeList.Add('vpmovw2m,1,1,1,kreg,zmmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,mem128_m,ymmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,mem256_m,zmmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,mem64_m,xmmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,xmmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,ymmreg,,');
+  FOpCodeList.Add('vpmovwb,1,1,1,ymmreg_mz,zmmreg,,');
+  FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,4b32,imm8,');
+  FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,8b32,imm8,');
+  FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,zmmrm,imm8,');
+  FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,16b32,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,zmmrm,imm8,');
+  FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,4b32,imm8,');
+  FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,8b32,imm8,');
+  FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,zmmrm,imm8,');
+  FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,16b32,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,zmmrm,imm8,');
+  FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpscatterdd,1,1,1,xmem32_m,xmmreg,,');
+  FOpCodeList.Add('vpscatterdd,1,1,1,ymem32_m,ymmreg,,');
+  FOpCodeList.Add('vpscatterdd,1,1,1,zmem32_m,zmmreg,,');
+  FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,xmmreg,,');
+  FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,ymmreg,,');
+  FOpCodeList.Add('vpscatterdq,1,1,1,ymem64_m,zmmreg,,');
+  FOpCodeList.Add('vpscatterqd,1,1,1,xmem32_m,xmmreg,,');
+  FOpCodeList.Add('vpscatterqd,1,1,1,ymem32_m,xmmreg,,');
+  FOpCodeList.Add('vpscatterqd,1,1,1,zmem32_m,ymmreg,,');
+  FOpCodeList.Add('vpscatterqq,1,1,1,xmem64_m,xmmreg,,');
+  FOpCodeList.Add('vpscatterqq,1,1,1,ymem64_m,ymmreg,,');
+  FOpCodeList.Add('vpscatterqq,1,1,1,zmem64_m,zmmreg,,');
+  FOpCodeList.Add('vpsllvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpsllvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpsllvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmreg,xmmrm,');
+  FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmreg,xmmrm,');
+  FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmrm,imm8,');
+  FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vpsravw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpsravw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpsravw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpsrlvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpsrlvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpsrlvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
+  FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vptestmb,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestmb,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestmb,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,4b32,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,8b32,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,16b32,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,2b64,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,4b64,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,8b64,');
+  FOpCodeList.Add('vptestmw,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestmw,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestmw,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,4b32,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,8b32,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,16b32,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,2b64,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,4b64,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,8b64,');
+  FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,xmmreg,xmmrm,');
+  FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,ymmreg,ymmrm,');
+  FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
+  FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8');
+  FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
+  FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
+  FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
+  FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
+  FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,4b32,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,8b32,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,16b32,imm8,');
+  FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
+  FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
+  FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,2b64,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,4b64,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,8b64,imm8,');
+  FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,xmmrm,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,4b32,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,ymmrm,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,8b32,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,mem512,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,16b32,imm8,');
+  FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,');
+  FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8');
+  FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,mem32,imm8');
+  FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,2b64,,');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,4b64,,');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,xmmrm,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,4b32,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,ymmrm,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,8b32,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,zmmrm,,');
+  FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
+  FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,');
+  FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,8b64,,');
+  FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,mem512,,');
+  FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,16b32,,');
+  FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,zmmreg_sae,,');
+  FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,');
+  FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,2b64,');
+  FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,4b64,');
+  FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,8b64,');
+  FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
+  FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,4b32,');
+  FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
+  FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,8b32,');
+  FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,mem512,');
+  FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,16b32,');
+  FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,');
+  FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,mem64,');
+  FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,');
+  FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,mem32,');
+  FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,xmmreg,,');
+  FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,ymmreg,,');
+  FOpCodeList.Add('vscatterdpd,1,1,1,ymem64_m,zmmreg,,');
+  FOpCodeList.Add('vscatterdps,1,1,1,xmem32_m,xmmreg,,');
+  FOpCodeList.Add('vscatterdps,1,1,1,ymem32_m,ymmreg,,');
+  FOpCodeList.Add('vscatterdps,1,1,1,zmem32_m,zmmreg,,');
+  FOpCodeList.Add('vscatterqpd,1,1,1,xmem64_m,xmmreg,,');
+  FOpCodeList.Add('vscatterqpd,1,1,1,ymem64_m,ymmreg,,');
+  FOpCodeList.Add('vscatterqpd,1,1,1,zmem64_m,zmmreg,,');
+  FOpCodeList.Add('vscatterqps,1,1,1,xmem32_m,xmmreg,,');
+  FOpCodeList.Add('vscatterqps,1,1,1,ymem32_m,xmmreg,,');
+  FOpCodeList.Add('vscatterqps,1,1,1,zmem32_m,ymmreg,,');
+  FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
+  FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8');
+  FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8');
+  FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8');
+  FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8');
+  FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8');
+  FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8');
+    
+  FOpCodeList.Add('movntss,1,1,1,MEM32,XMMREG,');
+  FOpCodeList.Add('movntsd,1,1,1,MEM64,XMMREG,');  
 end;
 
 function TAVXTestGenerator.InternalMakeTestFiles(aX64, aAVX512, aSAE: boolean; aDestPath, aFileExt: String;

+ 13 - 0
tests/webtbs/tw32219.pp

@@ -0,0 +1,13 @@
+{ %cpu=x86_64 }
+{ %norun }
+program project1;
+
+{$mode objfpc}{$H+}
+{$ASMMODE intel}
+
+begin
+  asm
+    vaddsd	xmm0, xmm0, qword ptr [rax]
+    vaddsd	xmm0, xmm0, qword ptr [rax + 8]
+  end;
+end.

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä