From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11994 invoked by alias); 28 Sep 2004 13:25:40 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 11952 invoked from network); 28 Sep 2004 13:25:37 -0000 Received: from unknown (HELO mtagate4.de.ibm.com) (195.212.29.153) by sourceware.org with SMTP; 28 Sep 2004 13:25:37 -0000 Received: from d12nrmr1507.megacenter.de.ibm.com (d12nrmr1507.megacenter.de.ibm.com [9.149.167.1]) by mtagate4.de.ibm.com (8.12.10/8.12.10) with ESMTP id i8SDPYLi121636; Tue, 28 Sep 2004 13:25:34 GMT Received: from d12ml102.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1507.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i8SDPXSt150486; Tue, 28 Sep 2004 15:25:34 +0200 In-Reply-To: <20040927234323.GA31317@redhat.com> Subject: Re: [patch] extend.texi MIPS PS/3D Support To: Richard Henderson Cc: Chao-ying Fu , gcc-patches@gcc.gnu.org, "Stephens, Nigel" , "Thekkath, Radhika" , Richard Sandiford , "Uhler, Mike" , Jim Wilson Message-ID: From: Dorit Naishlos Date: Tue, 28 Sep 2004 14:07:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-SW-Source: 2004-09/txt/msg02870.txt.bz2 > The real problem is that you're pulling out SImode and deciding > that add_optab[SImode] is the vector addition operation. but how come we get SImode here? we call build_vector_type with innertype = SI, and nunits = UNITS_PER_SIMD_WORD / nbytes = 8 / 4 = 2 so it should return a V2SI vectype, which is not supported by the target and therefore should have a BLKmode. no? dorit Richard Henderson To: Dorit Naishlos/Haifa/IBM@IBMIL cc: Chao-ying Fu , gcc-patches@gcc.gnu.org, "Stephens, Nigel" 28/09/2004 01:43 , "Thekkath, Radhika" , Richard Sandiford , "Uhler, Mike" , Jim Wilson Subject: Re: [patch] extend.texi MIPS PS/3D Support On Tue, Sep 28, 2004 at 01:30:00AM +0200, Dorit Naishlos wrote: > Maybe the problem is here (in get_vectype_for_scalar_type): > > vectype = build_vector_type (scalar_type, nunits); > if (TYPE_MODE (vectype) == BLKmode) > return NULL_TREE; > > Maybe the vectype that is built has a mode other than BLKmode, although > it's not supported by the target? Yes, e.g. V4QI may be represented with SImode. But that's fine, since the vectorizer may be able to optimize data movement loops with no other vector support in the target. (E.g. if target and destination are alignable.) The real problem is that you're pulling out SImode and deciding that add_optab[SImode] is the vector addition operation. r~