This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'


------- Additional Comments From andrewhutchinson at cox dot net  2005-03-13 04:05 -------
Subject: Re:  unable to find a register to spill in class
 `POINTER_REGS'

You answered your own question. GCC handles variable moves just like 
anything else. Dealing with range of possible values and size etc and 
construct appropriate RTL.

GCC does not need this backend  define or expand. It is quite happy 
working out moves by itself.

The pattern is *only* defined when the target can  do a better job - 
i.e.  when we have a constant  byte count - but not otherwise.  I have 
found it's a really bad idea to second guess compiler optimisations.

>- how about in the case of a variable count = 0 ?
>  (or since only constants are handled, it falls back to letting gcc figure it out?)
>
>
>  
>




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]