summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-01 16:16:06 +0000
committertg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-01 16:16:06 +0000
commit59d229d0d9f46f2e56c792ec344d02591e3615f0 (patch)
tree2a682ee335f6b01bd897a0b336afd266d5059341
parentea887d5225a751d35f5e70b11fc9949047423fb4 (diff)
downloadfpc-59d229d0d9f46f2e56c792ec344d02591e3615f0.tar.gz
avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48492 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--avx512-0037785/tests/utils/avx/asmtestgenerator.pas17
-rw-r--r--avx512-0037785/tests/utils/avx/avxopcodes.pas4
2 files changed, 17 insertions, 4 deletions
diff --git a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
index ecbd0a6694..84fff5a2dd 100644
--- a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
+++ b/avx512-0037785/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,
diff --git a/avx512-0037785/tests/utils/avx/avxopcodes.pas b/avx512-0037785/tests/utils/avx/avxopcodes.pas
index 06354ab3a8..fd2cca74bc 100644
--- a/avx512-0037785/tests/utils/avx/avxopcodes.pas
+++ b/avx512-0037785/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;