working on new testmethods avx512-memref-operands - 'compressed disp8*N'

git-svn-id: branches/tg74/avx512-0037785@48804 -
This commit is contained in:
tg74 2021-02-24 16:29:26 +00:00 committed by Michaël Van Canneyt
parent 2f36069dae
commit 1893babd06

View File

@ -40,6 +40,7 @@ type
omKXM, omKYM, omKZM,
omKXB32, omKXB64, omKYB32, omKYB64, omKZB32, omKZB64,
omKMI, omKB32I, omKB64I,
omMXI, omMYI, omMZI,
omXXM, omXXB32, omXXB64, omXMI, omXB32I, omXB64I,
omYYM, omYYB32, omYYB64, omYMI, omYB32I, omYB64I,
omZZM, omZZB32, omZZB64, omZMI, omZB32I, omZB64I);
@ -4821,6 +4822,16 @@ begin
(OItem2.OpTyp = otB64) and
(OItem3.OpTyp = otIMM8) then OpMode := omKB64I
else if (OItem1.OpTyp in MEMTYPES) and
(OItem2.OpTyp = otXMMReg) and
(OItem3.OpTyp = otIMM8) then OpMode := omMXI
else if (OItem1.OpTyp in MEMTYPES) and
(OItem2.OpTyp = otYMMReg) and
(OItem3.OpTyp = otIMM8) then OpMode := omMYI
else if (OItem1.OpTyp in MEMTYPES) and
(OItem2.OpTyp = otZMMReg) and
(OItem3.OpTyp = otIMM8) then OpMode := omMZI
else if (OItem1.OpTyp = otXMMReg) and
(OItem2.OpTyp = otXMMReg) and
(OItem3.OpTyp in MEMTYPES) then OpMode := omXXM
@ -4969,6 +4980,13 @@ begin
result.Add(format('%20s%6s, %s', [' xor', sIndexReg, sIndexReg]));
end;
if OpMode in [omMXI, omMYI, omMZI] then
begin
result.Add(format('%-20s %6s', ['push', '']));
result.Add(format('%-20s %6s', ['pop', '']));
end;
//result.Add(format('%-20s%s', [aInst, sl_RegCombi]));
result.Add(format('%-20s %6s', [sInstruction, sRegCombi]));
@ -5012,6 +5030,16 @@ begin
result.Add(AsmCodeBlockCompare(iAsmCounter, cmXORTestNZ));
end;
omMXI: 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', 'xmm0', OItem1.Values[il_Op1]]));
result.Add(format('%20s%6s, $s + $2000', ['vmovdqu', 'xmm1', OItem1.Values[il_Op1]]));
result.Add(format('%20s%6s, %6s, %s', ['vpcmpeqw', 'K2', 'XMM0', 'XMM1']));
result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
end;
omXB32I,
omXB64I: begin
sMREF := OItem2.Values[il_Op2];