[Bug middle-end/20610] Real by complex multiplications perform unnecessary operations

pcarlini at suse dot de gcc-bugzilla@gcc.gnu.org
Thu Mar 24 09:28:00 GMT 2005


------- Additional Comments From pcarlini at suse dot de  2005-03-24 09:28 -------
> It would be nice if the multiplication worked like this also for 
> complex<double>, even without -ffast-math. Or, is there something in the 
> standard which would disallow this?

I don't think there is. But, AFAIK, this must be fixed in the compiler, not
in the library: i.e., if you try changing operator*(const complex<_Tp>&,
const _Tp&) to perform explicitly two separate real multiplications, nothing
really changes because the right member is converted anyway to a complex.
Therefore, the middle-end categorization is correct.

-- 


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



More information about the Gcc-bugs mailing list