From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22923 invoked by alias); 16 Aug 2007 13:49:49 -0000 Received: (qmail 22854 invoked by uid 22791); 16 Aug 2007 13:49:48 -0000 X-Spam-Check-By: sourceware.org Received: from fencepost.gnu.org (HELO fencepost.gnu.org) (140.186.70.10) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 16 Aug 2007 13:49:41 +0000 Received: from monty-python.gnu.org ([199.232.76.173]) by fencepost.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1ILfmq-00065G-1y for gcc-patches@gnu.org; Thu, 16 Aug 2007 09:53:20 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1ILfjC-0001Qt-MI for gcc-patches@gnu.org; Thu, 16 Aug 2007 09:49:39 -0400 Received: from mtagate2.de.ibm.com ([195.212.29.151]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1ILfjC-0001Py-6n for gcc-patches@gnu.org; Thu, 16 Aug 2007 09:49:34 -0400 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate2.de.ibm.com (8.13.8/8.13.8) with ESMTP id l7GDnVqq189292 for ; Thu, 16 Aug 2007 13:49:31 GMT Received: from d12av04.megacenter.de.ibm.com (d12av04.megacenter.de.ibm.com [9.149.165.229]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v8.4) with ESMTP id l7GDnViB1712300 for ; Thu, 16 Aug 2007 15:49:31 +0200 Received: from d12av04.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av04.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l7GDnUfw020604 for ; Thu, 16 Aug 2007 15:49:30 +0200 Received: from d12mc102.megacenter.de.ibm.com (d12mc102.megacenter.de.ibm.com [9.149.167.114]) by d12av04.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l7GDnTRp020552; Thu, 16 Aug 2007 15:49:29 +0200 In-Reply-To: Subject: Re: [PATCH] [4.3 projects] Verctorizer - versioning for alias To: gcc-patches@gnu.org Cc: rakdver@kam.mff.cuni.cz, Dorit Nuzman X-Mailer: Lotus Notes Release 7.0 HF144 February 01, 2006 Message-ID: From: Victor Kaplansky Date: Thu, 16 Aug 2007 13:49:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-Detected-Kernel: Linux 2.0.3x (2) X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-08/txt/msg01026.txt.bz2 Dorit Nuzman/Haifa/IBM wrote on 16/08/2007 04:11:46 PM: > > Is there a testcase that catches this case? vect-vfa-01.c catches it. > > > - POINTER_PLUS_EXPR used insted of PLUS_EXPR for pointer > > arithmentics. > > - Parameters "vect-max-version-for-alignment-checks" and > > "vect-max-version-for-alias-checks" documented in invoke.texi. > > (make sure you pass make info/make dvi, if you haven't yet) OK. > > So you're going to address the rest of the comments in a separate > patch (cost-model updates, improved handling of interleaved- > accesses, adding testcases that combine interleaving and versioning- > for-aliasing, factoring out the versioning related stuff from > vect_transform_loop)? (that would be fine with me, just want to make > sure you're planning to address these issues too). Yes, sure. Just forgot to mention that I'm planing to submit an additional patch with performance and other imrovments to versioning for alias and above issued will be addressed there. > so I asked this before: I think you mean "don't perform **peeling** > for alignment if versioning for alias is required", right? Sorry, I'll fix this in the Changelog. > I think you can use TYPE_VECTOR_SUBPARTS() instead of > GET_MODE_SIZE (TYPE_MODE ()) (just a tiny bit more compact) I think that it slightly different. For example TYPE_VECTOR_SUBPARTS() returns 4 for a vector of integers on ppc, while GET_MODE_SIZE (TYPE_MODE ()) returns 16 - size of vector in bytes. > > Also, for more compact code, you could compute the vf*step once and > reuse it for both then and else. For your consideration. > > + (vinfo_for_stmt (DR_STMT (dr)))))); > + > + segment_length = > + fold_convert (sizetype, > + fold_build2 (PLUS_EXPR, integer_type_node, > + fold_build2 (MULT_EXPR, integer_type_node, DR_STEP (dr), > + vect_factor), > + vector_size)); > + > + > + } > + else > + { > + segment_length = > + fold_convert (sizetype, > + fold_build2 (MULT_EXPR, integer_type_node, DR_STEP (dr), > + vect_factor)); > + } > + > + return segment_length; > +} OK, I'll address this in next patch.