Re: CSE removing a load that is necessary

2007-07-30 Thread Pranav Bhandarkar
Hi, > Or perhaps this could be another manifestation of the "cse gets confused by > reg_equal notes on subparts of dimode pseudos if no movdi pattern is defined > in the backend" bug[*]? Pranav, is there a movdi pattern in your backend? > There needs to be one, gcc does get it wrong if you rely

RE: CSE removing a load that is necessary

2007-07-29 Thread Dave Korn
On 27 July 2007 18:24, Ian Lance Taylor wrote: > "Pranav Bhandarkar" writes: > >> I am working on a private port and am seeing the following problem. >> For a function returning a double the value is stored by the function >> in memory. cse removes one of the two loads (to retrieve this returned

Re: CSE removing a load that is necessary

2007-07-27 Thread Pranav Bhandarkar
> Where does reg 178 come from? It does not appear in the other insns > you listed. I am sorry, my mistake. I meant to say that the dump was only a part of the entire dump of the function. reg 178 is the result of a previous call to __floatsidf and is defined by the following insn. (insn 19 18 2

Re: CSE removing a load that is necessary

2007-07-27 Thread Ian Lance Taylor
"Pranav Bhandarkar" <[EMAIL PROTECTED]> writes: > I am working on a private port and am seeing the following problem. > For a function returning a double the value is stored by the function > in memory. cse removes one of the two loads (to retrieve this returned > value) after the function is call