Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2012-05

Testing Intel/AMD AVX-Implemenation

14 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Unknown author

Hi,
 
my Intel/AMD assembler AVX 1 support is ready for testing.  
svn checkout http://svn.freepascal.org/svn/fpc/branches/tg74/avx ...  
build compiler:  ./compiler/make cycle
 
I have testing under Linux (32/64) with internal assembler writer and external assembler writer "gas"  
Please check compiling under "ppcgen" and "m68k" (only is compiling ok?).  
On i386 and x86_64 platform: win32/win64, freebsd ...  test with internal and external assembler  
Please, give me feedback.
 
 
Thanks
 
Torsten
 
 
 

---
Nutzen Sie freenet Mail optimal angepasst für Ihr iPhone, Android oder Nokia Handy auch von unterwegs. Alle Infos und Download unter freenetMail Apps

Reply by email

Florian Klämpfl
to Florian Klämpfl

Comments:
- I'am not happy with the new fields localvarsize and localconstoffset in rautils.toprrec. Increasing the size of toprrec will probably increase memory usage of the compiler, I also didn't get yet the use of the fields: localsym and localsymofs should allow to figure out the same?
- What's the advantage of the change in itx86int.findreg_by_intname?
- You use often

  begin
    statement
  end;
  While we follow only a few formatting rules in the compiler,
  I think this is very hard to read.

- What does rax86.IntToStr?
- I tried to figure out but why is tinsentry.flags a int64?
- I made a pascal "wrapper" around
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/avx.s?rev=1.8&content-type=text/x-cvsweb-markup&cvsroot=src and get:

tavx1.pp(93,9) Error: Unrecognized opcode vcmpeqpd
tavx1.pp(93,18) Error: Assembler syntax error
tavx1.pp(94,9) Error: Unrecognized opcode vcmpeqpd
tavx1.pp(94,19) Error: Assembler syntax error
tavx1.pp(95,9) Error: Unrecognized opcode vcmpltpd
tavx1.pp(95,18) Error: Assembler syntax error
tavx1.pp(96,9) Error: Unrecognized opcode vcmpltpd
tavx1.pp(96,19) Error: Assembler syntax error
tavx1.pp(97,9) Error: Unrecognized opcode vcmplepd
tavx1.pp(97,18) Error: Assembler syntax error
tavx1.pp(98,9) Error: Unrecognized opcode vcmplepd
tavx1.pp(98,19) Error: Assembler syntax error
tavx1.pp(99,9) Error: Unrecognized opcode vcmpunordpd
tavx1.pp(99,21) Error: Assembler syntax error
tavx1.pp(100,9) Error: Unrecognized opcode vcmpunordpd
tavx1.pp(100,22) Error: Assembler syntax error
tavx1.pp(101,9) Error: Unrecognized opcode vcmpneqpd
tavx1.pp(101,19) Error: Assembler syntax error
tavx1.pp(102,9) Error: Unrecognized opcode vcmpneqpd
tavx1.pp(102,20) Error: Assembler syntax error
tavx1.pp(103,9) Error: Unrecognized opcode vcmpnltpd
tavx1.pp(103,19) Error: Assembler syntax error
tavx1.pp(104,9) Error: Unrecognized opcode vcmpnltpd
tavx1.pp(104,20) Error: Assembler syntax error
tavx1.pp(105,9) Error: Unrecognized opcode vcmpnlepd
tavx1.pp(105,19) Error: Assembler syntax error
tavx1.pp(106,9) Error: Unrecognized opcode vcmpnlepd
tavx1.pp(106,20) Error: Assembler syntax error
tavx1.pp(107,9) Error: Unrecognized opcode vcmpordpd
tavx1.pp(107,19) Error: Assembler syntax error
tavx1.pp(108,9) Error: Unrecognized opcode vcmpordpd
tavx1.pp(108,20) Error: Assembler syntax error
tavx1.pp(109,9) Error: Unrecognized opcode vcmpeq_uqpd
tavx1.pp(109,21) Error: Assembler syntax error
tavx1.pp(110,9) Error: Unrecognized opcode vcmpeq_uqpd
tavx1.pp(110,22) Error: Assembler syntax error
tavx1.pp(111,9) Error: Unrecognized opcode vcmpngepd
tavx1.pp(111,19) Error: Assembler syntax error
tavx1.pp(112,9) Error: Unrecognized opcode vcmpngepd
tavx1.pp(112,20) Error: Assembler syntax error
tavx1.pp(113,9) Error: Unrecognized opcode vcmpngtpd
tavx1.pp(113,19) Error: Assembler syntax error
tavx1.pp(114,9) Error: Unrecognized opcode vcmpngtpd
tavx1.pp(114,20) Error: Assembler syntax error
tavx1.pp(115,9) Error: Unrecognized opcode vcmpfalsepd
tavx1.pp(115,21) Error: Assembler syntax error
tavx1.pp(116,9) Error: Unrecognized opcode vcmpfalsepd
tavx1.pp(116,22) Error: Assembler syntax error
tavx1.pp(117,9) Error: Unrecognized opcode vcmpneq_oqpd
tavx1.pp(117,22) Error: Assembler syntax error

