[fpc-devel] Testing Intel/AMD AVX-Implemenation

Torsten fckama at freenet.de
Thu May 3 22:34:18 CEST 2012


Am 03.05.2012 20:25, schrieb 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?
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

> - 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:
This are not "official" opcodes. Are pseudo opcodes
e.g VCMPEQPD reg1, reg2, reg3  = VCMPPD reg1, reg2, reg3, 0

> 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  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
>

best regards
Torsten



More information about the fpc-devel mailing list