summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-03-01 05:54:29 +0000
committertg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-03-01 05:54:29 +0000
commit240c1ce381e01db67b5155f52beaa24b9e931e0f (patch)
tree4eca8ec300a051fd51ffd0c4667eb811587123ec
parentc3dd955625063832dbe3a626fbd4e818a6a0e6de (diff)
downloadfpc-240c1ce381e01db67b5155f52beaa24b9e931e0f.tar.gz
avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48845 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--avx512-0037785/tests/utils/avx/asmtestgenerator.pas51
1 files changed, 51 insertions, 0 deletions
diff --git a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
index 4e223be760..1e96de98f1 100644
--- a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
+++ b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
@@ -4783,6 +4783,35 @@ begin
(OItem4.OpTyp in BMEMTYPES) then iOpNumMRef := 4;
case il_Operands of
+ 2: begin
+ sLogMsg := '';
+ sLogMsg := MapOperand(OItem1.Optyp) + MapOperand(OItem2.Optyp) + MapOperand(OItem3.Optyp);
+ if sLogMsg <> '' then
+ begin
+ //if (sLogMsg <> 'RMI') and
+ // (sLogMsg <> 'RRM') and
+ // (sLogMsg <> 'RMR') and
+ // (sLogMsg <> 'KKK') and
+ // (sLogMsg <> 'KKI') and
+ // (sLogMsg <> 'XXX') and
+ // (sLogMsg <> 'YYY') and
+ // (sLogMsg <> 'ZZZ') and
+ // (sLogMsg <> 'XXI') and
+ // (sLogMsg <> 'YYI') and
+ // (sLogMsg <> 'ZZI') and
+ // (sLogMsg <> 'XYI') and
+ // (sLogMsg <> 'YZI') and
+ // (sLogMsg <> 'XZI') and
+ // (sLogMsg <> 'RXI') and
+ // (sLogMsg <> 'RYI') and
+ // (sLogMsg <> 'RZI') and
+ //
+ //
+ // (sLogMsg <> 'XXR') then
+
+ writeln('offen : ' + sLogMsg + ' (' + aInst + ')');
+ end;
+ end;
3: if (OItem1.OpTyp = otKReg) and
(OItem2.OpTyp = otXMMReg) and
(OItem3.OpTyp in MEMTYPES) then OpMode := omKXM
@@ -5069,6 +5098,28 @@ begin
result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
end;
+ omMYI: begin
+ result.Add(format('%20s %6s + $2000, %6s, %s', [aInst, OItem1.Values[il_Op1], OItem2.Values[il_Op2], OItem3.Values[il_Op3] ]));
+ result.Add(format('%20s %6s, %s', ['vmovdqu', 'ymm0', OItem1.Values[il_Op1]]));
+ result.Add(format('%20s %6s, %s + $2000', ['vmovdqu', 'ymm1', OItem1.Values[il_Op1]]));
+
+ result.Add(format('%20s %6s, %6s, %s', ['vpcmpeqd', 'K2', 'YMM0', 'YMM1']));
+
+ result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
+ end;
+ omMZI: begin
+ result.Add(format('%20s %6s + $2000, %6s, %s', [aInst, OItem1.Values[il_Op1], OItem2.Values[il_Op2], OItem3.Values[il_Op3] ]));
+ result.Add(format('%20s %6s, %s', ['vmovdqu', 'zmm0', OItem1.Values[il_Op1]]));
+ result.Add(format('%20s %6s, %s + $2000', ['vmovdqu', 'zmm1', OItem1.Values[il_Op1]]));
+
+ result.Add(format('%20s %6s, %6s, %s', ['vpcmpeqq', 'K2', 'ZMM0', 'ZMM1']));
+
+ result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
+ end;
+
+
+
+
omXB32I,
omXB64I: begin
sMREF := OItem2.Values[il_Op2];