Besides this, the changes look already very good to me!

Reply by email

Torsten
to Florian Klämpfl: Am 03.05.2012 10:49, schrieb Do you have any test files?
Florian Klämpfl wrote 25 lines
Am 03.05.2012 10:49, schrieb > Hi, > > > > my Intel/AMD assembler AVX 1 support is ready for testing. > > > > svn checkout http://svn.freepascal.org/svn/fpc/branches/tg74/avx ... > > > > build compiler: ./compiler/make cycle > > > > I have testing under Linux (32/64) with internal assembler writer and > external assembler writer "gas" Do you have any test files? _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Hi Florian,

i have 5 GByte testdata (64-bit). All opcode with all memory and register operands.

VADDPD XMM0, XMM0, XMM0
VADDPD XMM0, XMM0, XMM1
...
VADDPD XMM0, XMM0, [RAX + RAX]
VADDPD XMM0, XMM0, [RAX + RAX * 2]
VADDPD XMM0, XMM0, [RAX + RAX * 4]
VADDPD XMM0, XMM0, [RAX + RAX * 8]
VADDPD XMM0, XMM0, [RAX + RAX * 2 + 16] VADDPD XMM0, XMM0, [RAX + RAX * 4 + 32] VADDPD XMM0, XMM0, [RAX + RAX * 8 + 48] ...
VADDPD YMM15, YMM15, [R15 + R15 * 8 + 48]

= 44 MB filesize

I have also build nasm assembler -file to compile with nasm and than i compare the binary output with a little tool (also compare fpc internal assembler result with the result of external assembler "gas").

Torsten

Reply by email

Torsten
to Florian Klämpfl: Comments: - I'am not happy with the new fields localvarsize and localconstoffset in…
Florian Klämpfl wrote 5 lines
Comments: - I'am not happy with the new fields localvarsize and localconstoffset in rautils.toprrec. Increasing the size of toprrec will probably increase memory usage of the compiler, I also didn't get yet the use of the fields: localsym and localsymofs should allow to figure out the same?

I need a little bit time for this question.

- What's the advantage of the change in itx86int.findreg_by_intname?

