diff options
author | tg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-01 16:16:06 +0000 |
---|---|---|
committer | tg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-01 16:16:06 +0000 |
commit | 59d229d0d9f46f2e56c792ec344d02591e3615f0 (patch) | |
tree | 2a682ee335f6b01bd897a0b336afd266d5059341 | |
parent | ea887d5225a751d35f5e70b11fc9949047423fb4 (diff) | |
download | fpc-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.pas | 17 | ||||
-rw-r--r-- | avx512-0037785/tests/utils/avx/avxopcodes.pas | 4 |
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; |