From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1699 invoked by alias); 25 Jan 2009 09:13:05 -0000 Received: (qmail 1642 invoked by uid 48); 25 Jan 2009 09:12:55 -0000 Date: Sun, 25 Jan 2009 09:13:00 -0000 Message-ID: <20090125091255.1641.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/37021] Fortran Complex reduction / multiplication not vectorized In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "irar at il dot ibm dot com" 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 X-SW-Source: 2009-01/txt/msg02725.txt.bz2 ------- Comment #6 from irar at il dot ibm dot com 2009-01-25 09:12 ------- (In reply to comment #5) > So, > 4) The vectorized version sucks because we have to use peeling for niters > because we need to unroll the loop once and cannot apply SLP here. What do you mean by "unroll the loop once"? > Q1: does SLP work with reductions at all? No. SLP currently originates from groups of strided stores. > Q2: does SLP do pattern recognition? Pattern recoginition is done before SLP, and SLP handles stmts that were marked as a part of a pattern. There is no SLP specific pattern recoginition. > First of all we would need to recognize a complex reduction as a single > vectorized reduction. Second we need to vectorize the complex multiplication > with SLP, feeding the reduction with one resulting complex vector. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37021