summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-12 11:01:31 +0000
committertg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-12 11:01:31 +0000
commit254725bd361a37fad9a3bd95132b8d5501ad77be (patch)
tree1ac8bf0f737ca620a5b526ffe39da68f5195f306
parent634fa798189ae748aa9676f06eff15fb91d0d4c6 (diff)
downloadfpc-254725bd361a37fad9a3bd95132b8d5501ad77be.tar.gz
avxtestgenerator add attsuffix in 'opcode-memrefsize-state - list' (command-line option '-l')
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48147 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--avx512-0037785/tests/utils/avx/asmtestgenerator.pas11
1 files changed, 10 insertions, 1 deletions
diff --git a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
index 055aa37c72..21423df5ff 100644
--- a/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
+++ b/avx512-0037785/tests/utils/avx/asmtestgenerator.pas
@@ -108,6 +108,7 @@ uses SysUtils, Dialogs, typinfo;
type
TAsmOp={$i ../../../compiler/x86_64/x8664op.inc}
+ TAttSuffix = (AttSufNONE,AttSufINT,AttSufFPU,AttSufFPUint,AttSufINTdual,AttSufMM,AttSufMMX,AttSufMMS);
TMemRefSizeInfo = (msiUnknown, msiUnsupported, msiNoSize, msiNoMemRef,
msiMultiple, msiMultipleMinSize8, msiMultipleMinSize16, msiMultipleMinSize32,
@@ -148,6 +149,7 @@ type
const
instabentries = {$i ../../../compiler/x86_64/x8664nop.inc}
+ gas_needsuffix:array[tasmop] of TAttSuffix={$i ../../../compiler/x86_64/x8664ats.inc}
MemRefMultiples: set of TMemRefSizeInfo = [msiMultiple, msiMultipleMinSize8,
msiMultipleMinSize16, msiMultipleMinSize32,
@@ -4072,6 +4074,7 @@ end;
class procedure TAsmTestGenerator.ListMemRefState;
var
i: integer;
+ sGasSufffix: string;
mrsize: TMemRefSizeInfo;
opcode: tasmop;
sl: TStringList;
@@ -4090,7 +4093,13 @@ begin
for opcode:=low(tasmop) to high(tasmop) do
begin
if InsTabMemRefSizeInfoCache^[opcode].MemRefSize = mrsize then
- sl.add(format('%-25s: %s', [GetEnumName(Typeinfo(TMemRefSizeInfo), ord(mrsize)), std_op2str[opcode]]));
+ begin
+ sGasSufffix:='';
+ if gas_needsuffix[opcode] <> AttSufNone then
+ sGasSufffix:=GetEnumName(Typeinfo(TAttSuffix), ord(gas_needsuffix[opcode]));
+
+ sl.add(format('%-25s: %s: %s', [GetEnumName(Typeinfo(TMemRefSizeInfo), ord(mrsize)), std_op2str[opcode], sGasSufffix]));
+ end;
end;
sl.Sort;