http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58963
Bug ID: 58963 Summary: Does C++ need flag_complex_method = 2? Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: congh at google dot com In the patch http://gcc.gnu.org/ml/gcc-patches/2005-02/msg00560.html, the builtin function is used to perform complex multiplication and division. This is to comply with C99 standard, but I am wondering if C++ also needs this. There is no complex keyword in C++, and no content in C++ standard of the behavior of operations on complex types. <complex> header file is all written in source code, including complex multiplication and division. GCC should not do too much for them by using builtin calls by default (also we can set -fcx-limited-range to prevent GCC doing this), which has a big impact on performance (let alone there may exist vectorization opportunities). So I propose to not set flag_complex_method to 2 for C++. Any comment? thanks, Cong