------- Comment #11 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-07 21:04 ------- Subject: Re: [4.4/4.5/4.6 regression] wrong code for complex division
> On i?86-linux I see > > <bb 2>: > g (x); > D.24518 = 1.0e+0; > x = std::operator/<double> (&D.24518, &x); > g (x); > > so no return-slot optimization. So I guess it has something to do with > the callee-copy thing of the x argument to this function. Building a cross > ... On hppa-linux, I see at -O0 x.1 = x; g (x.1); D.24646 = 1.0e+0; x.1 = std::operator/<double> (&D.24646, &x.1); [return slot optimization] g (x.1); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44632