Browse Source

build more tests avx512

git-svn-id: branches/tg74/avx512-0037785@47372 -
tg74 4 years ago
parent
commit
58c2e2d778
1 changed files with 127 additions and 2 deletions
  1. 127 2
      tests/utils/avx/asmtestgenerator.pas

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

@@ -629,6 +629,15 @@ begin
                   Item.Values.Add('XMM18' + sSuffix);
                   Item.Values.Add('XMM27' + sSuffix);
                   Item.Values.Add('XMM31' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('XMM0');
+                    Item.Values.Add('XMM9');
+                    Item.Values.Add('XMM18');
+                    Item.Values.Add('XMM27');
+                    Item.Values.Add('XMM31');
+                  end;    
                 end
                 else
                 begin
@@ -637,6 +646,15 @@ begin
                   Item.Values.Add('XMM8' + sSuffix);
                   Item.Values.Add('XMM12' + sSuffix);
                   Item.Values.Add('XMM15' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('XMM0');
+                    Item.Values.Add('XMM4');
+                    Item.Values.Add('XMM8');
+                    Item.Values.Add('XMM12');
+                    Item.Values.Add('XMM15');
+                  end;    
                 end;
               end;
             end
@@ -674,17 +692,26 @@ begin
                 if FAVX512 then
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM9' + sSuffix);
+                  Item.Values.Add('XMM9');
                   Item.Values.Add('XMM18' + sSuffix);
+                  Item.Values.Add('XMM18');
                   Item.Values.Add('XMM27' + sSuffix);
+                  Item.Values.Add('XMM27');
                   Item.Values.Add('XMM31' + sSuffix);
+                  Item.Values.Add('XMM31');
                 end
                 else
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM4' + sSuffix);
+                  Item.Values.Add('XMM4');
                   Item.Values.Add('XMM8' + sSuffix);
+                  Item.Values.Add('XMM8');
                   Item.Values.Add('XMM12' + sSuffix);
+                  Item.Values.Add('XMM15');
                   Item.Values.Add('XMM15' + sSuffix);
                 end;
 
@@ -730,18 +757,28 @@ begin
                 if FAVX512 then
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM9' + sSuffix);
+                  Item.Values.Add('XMM9');
                   Item.Values.Add('XMM18' + sSuffix);
+                  Item.Values.Add('XMM18');
                   Item.Values.Add('XMM27' + sSuffix);
+                  Item.Values.Add('XMM27');
                   Item.Values.Add('XMM31' + sSuffix);
+                  Item.Values.Add('XMM31');
                 end
                 else
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM4' + sSuffix);
+                  Item.Values.Add('XMM4');
                   Item.Values.Add('XMM8' + sSuffix);
+                  Item.Values.Add('XMM8');
                   Item.Values.Add('XMM12' + sSuffix);
+                  Item.Values.Add('XMM12');
                   Item.Values.Add('XMM15' + sSuffix);
+                  Item.Values.Add('XMM15');
                 end;
 
                 //Item.Values.Add('[RIP]');
@@ -790,18 +827,28 @@ begin
                 if FAVX512 then
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM9' + sSuffix);
+                  Item.Values.Add('XMM9');
                   Item.Values.Add('XMM18' + sSuffix);
+                  Item.Values.Add('XMM18');
                   Item.Values.Add('XMM27' + sSuffix);
+                  Item.Values.Add('XMM27');
                   Item.Values.Add('XMM31' + sSuffix);
+                  Item.Values.Add('XMM31');
                 end
                 else
                 begin
                   Item.Values.Add('XMM0' + sSuffix);
+                  Item.Values.Add('XMM0');
                   Item.Values.Add('XMM4' + sSuffix);
+                  Item.Values.Add('XMM4');
                   Item.Values.Add('XMM8' + sSuffix);
+                  Item.Values.Add('XMM8');
                   Item.Values.Add('XMM12' + sSuffix);
+                  Item.Values.Add('XMM12');
                   Item.Values.Add('XMM15' + sSuffix);
+                  Item.Values.Add('XMM15');
                 end;
 
                 //Item.Values.Add('[RIP]');
@@ -852,6 +899,15 @@ begin
                   Item.Values.Add('YMM18' + sSuffix);
                   Item.Values.Add('YMM27' + sSuffix);
                   Item.Values.Add('YMM31' + sSuffix);
+                  
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('YMM0');
+                    Item.Values.Add('YMM9');
+                    Item.Values.Add('YMM18');
+                    Item.Values.Add('YMM27');
+                    Item.Values.Add('YMM31');                      
+                  end;
                 end
                 else
                 begin
@@ -860,6 +916,15 @@ begin
                   Item.Values.Add('YMM8' + sSuffix);
                   Item.Values.Add('YMM12' + sSuffix);
                   Item.Values.Add('YMM15' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('YMM0');
+                    Item.Values.Add('YMM4');
+                    Item.Values.Add('YMM8');
+                    Item.Values.Add('YMM12');
+                    Item.Values.Add('YMM15');
+                  end;    
                 end;
               end;
             end
@@ -900,8 +965,17 @@ begin
                   Item.Values.Add('YMM0' + sSuffix);
                   Item.Values.Add('YMM9' + sSuffix);
                   Item.Values.Add('YMM18' + sSuffix);
-                  Item.Values.Add('YMM27' + sSuffix);
+                  Item.Values.Add('YMM27' +  sSuffix);
                   Item.Values.Add('YMM31' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('YMM0');
+                    Item.Values.Add('YMM9');
+                    Item.Values.Add('YMM18');
+                    Item.Values.Add('YMM27');
+                    Item.Values.Add('YMM31');
+                  end;    
                 end
                 else
                 begin
@@ -910,6 +984,15 @@ begin
                   Item.Values.Add('YMM8' + sSuffix);
                   Item.Values.Add('YMM12' + sSuffix);
                   Item.Values.Add('YMM15' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('YMM0');
+                    Item.Values.Add('YMM4');
+                    Item.Values.Add('YMM8');
+                    Item.Values.Add('YMM12');
+                    Item.Values.Add('YMM15');
+                  end;    
                 end;
 
                 MemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64Index, Item.Values);
@@ -957,6 +1040,15 @@ begin
                   Item.Values.Add('ZMM18' + sSuffix);
                   Item.Values.Add('ZMM27' + sSuffix);
                   Item.Values.Add('ZMM31' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('ZMM0');
+                    Item.Values.Add('ZMM9');
+                    Item.Values.Add('ZMM18');
+                    Item.Values.Add('ZMM27');
+                    Item.Values.Add('ZMM31');
+                  end;    
                 end
                 else
                 begin
@@ -1007,6 +1099,15 @@ begin
                   Item.Values.Add('ZMM18' + sSuffix);
                   Item.Values.Add('ZMM27' + sSuffix);
                   Item.Values.Add('ZMM31' + sSuffix);
+
+                  if sSuffix <> '' then
+                  begin
+                    Item.Values.Add('ZMM0');
+                    Item.Values.Add('ZMM9');
+                    Item.Values.Add('ZMM18');
+                    Item.Values.Add('ZMM27');
+                    Item.Values.Add('ZMM31');
+                  end;    
                 end
                 else
                 begin
@@ -1277,11 +1378,15 @@ begin
 
               if x64 then
               begin
-                VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
+		VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
+		if sSuffix <> '' then
+ 		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64XMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values);
+		if sSuffix <> '' then
+                 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32XMMIndex, Item.Values);
               end;
             end
             else if AnsiSameText(sl_Operand, 'XMEM64') or
@@ -1308,10 +1413,14 @@ begin
               if x64 then
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
+                if sSuffix <> '' then
+ 		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64XMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values);
+                if sSuffix <> '' then
+ 		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32XMMIndex, Item.Values);
               end;
 
             end
@@ -1339,10 +1448,14 @@ begin
               if x64 then
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values);
+                if sSuffix <> '' then
+		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64YMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values);
+                if sSuffix <> '' then
+		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32YMMIndex, Item.Values);
               end;
 
             end
@@ -1370,10 +1483,14 @@ begin
               if x64 then
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values);
+		if sSuffix <> '' then
+                 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64YMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values);
+                if sSuffix <> '' then
+		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32YMMIndex, Item.Values);
               end;
 
             end
@@ -1401,10 +1518,14 @@ begin
               if x64 then
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values);
+		if sSuffix <> '' then
+                 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64ZMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values);
+		if sSuffix <> '' then
+                 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32ZMMIndex, Item.Values);
               end;
 
             end
@@ -1432,10 +1553,14 @@ begin
               if x64 then
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values);
+		if sSuffix <> '' then
+                 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64ZMMIndex, Item.Values);
               end
               else
               begin
                 VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values);
+                if sSuffix <> '' then
+		 VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32ZMMIndex, Item.Values);
               end;
 
             end