Browse Source

bugfix avx512 tests

git-svn-id: branches/tg74/avx512@39738 -
tg74 7 years ago
parent
commit
c894768a65
2 changed files with 95 additions and 59 deletions
  1. 28 10
      tests/utils/avx/asmtestgenerator.pas
  2. 67 49
      tests/utils/avx/avxopcodes.pas

+ 28 - 10
tests/utils/avx/asmtestgenerator.pas

@@ -527,8 +527,9 @@ begin
                        (UpperCase(aInst) = 'VCVTPD2UDQ') or
                        (UpperCase(aInst) = 'VCVTTPD2UDQ') or
                        (UpperCase(aInst) = 'VCVTUQQ2PS') or
-
-
+                       (UpperCase(aInst) = 'VCVTQQ2PS') or
+                       (UpperCase(aInst) = 'VCVTUSI2SD') or
+                       (UpperCase(aInst) = 'VCVTUSI2SS') or
 
                        (UpperCase(aInst) = 'VCMPSS')
 
@@ -1004,9 +1005,14 @@ begin
               Item.OpTyp    := otMEM8;
               Item.OpActive := true;
 
-              if UsePrefix then sl_Prefix := 'byte ';
 
-              if x64 then
+
+	      if UsePrefix then sl_Prefix := 'byte ';
+
+              
+              sSuffix := '';
+	      
+	      if x64 then
               begin
                 MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values);
                 //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values);
@@ -1022,6 +1028,7 @@ begin
 
               if UsePrefix then sl_Prefix := 'word ';
 
+              sSuffix := '';
               if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
 
               if x64 then
@@ -1032,7 +1039,8 @@ begin
               else MemRegBaseIndexCombi(sl_Prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
             else if AnsiSameText(sl_Operand, 'MEM32') or
-                    AnsiSameText(sl_Operand, 'MEM32_M') then
+                    AnsiSameText(sl_Operand, 'MEM32_M') or
+                    AnsiSameText(sl_Operand, 'MEM32_MZ') then
             begin
               Item.OpNumber := il_Op;
               Item.OpTyp    := otMEM32;
@@ -1041,7 +1049,9 @@ begin
               if UsePrefix then sl_Prefix := 'dword ';
 
               sSuffix := '';
-              if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              
+	      if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}';
 
 
               if x64 then
@@ -1052,7 +1062,8 @@ begin
               else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
             else if (AnsiSameText(sl_Operand, 'MEM64')) or
-                    (AnsiSameText(sl_Operand, 'MEM64_M')) then
+                    (AnsiSameText(sl_Operand, 'MEM64_M')) or
+                    (AnsiSameText(sl_Operand, 'MEM64_MZ')) then
             begin
               Item.OpNumber := il_Op;
               Item.OpTyp    := otMEM64;
@@ -1062,6 +1073,7 @@ begin
 
               sSuffix := '';
               if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}';
 
               if x64 then
               begin
@@ -1071,7 +1083,8 @@ begin
               else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
             else if (AnsiSameText(sl_Operand, 'MEM128')) or
-                    (AnsiSameText(sl_Operand, 'MEM128_M')) then
+                    (AnsiSameText(sl_Operand, 'MEM128_M')) or
+                    (AnsiSameText(sl_Operand, 'MEM128_MZ')) then
             begin
               Item.OpNumber := il_Op;
               Item.OpTyp    := otMEM128;
@@ -1081,6 +1094,7 @@ begin
 
               sSuffix := '';
               if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}';
 
               if x64 then
               begin
@@ -1090,7 +1104,8 @@ begin
               else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
             else if (AnsiSameText(sl_Operand, 'MEM256')) or
-                    (AnsiSameText(sl_Operand, 'MEM256_M')) then
+                    (AnsiSameText(sl_Operand, 'MEM256_M')) or
+                    (AnsiSameText(sl_Operand, 'MEM256_MZ')) then
             begin
               Item.OpNumber := il_Op;
               Item.OpTyp    := otMEM256;
@@ -1100,6 +1115,7 @@ begin
 
               sSuffix := '';
               if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}';
 
 
               if x64 then
@@ -1110,7 +1126,8 @@ begin
               else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
             else if (AnsiSameText(sl_Operand, 'MEM512')) or
-                    (AnsiSameText(sl_Operand, 'MEM512_M')) then
+                    (AnsiSameText(sl_Operand, 'MEM512_M')) or
+                    (AnsiSameText(sl_Operand, 'MEM512_MZ')) then
             begin
               Item.OpNumber := il_Op;
               Item.OpTyp    := otMEM512;
@@ -1120,6 +1137,7 @@ begin
 
               sSuffix := '';
               if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}';
+              if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}';
 
 
               if x64 then

+ 67 - 49
tests/utils/avx/avxopcodes.pas

@@ -1528,7 +1528,7 @@ begin
   FOpCodeList.Add('vpextrd,1,1,1,RM32,XMMREG,IMM8,');
   FOpCodeList.Add('vpextrq,1,1,1,RM64,XMMREG,IMM8,');
   FOpCodeList.Add('vpextrw,1,1,1,MEM16,XMMREG,IMM8,');
-  FOpCodeList.Add('vpextrw,1,1,1,REG16XMMREG,IMM8,');
+  FOpCodeList.Add('vpextrw,1,1,1,REG16,XMMREG,IMM8,');
   FOpCodeList.Add('vpextrw,1,1,1,REG32,XMMREG,IMM8,');
   FOpCodeList.Add('vpextrw,1,1,1,REG64,XMMREG,IMM8,');
   FOpCodeList.Add('vphaddd,1,1,0,XMMREG,XMMREG,XMMRM,');
@@ -2903,17 +2903,17 @@ 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,bmem64,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,bmem64,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,bmem64,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,bmem32,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,bmem32,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,bmem32,imm8,');
+FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,16b32,imm8,');
 FOpCodeList.Add('vfpclasssd,1,1,1,kreg_m,mem64,imm8,');
 FOpCodeList.Add('vfpclasssd,1,1,1,kreg_m,xmmreg,imm8,');
 FOpCodeList.Add('vfpclassss,1,1,1,kreg_m,mem32,imm8,');
@@ -2975,41 +2975,59 @@ 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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,xmmrm128_mz,xmmreg,,');
+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,ymmrm256_mz,ymmreg,,');
+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,zmmrm512_mz,zmmreg,,');
+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,,');
@@ -3119,32 +3137,32 @@ 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,bmem32,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,bmem32,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,bmem32,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,bmem64,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,bmem64,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,bmem64,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,bmem32,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,bmem32,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,bmem32,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,bmem64,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,bmem64,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,bmem64,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');
@@ -3557,17 +3575,17 @@ 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,bmem32,');
+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,bmem32,');
+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,bmem32,');
+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,bmem64,');
+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,bmem64,');
+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,bmem64,');
+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,');
@@ -3575,17 +3593,17 @@ 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,bmem32,');
+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,bmem32,');
+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,bmem32,');
+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,bmem64,');
+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,bmem64,');
+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,bmem64,');
+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,');