From b497886a6ce091bc103193d717ed175c976f577c Mon Sep 17 00:00:00 2001 From: tg74 Date: Tue, 9 Mar 2021 16:31:02 +0000 Subject: working on new testmethods avx512-memref-operands - 'compressed disp8*N' git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48927 3ad0048d-3df7-0310-abae-a5850022a9f2 --- .../tests/utils/avx/asmtestgenerator.pas | 31 ++++++++++++++++------ avx512-0037785/tests/utils/avx/avxopcodes.pas | 6 +++++ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas index 522d5f749b..89f1adccd7 100644 --- a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas +++ b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas @@ -3776,14 +3776,29 @@ var Add(format('%20s%6s', [' pop', sReg])); case aComparemode of - cmKORTESTNC: begin - Add(format('%20s%6s, %s', ['ktestb', 'K2', 'K1'])); - Add(format('%20s %6s', [' jnc', '@@CHECKRESULT'])); - end; - cmXORTestNZ: begin - Add(format('%20s%6s, %s', ['kortestq', 'K2', 'K2'])); - Add(format('%20s %6s', [' jnz', '@@CHECKRESULT'])); - end; + //cmKORTESTNC: begin + // Add(format('%20s%6s, %s', ['ktestb', 'K2', 'K1'])); + // Add(format('%20s %6s', [' jnc', '@@CHECKRESULT'])); + // end; + //cmXORTestNZ: begin + // Add(format('%20s%6s, %s', ['kortestq', 'K2', 'K2'])); + // Add(format('%20s %6s', [' jnz', '@@CHECKRESULT'])); + // end; + cmKORTESTNC: begin + Add(format('%20s%6s, %s', ['ktestb', 'K2', 'K1'])); + Add(format('%20s%6s, %s', [' kmovq', 'R10', 'K6'])); + Add(format('%20s%6s, @@%d[RIP]', ['cmovc', 'R10', aAsmCounter])); + Add(format('%20s %6s', [' jmp', 'R10'])); + Add(format(' @@%d%s', [aAsmCounter, ':'])); + end; + cmXORTestNZ: begin + Add(format('%20s%6s, %s', ['kortestq', 'K2', 'K2'])); + Add(format('%20s%6s, %s', [' kmovq', 'R10', 'K6'])); + Add(format('%20s%6s, @@%d[RIP]', ['cmovz', 'R10', aAsmCounter])); + Add(format('%20s %6s', [' jmp', 'R10'])); + Add(format(' @@%d%s', [aAsmCounter, ':'])); + end; + end; result := Text; diff --git a/avx512-0037785/tests/utils/avx/avxopcodes.pas b/avx512-0037785/tests/utils/avx/avxopcodes.pas index 4644562c23..e31b7f2c1b 100644 --- a/avx512-0037785/tests/utils/avx/avxopcodes.pas +++ b/avx512-0037785/tests/utils/avx/avxopcodes.pas @@ -3734,11 +3734,17 @@ begin if aX64 then begin + slHeader.Add(' lea rax, @@CHECKRESULT'); + slHeader.Add(' kmovq k6, rax'); + slHeader.Add(' lea rax, DataBlock'); slHeader.Add(' push rax'); end else begin + slHeader.Add(' lea eax, @@CHECKRESULT'); + slHeader.Add(' kmovd k6, eax'); + slHeader.Add(' lea eax, DataBlock'); slHeader.Add(' push eax'); end; -- cgit v1.2.1