mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-24 14:09:17 +02:00
avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: branches/tg74/avx512-0037785@48872 -
This commit is contained in:
parent
4cc3a7fb12
commit
afd1875834
@ -44,11 +44,17 @@ type
|
|||||||
|
|
||||||
omKXM, omKYM, omKZM,
|
omKXM, omKYM, omKZM,
|
||||||
omKXB32, omKXB64, omKYB32, omKYB64, omKZB32, omKZB64,
|
omKXB32, omKXB64, omKYB32, omKYB64, omKZB32, omKZB64,
|
||||||
|
omKXB32I, omKXB64I, omKXMI, omKYB32I, omKYB64I, omKYMI, omKZB32I, omKZB64I, omKZMI,
|
||||||
|
|
||||||
omKMI, omKB32I, omKB64I,
|
omKMI, omKB32I, omKB64I,
|
||||||
omMXI, omMYI, omMZI,
|
omMXI, omMYI, omMZI,
|
||||||
omXXM, omXXB32, omXXB64, omXMI, omXB32I, omXB64I,
|
omXXM, omXXB32, omXXB64, omXMI, omXB32I, omXB64I,
|
||||||
|
omXXMI, omXXB32I, omXXB64I,
|
||||||
|
|
||||||
omYYM, omYYB32, omYYB64, omYMI, omYB32I, omYB64I,
|
omYYM, omYYB32, omYYB64, omYMI, omYB32I, omYB64I,
|
||||||
omZZM, omZZB32, omZZB64, omZMI, omZB32I, omZB64I);
|
omYYMI, omYYB32I, omYYB64I,
|
||||||
|
omZZM, omZZB32, omZZB64, omZMI, omZB32I, omZB64I,
|
||||||
|
omZZMI, omZZB32I, omZZB64I);
|
||||||
|
|
||||||
TOperandListItem = class(TObject)
|
TOperandListItem = class(TObject)
|
||||||
private
|
private
|
||||||
@ -4789,7 +4795,7 @@ begin
|
|||||||
|
|
||||||
|
|
||||||
// TODO delete
|
// TODO delete
|
||||||
if il_Operands = 2 then
|
if il_Operands = 4 then
|
||||||
|
|
||||||
case il_Operands of
|
case il_Operands of
|
||||||
2: begin
|
2: begin
|
||||||
@ -4994,6 +5000,102 @@ begin
|
|||||||
writeln('offen : ' + sLogMsg + ' (' + aInst + ')');
|
writeln('offen : ' + sLogMsg + ' (' + aInst + ')');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
4: if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKXB32I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKXB64I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKXMI
|
||||||
|
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKYB32I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKYB64I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKYMI
|
||||||
|
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKZB32I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKZB64I
|
||||||
|
else if (OItem1.OpTyp = otKReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omKZMI
|
||||||
|
|
||||||
|
else if (OItem1.OpTyp = otXMMReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omXXB32I
|
||||||
|
else if (OItem1.OpTyp = otXMMReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omXXB64I
|
||||||
|
else if (OItem1.OpTyp = otYMMReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omYYB32I
|
||||||
|
else if (OItem1.OpTyp = otYMMReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omYYB64I
|
||||||
|
else if (OItem1.OpTyp = otZMMReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp = otB32) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omZZB32I
|
||||||
|
else if (OItem1.OpTyp = otZMMReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp = otB64) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omZZB64I
|
||||||
|
|
||||||
|
|
||||||
|
else if (OItem1.OpTyp = otXMMReg) and
|
||||||
|
(OItem2.OpTyp = otXMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omXXMI
|
||||||
|
else if (OItem1.OpTyp = otYMMReg) and
|
||||||
|
(OItem2.OpTyp = otYMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omYYMI
|
||||||
|
else if (OItem1.OpTyp = otZMMReg) and
|
||||||
|
(OItem2.OpTyp = otZMMReg) and
|
||||||
|
(OItem3.OpTyp in MEMTYPES) and
|
||||||
|
(OItem4.OpTyp = otIMM8) then OpMode := omZZMI
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
sLogMsg := '';
|
||||||
|
sLogMsg := MapOperand(OItem1.Optyp) + MapOperand(OItem2.Optyp) + MapOperand(OItem3.Optyp) + MapOperand(OItem4.Optyp);
|
||||||
|
if sLogMsg <> '' then
|
||||||
|
begin
|
||||||
|
|
||||||
|
if (sLogMsg <> 'KXXI') and
|
||||||
|
(sLogMsg <> 'KYYI') and
|
||||||
|
(sLogMsg <> 'KZZI') and
|
||||||
|
(sLogMsg <> 'XXRI') and
|
||||||
|
(sLogMsg <> 'XXXI') and
|
||||||
|
(sLogMsg <> 'YYYI') and
|
||||||
|
(sLogMsg <> 'ZZZI') then
|
||||||
|
|
||||||
|
writeln('offen : ' + sLogMsg + ' (' + aInst + ')');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
else;
|
else;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -5432,10 +5534,17 @@ begin
|
|||||||
|
|
||||||
result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
|
result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
omKXB32I, omKXB64I, omKXMI, omKYB32I, omKYB64I, omKYMI, omKZB32I, omKZB64I, omKZMI:;
|
||||||
|
omXXMI, omXXB32I, omXXB64I:;
|
||||||
|
omYYMI, omYYB32I, omYYB64I:;
|
||||||
|
omZZMI, omZZB32I, omZZB64I:;
|
||||||
|
|
||||||
|
|
||||||
else begin
|
else begin
|
||||||
sLogMsg := '';
|
sLogMsg := '';
|
||||||
sLogMsg := MapOperand(OItem1.Optyp) + MapOperand(OItem2.Optyp) + MapOperand(OItem3.Optyp);
|
sLogMsg := MapOperand(OItem1.Optyp) + MapOperand(OItem2.Optyp) + MapOperand(OItem3.Optyp);
|
||||||
writeln('offen - : ' + sLogMsg + ' (' + aInst + ')');
|
//writeln('offen - : ' + sLogMsg + ' (' + aInst + ')');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user