[Bug tree-optimization/44632] [4.4/4.5/4.6 regression] wrong code for complex division

dave at hiauly1 dot hia dot nrc dot ca gcc-bugzilla@gcc.gnu.org
Sat Aug 7 21:04:00 GMT 2010



------- 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



More information about the Gcc-bugs mailing list