[fpc-devel] Optimizations

Florian Klämpfl florian at freepascal.org
Sat Jan 25 23:55:12 CET 2014


Am 25.01.2014 23:00, schrieb Sven Barth:
> On 25.01.2014 17:09, Florian Klaempfl wrote:
>> Am 24.01.2014 09:32, schrieb Sven Barth:
>>> Am 24.01.2014 02:03, schrieb Martin Frb:
>>>> There is a bigger example, where exactly that was done, because FPCs
>>>> optimization was not sufficient enough for what the author wanted.
>>>> http://bugs.freepascal.org/view.php?id=10275
>>> In that context... @Florian: how is your SSA support coming along? :)
>>
>> Still WIP :) But a lot of my commits from the last weeks are spin-offs
>> of the SSA work.
>>
>> Together with all other improvements this results in significant better
>> code:
>>
>> fpc -l -O3 sha256.pp -S2
>> Free Pascal Compiler version 2.6.2 [2013/02/12] for i386
>> Copyright (c) 1993-2012 by Florian Klaempfl and others
>> Target OS: Win32 for i386
>> Compiling sha256.pp
>> Linking sha256.exe
>> 74 lines compiled, 0.1 sec , 26016 bytes code, 2220 bytes data
>>
>> fptime sha256
>> Expected: 3994057095, got 3994057095
>> 483.000 ms
>>
>>
>> pp -n @c:\fpc\bin\fpc.cfg -l -O4 sha256.pp -S2
>> Free Pascal Compiler version 2.7.1 [2014/01/25] for i386
>> Copyright (c) 1993-2013 by Florian Klaempfl and others
>>
>> fptime sha256
>> Expected: 3994057095, got 3994057095
>> 367.000 ms
> 
> Nice :D
> Still looking forward to more improvements regarding SSA ^^

Most could be probably gained in this example by moving variables into
xmm registers if only certain kind of operations are carried out on them.



More information about the fpc-devel mailing list