mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-05 15:50:42 +02:00
avxtestgenerator: working on new testmethods avx512-memref-operands - 'compressed disp8*N'
git-svn-id: branches/tg74/avx512-0037785@48492 -
This commit is contained in:
parent
bc6e837100
commit
3ada628813
@ -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,
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user