19.10.2011 17:45, Graeme Geldenhuys пишет:
Not that I understand much of the assembler generated, but what I did
notice is that Delphi XE2 64-bit uses the MOVAPD function (introduced in
SSE2 [1]), but even if I specify -O3 -CfSSE3 with 64-bit FPC, FPC only
uses the MOVSD (introduced in 386 [2]).
So is there place for optimizing FPC a bit more? Reducing the number of
instructions and using faster / newer assembler calls?
There are actually two different instructions called MOVSD, one for string manipulations, another
one is SSE2. Another such ambiguous instruction is CMPSD. This causes some confusion, and the wiki
page [2] contains a note on that.
The MOVSD instruction used by FPC is the from the SSE2 family, as well as MOVAPD, and has nothing to
do with 386.
Regards,
Sergei
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel