diff options
author | tg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-04 04:53:13 +0000 |
---|---|---|
committer | tg74 <tg74@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-04 04:53:13 +0000 |
commit | 611ca8ad56d84d4c163bb8b38c43d683fec3e476 (patch) | |
tree | 6a13e3fb6a1a7efbb8cf8dee2a4cd27ec2081fe7 | |
parent | d389c6c40ab18773869574d51719e4f1497716f1 (diff) | |
download | fpc-611ca8ad56d84d4c163bb8b38c43d683fec3e476.tar.gz |
avxtestgenerator: working on new tests for compressed disp8*N
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/tg74@48508 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | avx512-0037785/tests/utils/avx/avxopcodes.pas | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/avx512-0037785/tests/utils/avx/avxopcodes.pas b/avx512-0037785/tests/utils/avx/avxopcodes.pas index 7bc1adf155..02273b9bcd 100644 --- a/avx512-0037785/tests/utils/avx/avxopcodes.pas +++ b/avx512-0037785/tests/utils/avx/avxopcodes.pas @@ -3676,6 +3676,8 @@ begin slHeader.Add('Program $$$OPCODE$$$;'); slHeader.Add('{$asmmode intel}'); + slHeader.Add('uses sysutils;'); + slHeader.Add('const'); slHeader.Add(' cDataBlockByte: Array[0..255] of byte = ( $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E, $0F,'); slHeader.Add(' $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1F,'); @@ -3694,9 +3696,13 @@ begin slHeader.Add(' $E0, $E1, $E2, $E3, $E4, $E5, $E6, $E7, $E8, $E9, $EA, $EB, $EC, $ED, $EE, $EF,'); slHeader.Add(' $F0, $F1, $F2, $F3, $F4, $F5, $F6, $F7, $F8, $F9, $FA, $FB, $FC, $FD, $FE, $FF);'); slHeader.Add('var'); - slHeader.Add(' DataBlock: Array[0..$FFFF] of byte;'); - slheader.Add(' i: integer;'); + slHeader.Add(' DataBlock: Array[0..$3FFF] of dword;'); + slHeader.Add(' i: integer;'); + slHeader.Add('procedure writelnK7(aVal: dword);'); + slHeader.Add('begin'); + slHeader.Add(' writeln(''K7: '' + ' + 'inttostr(aVal));'); + slHeader.Add('end;'); slHeader.Add('begin'); slHeader.Add(' for i := 0 to high(DataBlock) do'); @@ -3726,15 +3732,19 @@ begin for i := 1 to 10 do slHeader.Add('NOP'); - slFooter.Add(' xor eax, eax'); + + for i := 1 to 10 do + slFooter.Add('NOP'); + slFooter.Add(' @@CHECKRESULT: '); + slFooter.Add(' kmovd eax, k7'); + slFooter.Add(' call writelnK7'); + slFooter.Add(' @@END: '); if aX64 then slFooter.Add(' pop rax') else slFooter.Add(' pop eax'); - for i := 1 to 10 do - slFooter.Add('NOP'); slFooter.Add(' end;'); slFooter.Add('end.'); |