summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;