Ross,

> Kai Tietz writes:
> >I read that too, but how can I teach gcc to do this that registers are
> >callee-saved? I tried it by use of call_used part in regclass.c, but
> >this didn't worked as expected.
> 
> I think you need to modify CALL_USED_REGISTERS and/or
> CONDITIONAL_REGISTER_USAGE in i386.h.  Making any changes to regclass.c
> is probably not the right thing to do.
Hmm, the parts in CALL_USED_REGISTERS and CONDITIONAL_REGISTER_USAGE seems 
to be ok (beside xmm6-xmm15).
If I change xmm6-xmm15 to be non-volatile, I get ICE's in float 
initialize.
But the interesting part is, that by methods like memset/memcpy/ the 
register r13 still get clobbered.
Could it be that on externals (or dll imported) symbols in optimization 
the register clobbering of a call is not treated correctly?

Cheers,
  Kai

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

Reply via email to