[fpc-devel] More on freepascal armhf porting attempt, some progress made but now stuck.
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).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fpc-devel