Explorar o código

working on new testmethods memref operands

git-svn-id: branches/tg74/avx512-0037785@47642 -
tg74 %!s(int64=4) %!d(string=hai) anos
pai
achega
9730a50a5b
Modificáronse 2 ficheiros con 65 adicións e 56 borrados
  1. 9 0
      compiler/x86/rax86.pas
  2. 56 56
      tests/utils/avx/avxopcodes.pas

+ 9 - 0
compiler/x86/rax86.pas

@@ -1973,6 +1973,15 @@ begin
                                   //) then
                                   (MemRefInfo(opcode).MemRefSizeBCST = msbBCST64) then
                                 asize:=OT_BITS64;
+                      OS_M128: if (operands[i].HasType) or
+                                  (MemRefInfo(opcode).MemRefSize = msiMem128) then
+				asize:=OT_BITS128;
+                      OS_M256: if (operands[i].HasType) or
+                                  (MemRefInfo(opcode).MemRefSize = msiMem256) then
+				asize:=OT_BITS256;
+                      OS_M512: if (operands[i].HasType) or
+                                  (MemRefInfo(opcode).MemRefSize = msiMem512) then
+				asize:=OT_BITS512;
                           else;
                end;
 

+ 56 - 56
tests/utils/avx/avxopcodes.pas

