[fpc-devel] LEA instruction speed
Tomas Hajny
XHajT03 at hajny.biz
Tue Oct 10 10:57:34 CEST 2023
On 2023-10-09 20:51, J. Gareth Moreton via fpc-devel wrote:
Hi Kit,
> I updated the "blea" test in the merge request so it now displays the
> processor brand name on x86_64; however, it is not fetched under i386
> because CPUID was not introduced until later 486 processors. I've
> attached it to this e-mail if anyone wants to take a look to ensure I
> haven't broken something.
I don't know what's broken, but the results vary so much on a fast
machine that they are unusable for any measurement from my point of view
(standard 3.2.2 compiler, compiled with -O4 and running under MS Windows
this time). Sometimes the ADD version shows 0.0 ns/call, sometimes the
LEA version shows 0.0 ns/call (32-bits) or 0.1 ns/call (64-bits). See
the attached results (the CPU is only displayed for the 64-bit
compilation, but it's obviously the same CPU).
Tomas
>
> On 09/10/2023 18:01, J. Gareth Moreton via fpc-devel wrote:
>> Thank you very much! That processor is built on the Excavator
>> architecture and lines up with the flag I put in the merge request
>> (i.e. it has the "fast LEA" hint).
>>
>> I honestly didn't expect this much testing feedback, so thank you all!
>>
>> Gareth aka. Kit
>>
>> P.S. I'm tempted to extend the test slightly to actually name the CPU
>> automatically.
>>
>> On 09/10/2023 15:40, Jean SUZINEAU via fpc-devel wrote:
>>> My results:
>>> jean at First-Boss:~/temp$ cat /proc/cpuinfo | grep "model name"
>>> model name : AMD A6-7480 Radeon R5, 8 Compute Cores 2C+6G
>>> jean at First-Boss:~/temp$ /usr/bin/fpc blea.pp
>>> Free Pascal Compiler version 3.2.2 [2021/07/09] for x86_64
>>> Copyright (c) 1993-2021 by Florian Klaempfl and others
>>> Target OS: Linux for x86-64
>>> Compiling blea.pp
>>> Linking blea
>>> 95 lines compiled, 0.2 sec
>>> jean at First-Boss:~/temp$ ./blea
>>> Pascal control case: 5.1 ns/call
>>> Using LEA instruction: 0.5 ns/call
>>> Using ADD instructions: 0.8 ns/call
>>> jean at First-Boss:~/temp$
>>>
>>> _______________________________________________
>>> fpc-devel maillist - fpc-devel at lists.freepascal.org
>>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>>>
>> _______________________________________________
>> fpc-devel maillist - fpc-devel at lists.freepascal.org
>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: blea.txt
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20231010/ec38b9af/attachment-0001.txt>
More information about the fpc-devel
mailing list