Browse Source

avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'

git-svn-id: branches/tg74/avx512-0037785@48492 -
tg74 4 years ago
parent
commit
3ada628813
2 changed files with 17 additions and 4 deletions
  1. 15 2
      tests/utils/avx/asmtestgenerator.pas
  2. 2 2
      tests/utils/avx/avxopcodes.pas

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

@@ -3578,6 +3578,7 @@ var
   il_Op2: integer;
   il_Op3: integer;
   il_Op4: integer;
+  iAsmCounter: integer;
 
   sSuffix: string;
   sl_Operand: String;
@@ -3736,6 +3737,8 @@ var
 begin
   result := TStringList.Create;
 
+  iAsmCounter := 0;
+
   OItem1 := TOperandListItem.Create;
   try
     OItem2 := TOperandListItem.Create;
@@ -4873,9 +4876,12 @@ begin
                         //result.Add(format('%-20s%s', [aInst, sl_RegCombi]));
                         result.Add(format('%-20s %6s', [sInstruction, sRegCombi]));
 
+                        inc(iAsmCounter);
                         case OpMode of
                             omKXM: begin
                                      result.Add(format('%20s%6s,%6s, %s + $00', [aInst, OItem1.Values[il_Op1], 'XMM1', OItem3.Values[il_Op3] ]));
+
+
                                      //result.Add(format('%20s%6s,%6s, %s',       ['vpcmpeqb', 'K2', OItem1.Values[il_Op1], 'XMM1']));
                                      //result.Add(format('%20s%6s,%6s, %s',       ['kandq', 'K1', 'K1', 'K2']));
                                      result.Add('');
@@ -4894,8 +4900,15 @@ begin
                                    end;
                             omXXM: begin
                                      result.Add(format('%20s%6s,%6s, %s + $00', [aInst, 'XMM1', 'XMM1', OItem3.Values[il_Op3] ]));
-                                     result.Add(format('%20s%6s,%6s, %s',       ['vpcmpeqb', 'K2', OItem1.Values[il_Op1], 'XMM1']));
-                                     result.Add(format('%20s%6s,%6s, %s',       ['kandq', 'K1', 'K1', 'K2']));
+                                     result.Add(format('%20s%6s,%6s, %s',       ['vpcmpeqq', 'K2', OItem1.Values[il_Op1], 'XMM1']));
+                                     result.Add(format('%20s%6s',               ['    push', 'EDX']));
+                                     result.Add(format('%20s%6s,%s',            ['     mov', 'EDX', str(iAsmCounter)]));
+                                     result.Add(format('%20s%6s',               ['    push', 'EDX']));
+                                     result.Add(format('%20s%6s,%6s',           ['   kmovd', 'EDX', 'K2']));
+                                     result.Add(format('%20s%6s,%6s',           ['     cmp', 'EDX', '$03']));
+                                     result.Add(format('%20s%6s',               ['     pop', 'EDX']));
+                                     result.Add(format('%20s%6s',               ['     jne', '@@CHECKRESULT']));
+                                     result.Add(format('%20s%6s',               ['     pop', 'EDX']));
                                      result.Add('');
                                    end;
                           omXXB32,

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

@@ -3713,12 +3713,12 @@ begin
 
                   if aX64 then
                   begin
-                    slHeader.Add('      lea       rax, cDataBlockByte');
+                    slHeader.Add('      lea       rax, DataBlock');
                     slHeader.Add('      push      rax');
                   end
                   else
                   begin
-                    slHeader.Add('      lea       eax, cDataBlockByte');
+                    slHeader.Add('      lea       eax, DataBlock');
                     slHeader.Add('      push      eax');
                   end;