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

CSE removing a load that is necessary

2007-07-27 Thread Pranav Bhandarkar
Hi All, 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 called. To elaborate, the following is the dump just