On 09 Apr 2011, at 20:08, Sergei Gorelkin wrote:

> I wonder whether it is possible to assign a priority (or order) of registers 
> for FPC's register allocator. Currently registers are allocated in the order 
> of ordinals defined in cpubase.pas. On i386 it doesn't make any difference, 
> but on x86_64 'nonvolatile' rbx (and in Win64 also rsi and rdi) are always 
> used before 'volatile' ones r8..r11. Reversing this order would help avoiding 
> stackframes in simple procedures, resulting in nicer code.
> 
> Maybe somebody could share some clues about if this is possible and where to 
> start looking?

Simply changing the register order in the array to trgcpu.create in 
Tcgx86_64.init_register_allocators should do it.


Jonas_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to