Hi Mike,

On 21 Jul 2012, at 18:27, Mike Stump wrote:

> On Jul 21, 2012, at 9:12 AM, Iain Sandoe wrote:
>> At present, if a G5 or 970 processor is selected (-mcpu=), we can (and do) 
>> generate 64 bit register usage for m32 code.   This appears to be a 
>> long-standing bug.
> 
> Hum, do you have an example of something that fails?  

I can look for something, if necessary.

> I ask, cause I think the if you say that you have a 64-bit processor, then, 
> generating code for a 64-bit processor isn't necessarily wrong.  

indeed, highly desirable to make use of any improvements available.

> If you say you have a 64-bit processor, then you likely have an OS that runs 
> on that processor, and that OS I'm thinking will save and restore the full 
> 64-bit registers.  If not, do you have a pointer to documentation that says 
> this won't work?

Mac_OS_X_ABI_Function_Calls.pdf pp 19 para 2 (box).  This stipulates that even 
on a 64 bit processor, only the lower 32 bits of nonvolatile registers are 
saved/restored.  All 64 bits are saved across context switches/asynchronous 
events.

That is to quote the doc: one can *only* use the full 64 bits 'between function 
calls' safely. 

If there's a different mechanism for enforcing what's implied above, then we 
could use that.
cheers
Iain

Reply via email to