From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11007 invoked by alias); 26 Dec 2014 10:04:41 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 10987 invoked by uid 48); 26 Dec 2014 10:04:37 -0000 From: "glisse at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers Date: Fri, 26 Dec 2014 10:04:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: glisse at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg02748.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #1 from Marc Glisse --- There are a number of things that make it complicated. 1) gcc doesn't like to vectorize when the number of iterations is not known at compile time. 2) gcc doesn't vectorize anything already involving complex or vector operations. 3) the ABI for complex uses 2 separate double instead of a vector of 2 double. I believe there are dups at least for 2).