we have now more then 127 register: =>> old version works not correct (i don't understand why, and so i build a new version

- You use often begin statement end;

sorry, is my favorit style

While we follow only a few formatting rules in the compiler, I think this is very hard to read. - What does rax86.IntToStr?

i need this for create warnings (check memory reference size) and i don't like include a rtl unit.

- I tried to figure out but why is tinsentry.flags a int64?

i had added new const =>> i needed more bits, after redesign i have delete this const

This are not "official" opcodes. Are pseudo opcodes e.g VCMPEQPD reg1, reg2, reg3 = VCMPPD reg1, reg2, reg3, 0

Show quoted text 57 lines
tavx1.pp(93,9) Error: Unrecognized opcode vcmpeqpd tavx1.pp(93,18) Error: Assembler syntax error tavx1.pp(94,9) Error: Unrecognized opcode vcmpeqpd tavx1.pp(94,19) Error: Assembler syntax error tavx1.pp(95,9) Error: Unrecognized opcode vcmpltpd tavx1.pp(95,18) Error: Assembler syntax error tavx1.pp(96,9) Error: Unrecognized opcode vcmpltpd tavx1.pp(96,19) Error: Assembler syntax error tavx1.pp(97,9) Error: Unrecognized opcode vcmplepd tavx1.pp(97,18) Error: Assembler syntax error tavx1.pp(98,9) Error: Unrecognized opcode vcmplepd tavx1.pp(98,19) Error: Assembler syntax error tavx1.pp(99,9) Error: Unrecognized opcode vcmpunordpd tavx1.pp(99,21) Error: Assembler syntax error tavx1.pp(100,9) Error: Unrecognized opcode vcmpunordpd tavx1.pp(100,22) Error: Assembler syntax error tavx1.pp(101,9) Error: Unrecognized opcode vcmpneqpd tavx1.pp(101,19) Error: Assembler syntax error tavx1.pp(102,9) Error: Unrecognized opcode vcmpneqpd tavx1.pp(102,20) Error: Assembler syntax error tavx1.pp(103,9) Error: Unrecognized opcode vcmpnltpd tavx1.pp(103,19) Error: Assembler syntax error tavx1.pp(104,9) Error: Unrecognized opcode vcmpnltpd tavx1.pp(104,20) Error: Assembler syntax error tavx1.pp(105,9) Error: Unrecognized opcode vcmpnlepd tavx1.pp(105,19) Error: Assembler syntax error tavx1.pp(106,9) Error: Unrecognized opcode vcmpnlepd tavx1.pp(106,20) Error: Assembler syntax error tavx1.pp(107,9) Error: Unrecognized opcode vcmpordpd tavx1.pp(107,19) Error: Assembler syntax error tavx1.pp(108,9) Error: Unrecognized opcode vcmpordpd tavx1.pp(108,20) Error: Assembler syntax error tavx1.pp(109,9) Error: Unrecognized opcode vcmpeq_uqpd tavx1.pp(109,21) Error: Assembler syntax error tavx1.pp(110,9) Error: Unrecognized opcode vcmpeq_uqpd tavx1.pp(110,22) Error: Assembler syntax error tavx1.pp(111,9) Error: Unrecognized opcode vcmpngepd tavx1.pp(111,19) Error: Assembler syntax error tavx1.pp(112,9) Error: Unrecognized opcode vcmpngepd tavx1.pp(112,20) Error: Assembler syntax error tavx1.pp(113,9) Error: Unrecognized opcode vcmpngtpd tavx1.pp(113,19) Error: Assembler syntax error tavx1.pp(114,9) Error: Unrecognized opcode vcmpngtpd tavx1.pp(114,20) Error: Assembler syntax error tavx1.pp(115,9) Error: Unrecognized opcode vcmpfalsepd tavx1.pp(115,21) Error: Assembler syntax error tavx1.pp(116,9) Error: Unrecognized opcode vcmpfalsepd tavx1.pp(116,22) Error: Assembler syntax error tavx1.pp(117,9) Error: Unrecognized opcode vcmpneq_oqpd tavx1.pp(117,22) Error: Assembler syntax error Besides this, the changes look already very good to me! _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

best regards
Torsten

Reply by email

Sven Barth
to Torsten
Torsten wrote 5 lines
> While we follow only a few formatting rules in the compiler, > I think this is very hard to read. > - What does rax86.IntToStr? i need this for create warnings (check memory reference size) and i don't like include a rtl unit.

SysUtils is already used in ~100 units in the compiler, so you can use it as well.

Regards,
Sven

Reply by email

Sergei Gorelkin
to Sven Barth

04.05.2012 10:39, Sven Barth пишет:

Show quoted text 9 lines
Am 03.05.2012 22:34, schrieb Torsten: >> While we follow only a few formatting rules in the compiler, >> I think this is very hard to read. >> - What does rax86.IntToStr? > i need this for create warnings (check memory reference size) and i > don't like include a rtl unit. SysUtils is already used in ~100 units in the compiler, so you can use it as well.

The compiler itself uses tostr function from cutils unit.

Sergei

Reply by email

Sven Barth
to Sergei Gorelkin
Sergei Gorelkin wrote 12 lines
04.05.2012 10:39, Sven Barth пишет: > Am 03.05.2012 22:34, schrieb Torsten: >>> While we follow only a few formatting rules in the compiler, >>> I think this is very hard to read. >>> - What does rax86.IntToStr? >> i need this for create warnings (check memory reference size) and i >> don't like include a rtl unit. > > SysUtils is already used in ~100 units in the compiler, so you can use > it as well. > The compiler itself uses tostr function from cutils unit.

Not always. There are a few cases where IntToStr is used (I don't know whether by accident or on purpose).

Though if the compiler contains a custom routine for that (in this case "tostr") then this should be used, of course, Torsten.

Regards,
Sven

Reply by email

Torsten
to Florian Klämpfl: Comments: - I'am not happy with the new fields localvarsize and localconstoffset in…
Florian Klämpfl wrote 5 lines
Comments: - I'am not happy with the new fields localvarsize and localconstoffset in rautils.toprrec. Increasing the size of toprrec will probably increase memory usage of the compiler, I also didn't get yet the use of the fields: localsym and localsymofs should allow to figure out the same?

I need this to validate memory-reference-operands (only SSE- or AVX opcodes).
Calculate the size of record-elements is impossible (with localsym) in Tx86Instruction.AddReferenceSize.
Get the offset of record-elements is impossible (with localsymofs) in Tx86Instruction.AddReferenceSize.

type
   TYMMWord = record
     i0: dword;
     i1: dword;
     i2: dword;
     i3: dword;
     i4: dword;
     i5: dword;
     i6: dword;
     i7: dword;
   end;

datatyp localvarsize tabstractnormalvarsym(localsym) localconstoffset localsymofs
byte 1 1 word 2 2 dword 4 4 ...

TYMMWord 32 32 0
0
TYMMWord.i1 4 32 0
4
TYMMWord.i1 + 16 4 32
16 20

I have not simple idea how to use localsym and localsymofs to validate memory-reference-size.

Besides this, the changes look already very good to me!

Thanks

Show quoted text 5 lines
_______________________________________________ fpc-devel maillist http://lists.freepascal.org/mailman/listinfo/fpc-devel

Torsten

Reply by email

Florian Klämpfl
to Torsten: i have 5 GByte testdata (64-bit). All opcode with all memory and register operands.…
Torsten wrote 31 lines
Am 03.05.2012 18:24, schrieb Florian Klämpfl: > Am 03.05.2012 10:49, schrieb >> Hi, >> >> >> >> my Intel/AMD assembler AVX 1 support is ready for testing. >> >> >> >> svn checkout http://svn.freepascal.org/svn/fpc/branches/tg74/avx ... >> >> >> >> build compiler: ./compiler/make cycle >> >> >> >> I have testing under Linux (32/64) with internal assembler writer and >> external assembler writer "gas" > Do you have any test files? > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel > > Hi Florian, i have 5 GByte testdata (64-bit). All opcode with all memory and register operands.

Did you use some generator which you can provide so other people could generate the same testdate if needed?

Show quoted text 19 lines
VADDPD XMM0, XMM0, XMM0 VADDPD XMM0, XMM0, XMM1 ... VADDPD XMM0, XMM0, [RAX + RAX] VADDPD XMM0, XMM0, [RAX + RAX * 2] VADDPD XMM0, XMM0, [RAX + RAX * 4] VADDPD XMM0, XMM0, [RAX + RAX * 8] VADDPD XMM0, XMM0, [RAX + RAX * 2 + 16] VADDPD XMM0, XMM0, [RAX + RAX * 4 + 32] VADDPD XMM0, XMM0, [RAX + RAX * 8 + 48] ... VADDPD YMM15, YMM15, [R15 + R15 * 8 + 48] = 44 MB filesize I have also build nasm assembler -file to compile with nasm and than i compare the binary output with a little tool (also compare fpc internal assembler result with the result of external assembler "gas").

Can you generate a smaller test selecting random instructions from this big test file (several 10k) so we can add it to the testsuite? See http://svn.freepascal.org/svn/fpc/trunk/tests/test/tasm2.pp how correct assembling can be automatically tests (the byte array is a dump of the file assembled by gas/nasm?)

Reply by email

Torsten
to Florian Klämpfl
Florian Klämpfl wrote 33 lines
Am 03.05.2012 22:01, schrieb Torsten: > Am 03.05.2012 18:24, schrieb Florian Klämpfl: >> Am 03.05.2012 10:49, schrieb >>> Hi, >>> >>> >>> >>> my Intel/AMD assembler AVX 1 support is ready for testing. >>> >>> >>> >>> svn checkout http://svn.freepascal.org/svn/fpc/branches/tg74/avx ... >>> >>> >>> >>> build compiler: ./compiler/make cycle >>> >>> >>> >>> I have testing under Linux (32/64) with internal assembler writer and >>> external assembler writer "gas" >> Do you have any test files? >> _______________________________________________ >> fpc-devel maillist - >> http://lists.freepascal.org/mailman/listinfo/fpc-devel >> >> > Hi Florian, > > i have 5 GByte testdata (64-bit). All opcode with all memory and > register operands. Did you use some generator which you can provide so other people could generate the same testdate if needed?

Yes, i can, but i need a little bit time for this.

Show quoted text 23 lines
> VADDPD XMM0, XMM0, XMM0 > VADDPD XMM0, XMM0, XMM1 > ... > VADDPD XMM0, XMM0, [RAX + RAX] > VADDPD XMM0, XMM0, [RAX + RAX * 2] > VADDPD XMM0, XMM0, [RAX + RAX * 4] > VADDPD XMM0, XMM0, [RAX + RAX * 8] > VADDPD XMM0, XMM0, [RAX + RAX * 2 + 16] > VADDPD XMM0, XMM0, [RAX + RAX * 4 + 32] > VADDPD XMM0, XMM0, [RAX + RAX * 8 + 48] > ... > VADDPD YMM15, YMM15, [R15 + R15 * 8 + 48] > > = 44 MB filesize > > I have also build nasm assembler -file to compile with nasm and than i > compare the binary output with a little tool (also compare fpc internal > assembler result with the result of external assembler "gas"). Can you generate a smaller test selecting random instructions from this big test file (several 10k) so we can add it to the testsuite? See http://svn.freepascal.org/svn/fpc/trunk/tests/test/tasm2.pp how correct assembling can be automatically tests (the byte array is a dump of the file assembled by gas/nasm?)

OK.

_______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Torsten

Reply by email

Torsten
to Torsten
Torsten wrote 35 lines
Am 04.05.2012 21:29, schrieb Florian Klämpfl: > Am 03.05.2012 22:01, schrieb Torsten: >> Am 03.05.2012 18:24, schrieb Florian Klämpfl: >>> Am 03.05.2012 10:49, schrieb >>>> Hi, >>>> >>>> >>>> >>>> my Intel/AMD assembler AVX 1 support is ready for testing. >>>> >>>> >>>> >>>> svn checkout http://svn.freepascal.org/svn/fpc/branches/tg74/avx ... >>>> >>>> >>>> >>>> build compiler: ./compiler/make cycle >>>> >>>> >>>> >>>> I have testing under Linux (32/64) with internal assembler writer and >>>> external assembler writer "gas" >>> Do you have any test files? >>> _______________________________________________ >>> fpc-devel maillist - >>> http://lists.freepascal.org/mailman/listinfo/fpc-devel >>> >>> >> Hi Florian, >> >> i have 5 GByte testdata (64-bit). All opcode with all memory and >> register operands. > Did you use some generator which you can provide so other people could > generate the same testdate if needed? Yes, i can, but i need a little bit time for this.

I have add 2 little tools for generating avx-assemblercode and compare binary-files in my private branch
"http://svn.freepascal.org/svn/fpc/branches/tg74/avx". Under "tests/utils/avx/" exists "avxtestfilecmp.pp" and "avxtestgenerator.pp"

happy testing.

Please give me feedback!

Show quoted text 38 lines
>> VADDPD XMM0, XMM0, XMM0 >> VADDPD XMM0, XMM0, XMM1 >> ... >> VADDPD XMM0, XMM0, [RAX + RAX] >> VADDPD XMM0, XMM0, [RAX + RAX * 2] >> VADDPD XMM0, XMM0, [RAX + RAX * 4] >> VADDPD XMM0, XMM0, [RAX + RAX * 8] >> VADDPD XMM0, XMM0, [RAX + RAX * 2 + 16] >> VADDPD XMM0, XMM0, [RAX + RAX * 4 + 32] >> VADDPD XMM0, XMM0, [RAX + RAX * 8 + 48] >> ... >> VADDPD YMM15, YMM15, [R15 + R15 * 8 + 48] >> >> = 44 MB filesize >> >> I have also build nasm assembler -file to compile with nasm and than i >> compare the binary output with a little tool (also compare fpc internal >> assembler result with the result of external assembler "gas"). > Can you generate a smaller test selecting random instructions from this > big test file (several 10k) so we can add it to the testsuite? See > http://svn.freepascal.org/svn/fpc/trunk/tests/test/tasm2.pp how correct > assembling can be automatically tests (the byte array is a dump of the > file assembled by gas/nasm?) OK. > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel > Torsten _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Torsten
to Florian Klämpfl: Comments: - I'am not happy with the new fields localvarsize and localconstoffset in…

Hi,

Florian Klämpfl wrote 5 lines
Comments: - I'am not happy with the new fields localvarsize and localconstoffset in rautils.toprrec. Increasing the size of toprrec will probably increase memory usage of the compiler, I also didn't get yet the use of the fields: localsym and localsymofs should allow to figure out the same?

Don't understand this. The lifetime of a "Tx86Instruction"-Instance (and the childs Tx86Operand) on i386 and x86_64 platform is very short.

I don't known on other platforms. If is a problem, then i can move the new fields to Tx86Operand.

Show quoted text 70 lines
- What's the advantage of the change in itx86int.findreg_by_intname? - You use often begin statement end; While we follow only a few formatting rules in the compiler, I think this is very hard to read. - What does rax86.IntToStr? - I tried to figure out but why is tinsentry.flags a int64? - I made a pascal "wrapper" around http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/i386/avx.s?rev=1.8&content-type=text/x-cvsweb-markup&cvsroot=src and get: tavx1.pp(93,9) Error: Unrecognized opcode vcmpeqpd tavx1.pp(93,18) Error: Assembler syntax error tavx1.pp(94,9) Error: Unrecognized opcode vcmpeqpd tavx1.pp(94,19) Error: Assembler syntax error tavx1.pp(95,9) Error: Unrecognized opcode vcmpltpd tavx1.pp(95,18) Error: Assembler syntax error tavx1.pp(96,9) Error: Unrecognized opcode vcmpltpd tavx1.pp(96,19) Error: Assembler syntax error tavx1.pp(97,9) Error: Unrecognized opcode vcmplepd tavx1.pp(97,18) Error: Assembler syntax error tavx1.pp(98,9) Error: Unrecognized opcode vcmplepd tavx1.pp(98,19) Error: Assembler syntax error tavx1.pp(99,9) Error: Unrecognized opcode vcmpunordpd tavx1.pp(99,21) Error: Assembler syntax error tavx1.pp(100,9) Error: Unrecognized opcode vcmpunordpd tavx1.pp(100,22) Error: Assembler syntax error tavx1.pp(101,9) Error: Unrecognized opcode vcmpneqpd tavx1.pp(101,19) Error: Assembler syntax error tavx1.pp(102,9) Error: Unrecognized opcode vcmpneqpd tavx1.pp(102,20) Error: Assembler syntax error tavx1.pp(103,9) Error: Unrecognized opcode vcmpnltpd tavx1.pp(103,19) Error: Assembler syntax error tavx1.pp(104,9) Error: Unrecognized opcode vcmpnltpd tavx1.pp(104,20) Error: Assembler syntax error tavx1.pp(105,9) Error: Unrecognized opcode vcmpnlepd tavx1.pp(105,19) Error: Assembler syntax error tavx1.pp(106,9) Error: Unrecognized opcode vcmpnlepd tavx1.pp(106,20) Error: Assembler syntax error tavx1.pp(107,9) Error: Unrecognized opcode vcmpordpd tavx1.pp(107,19) Error: Assembler syntax error tavx1.pp(108,9) Error: Unrecognized opcode vcmpordpd tavx1.pp(108,20) Error: Assembler syntax error tavx1.pp(109,9) Error: Unrecognized opcode vcmpeq_uqpd tavx1.pp(109,21) Error: Assembler syntax error tavx1.pp(110,9) Error: Unrecognized opcode vcmpeq_uqpd tavx1.pp(110,22) Error: Assembler syntax error tavx1.pp(111,9) Error: Unrecognized opcode vcmpngepd tavx1.pp(111,19) Error: Assembler syntax error tavx1.pp(112,9) Error: Unrecognized opcode vcmpngepd tavx1.pp(112,20) Error: Assembler syntax error tavx1.pp(113,9) Error: Unrecognized opcode vcmpngtpd tavx1.pp(113,19) Error: Assembler syntax error tavx1.pp(114,9) Error: Unrecognized opcode vcmpngtpd tavx1.pp(114,20) Error: Assembler syntax error tavx1.pp(115,9) Error: Unrecognized opcode vcmpfalsepd tavx1.pp(115,21) Error: Assembler syntax error tavx1.pp(116,9) Error: Unrecognized opcode vcmpfalsepd tavx1.pp(116,22) Error: Assembler syntax error tavx1.pp(117,9) Error: Unrecognized opcode vcmpneq_oqpd tavx1.pp(117,22) Error: Assembler syntax error Besides this, the changes look already very good to me! _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

best regards

Torsten

Reply by email