summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-03-09 16:31:02 +0000
committertg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-03-09 16:31:02 +0000
commitb497886a6ce091bc103193d717ed175c976f577c (patch)
treeab868b5128bb443740367f1ba3157d828e64933c
parentcea05bc7ee62a803b1965a338ab50655b5cba038 (diff)
downloadfpc-tg74.tar.gz
working on new testmethods avx512-memref-operands - 'compressed disp8*N'tg74
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48927 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--avx512-0037785/tests/utils/avx/asmtestgenerator.pas31
-rw-r--r--avx512-0037785/tests/utils/avx/avxopcodes.pas6
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;