[fpc-devel] Register allocation question

Sergei Gorelkin sergei_gorelkin at mail.ru
Sat Apr 9 21:04:44 CEST 2011


09.04.2011 22:26, Sergei Gorelkin пишет:
> 09.04.2011 22:13, Jonas Maebe пишет:
>>
>> Simply changing the register order in the array to trgcpu.create in
>> Tcgx86_64.init_register_allocators should do it.
>>
> Hmm, that was the first thing I tried, but it doesnt't seem to make any difference :(
>
No, it works, I simply looked at the wrong place. As usual :-/

The right place to look is the function not calling other functions, not just any function simple 
enough.
Attached are assembler listings of system.indexqword() compiled for win64 with -O2, with and without 
the change. Note the prolog and epilog (almost) gone.

This is of course a very quick test, and I'll run the testsuite to check more thoroughly.
If no issues pop up, it is ok to commit?

Sergei
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: indexqword_old.asm
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20110409/5876063a/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: indexqword_new.asm
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20110409/5876063a/attachment-0001.ksh>


More information about the fpc-devel mailing list