Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-20 Thread peter green
peter green wrote: The bad news is that a number of testcases are still failing. Next on my list is 16 singles. Ok that was easy, a small logic flaw in my code was preventing a parameter being correctly assigned to the last available single precision register when it should have been. And with

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-19 Thread Daniël Mantione
Op Sun, 18 Mar 2012, schreef peter green: My suspiscion was that the compiler was trying to spill but not actually generating any code to implement the spill. I added a debug writeln to setbitmap and it does seem to be being called with both 50,70 and 70,50. Full output is at

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-19 Thread peter green
Okay, it is quite unlikely that the register allocator itself ignores such an interference, so you may be rigth it tries to spill but nothing happens. Ok that wasn't the issue but you were right about not being the register allocator. Turns out the actual cause was a one character typo

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-18 Thread Daniël Mantione
Op Sat, 17 Mar 2012, schreef peter green: I don't think my previous mail got through but if it does please disregard it, my suspiscions as to the cause of the problem were incorrect. While testing my armhf porting work I came across a case where parameters were passed incorrectly to a

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-18 Thread peter green
Daniël Mantione wrote: Please use the command line option -sr to check the generated code before register allocation. Done and attatched. You can likely find the cause in there. The code with imaginary registers looks correct to me. It seems to load each parameter into a seperate even

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-18 Thread Daniël Mantione
Op Sun, 18 Mar 2012, schreef peter green: Daniël Mantione wrote: Please use the command line option -sr to check the generated code before register allocation. Done and attatched. You can likely find the cause in there. The code with imaginary registers looks correct to me. It seems to

Re: [fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-18 Thread peter green
Then a register is spilled, i.e. replace by a location in memory. This may be possible without new registers: mov ireg30d,ireg29d- mov ireg30d,[ebp-40] ... but in some cases a help register is needed: mov ireg30d,[ebp+20] - mov ireg99d,[ebp+20]

[fpc-devel] register allocator seems to be using S20 for two things at the same time (related to armhf porting work)

2012-03-17 Thread peter green
While testing my armhf porting work (which I will send on request, including it in this mail seems to make it too big for the list to accept) I came across a case where parameters were passed incorrectly to a function with a large number of parameters (14 single, 1 double). Initially I thought