[fpc-devel] More on freepascal armhf porting attempt, some progress made but now stuck.

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Mar 15 13:16:20 CET 2012


On 11 Mar 2012, at 23:23, peter green wrote:

> Umm, my copy of narmcon.pas contains the following.
>
> NR_S0 = tregister($04060000);
> NR_S1 = tregister($04060000);
> NR_D0 = tregister($04070000);
>
> I can see how the compiler can tell whether i'm assigning S0 or D0  
> but I don't see how it can tell whether I am assigning S0 or S1 when  
> the constants I would use to make the assignment are defined to have  
> the exact same value.

You can give S1, S3, S5 etc different super register numbers (> $1F,  
so they don't conflict with the super register numbers for D0..D31).  
As long as you don't change the code in tarmcgarm/ 
Tthumb2cgarm.init_register_allocators() to explicitly tell the  
register allocator that it can use these "extra" registers, it will  
won't try to allocate them. Make sure to adjust first_mm_imreg in arm/ 
cpubase.pas afterwards (add $10 to it, since the numbers $20..$3F will  
now be used by S1, S3 etc).


Jonas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20120315/87e4f3c2/attachment.html>


More information about the fpc-devel mailing list