@@ -536,9 +536,9 @@ begin
   FOpCodeList.Add('vdivpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vdivpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vdivpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vdivpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vdivpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
-  FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,');
   FOpCodeList.Add('vdivps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vdivps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
@@ -584,10 +584,10 @@ begin
   FOpCodeList.Add('vmaxpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vmaxpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vmaxpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vmaxpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vmaxpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,');
   FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
-  FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vmaxps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vmaxps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vmaxps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -725,9 +725,9 @@ begin
   FOpCodeList.Add('vmulpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vmulpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vmulpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vmulpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vmulpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
-  FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,');
   FOpCodeList.Add('vmulps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vmulps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
@@ -743,9 +743,9 @@ begin
   FOpCodeList.Add('vorpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vorpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vorpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vorpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vorpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vorpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vorps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vorps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vorps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -794,9 +794,9 @@ begin
   FOpCodeList.Add('vpaddq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpaddq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpaddq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpaddq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpaddq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpaddq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpaddq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpaddq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpaddsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpaddsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpaddsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
@@ -848,9 +848,9 @@ begin
   FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,XMMREG,XMMRM,');
   FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,XMMREG,2B64,');
   FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,YMMREG,4B32,');
+  FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,YMMREG,4B64,');
   FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,ZMMREG,8B32,');
+  FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,ZMMREG,8B64,');
   FOpCodeList.Add('vpcmpeqq,1,1,0,XMMREG,XMMREG,XMMRM,');
   FOpCodeList.Add('vpcmpeqq,1,1,0,YMMREG,YMMREG,YMMRM,');
   FOpCodeList.Add('vpcmpeqw,1,1,1,KREG_M,XMMREG,XMMRM,');
@@ -876,9 +876,9 @@ begin
   FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,XMMREG,XMMRM,');
   FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,XMMREG,2B64,');
   FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,YMMREG,4B32,');
+  FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,YMMREG,4B64,');
   FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,ZMMREG,8B32,');
+  FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,ZMMREG,8B64,');
   FOpCodeList.Add('vpcmpgtq,1,1,0,XMMREG,XMMREG,XMMRM,');
   FOpCodeList.Add('vpcmpgtq,1,1,0,YMMREG,YMMREG,YMMRM,');
   FOpCodeList.Add('vpcmpgtw,1,1,1,KREG_M,XMMREG,XMMRM,');
@@ -894,13 +894,13 @@ begin
   FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
   FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,2B64,IMM8,');
   FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
-  FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,4B32,IMM8,');
+  FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,4B64,IMM8,');
   FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
-  FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,8B32,IMM8,');
+  FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,8B64,IMM8,');
   FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
@@ -1076,9 +1076,9 @@ begin
   FOpCodeList.Add('vpmuldq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpmuldq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpmuldq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpmuldq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpmuldq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpmuldq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpmuldq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpmuldq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpmulhrsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpmulhrsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpmulhrsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
@@ -1100,9 +1100,9 @@ begin
   FOpCodeList.Add('vpmuludq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpmuludq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpmuludq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpmuludq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpmuludq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpmuludq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpmuludq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpmuludq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpor,1,1,0,XMMREG,XMMREG,XMMRM,');
   FOpCodeList.Add('vpor,1,1,0,YMMREG,YMMREG,YMMRM,');
   FOpCodeList.Add('vpsadbw,1,1,1,XMMREG,XMMREG,XMMRM,');
@@ -1146,10 +1146,10 @@ begin
   FOpCodeList.Add('vpsllq,1,1,1,XMMREG_MZ,2B64,IMM8,');
   FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,YMMREG,XMMRM,');
   FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
-  FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,4B32,IMM8,');
+  FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,4B64,IMM8,');
   FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,');
   FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
-  FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,8B32,IMM8,');
+  FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,8B64,IMM8,');
   FOpCodeList.Add('vpsllw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsllw,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
   FOpCodeList.Add('vpsllw,1,1,1,YMMREG_MZ,YMMREG,XMMRM,');
@@ -1187,11 +1187,11 @@ begin
   FOpCodeList.Add('vpsrlq,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
   FOpCodeList.Add('vpsrlq,1,1,1,XMMREG_MZ,2B64,IMM8,');
   FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
-  FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,4B32,IMM8,');
+  FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,4B64,IMM8,');
   FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,YMMREG,XMMRM,');
   FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,');
   FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
-  FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,8B32,IMM8,');
+  FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,8B64,IMM8,');
   FOpCodeList.Add('vpsrlw,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
   FOpCodeList.Add('vpsrlw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsrlw,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
@@ -1210,9 +1210,9 @@ begin
   FOpCodeList.Add('vpsubq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsubq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpsubq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpsubq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpsubq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpsubq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpsubq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpsubq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpsubsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsubsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpsubsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
@@ -1242,9 +1242,9 @@ begin
   FOpCodeList.Add('vpunpckhqdq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpunpckhqdq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpunpckhqdq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpunpckhqdq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpunpckhqdq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpunpckhqdq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpunpckhqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpunpckhqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpunpckhwd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpunpckhwd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpunpckhwd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
@@ -1260,9 +1260,9 @@ begin
   FOpCodeList.Add('vpunpcklqdq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpunpcklqdq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpunpcklqdq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpunpcklqdq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpunpcklqdq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpunpcklqdq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpunpcklqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpunpcklqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpunpcklwd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpunpcklwd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpunpcklwd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
@@ -1287,9 +1287,9 @@ begin
   FOpCodeList.Add('vshufpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
   FOpCodeList.Add('vshufpd,1,1,1,XMMREG_MZ,XMMREG,2B64,IMM8');
   FOpCodeList.Add('vshufpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8');
-  FOpCodeList.Add('vshufpd,1,1,1,YMMREG_MZ,YMMREG,4B32,IMM8');
+  FOpCodeList.Add('vshufpd,1,1,1,YMMREG_MZ,YMMREG,4B64,IMM8');
   FOpCodeList.Add('vshufpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,IMM8');
-  FOpCodeList.Add('vshufpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,IMM8');
+  FOpCodeList.Add('vshufpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,IMM8');
   FOpCodeList.Add('vshufps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
   FOpCodeList.Add('vshufps,1,1,1,XMMREG_MZ,XMMREG,4B32,IMM8');
   FOpCodeList.Add('vshufps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8');
@@ -1299,9 +1299,9 @@ begin
   FOpCodeList.Add('vsqrtpd,1,1,1,XMMREG_MZ,XMMRM,,');
   FOpCodeList.Add('vsqrtpd,1,1,1,XMMREG_MZ,2B64,,');
   FOpCodeList.Add('vsqrtpd,1,1,1,YMMREG_MZ,YMMRM,,');
-  FOpCodeList.Add('vsqrtpd,1,1,1,YMMREG_MZ,4B32,,');
+  FOpCodeList.Add('vsqrtpd,1,1,1,YMMREG_MZ,4B64,,');
   FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,MEM512,,');
-  FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,8B32,,');
+  FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,8B64,,');
   FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,ZMMREG_ER,,');
   FOpCodeList.Add('vsqrtps,1,1,1,XMMREG_MZ,XMMRM,,');
   FOpCodeList.Add('vsqrtps,1,1,1,XMMREG_MZ,4B32,,');
@@ -1318,9 +1318,9 @@ begin
   FOpCodeList.Add('vsubpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vsubpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vsubpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vsubpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vsubpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
-  FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,');
   FOpCodeList.Add('vsubps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vsubps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
@@ -1344,9 +1344,9 @@ begin
   FOpCodeList.Add('vunpckhpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vunpckhpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vunpckhpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vunpckhpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vunpckhpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vunpckhpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vunpckhpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vunpckhpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vunpckhps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vunpckhps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vunpckhps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -1356,9 +1356,9 @@ begin
   FOpCodeList.Add('vunpcklpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vunpcklpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vunpcklpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vunpcklpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vunpcklpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vunpcklpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vunpcklpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vunpcklpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vunpcklps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vunpcklps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vunpcklps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -1368,9 +1368,9 @@ begin
   FOpCodeList.Add('vxorpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vxorpd,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vxorpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vxorpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vxorpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vxorpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vxorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vxorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vxorps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vxorps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vxorps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -1454,25 +1454,25 @@ begin
   FOpCodeList.Add('vpermd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
   FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,MEM256,IMM8,');
   FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,IMM8,');
-  FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,4B32,IMM8,');
+  FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,4B64,IMM8,');
   FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
-  FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,8B32,IMM8,');
+  FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,8B64,IMM8,');
   FOpCodeList.Add('vpermps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
   FOpCodeList.Add('vpermps,1,1,1,YMMREG_MZ,YMMREG,8B32,');
   FOpCodeList.Add('vpermps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
   FOpCodeList.Add('vpermps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
   FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
-  FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,4B32,IMM8,');
+  FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,4B64,IMM8,');
   FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
-  FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,8B32,IMM8,');
+  FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,8B64,IMM8,');
   FOpCodeList.Add('vpmaskmovd,1,1,0,XMMREG,XMMREG,MEM128,');
   FOpCodeList.Add('vpmaskmovd,1,1,0,MEM128,XMMREG,XMMREG,');
   FOpCodeList.Add('vpmaskmovd,1,1,0,YMMREG,YMMREG,MEM256,');
@@ -1490,9 +1490,9 @@ begin
   FOpCodeList.Add('vpsllvq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsllvq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpsllvq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpsllvq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpsllvq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpsllvq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpsllvq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpsllvq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
   FOpCodeList.Add('vpsravd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsravd,1,1,1,XMMREG_MZ,XMMREG,4B32,');
   FOpCodeList.Add('vpsravd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
@@ -1508,9 +1508,9 @@ begin
   FOpCodeList.Add('vpsrlvq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
   FOpCodeList.Add('vpsrlvq,1,1,1,XMMREG_MZ,XMMREG,2B64,');
   FOpCodeList.Add('vpsrlvq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
-  FOpCodeList.Add('vpsrlvq,1,1,1,YMMREG_MZ,YMMREG,4B32,');
+  FOpCodeList.Add('vpsrlvq,1,1,1,YMMREG_MZ,YMMREG,4B64,');
   FOpCodeList.Add('vpsrlvq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
-  FOpCodeList.Add('vpsrlvq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,');
+  FOpCodeList.Add('vpsrlvq,1,1,1,ZMMREG_MZ,ZMMREG,8B64,');
 
   FOpCodeList.Add('vgatherdpd,1,1,0,XMMREG,XMEM32,XMMREG,');
   FOpCodeList.Add('vgatherdpd,1,1,1,XMMREG_M,XMEM32,,');