From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5188 invoked by alias); 2 Nov 2010 19:19:05 -0000 Received: (qmail 5174 invoked by uid 22791); 2 Nov 2010 19:19:03 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mail-gw0-f47.google.com (HELO mail-gw0-f47.google.com) (74.125.83.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 02 Nov 2010 19:18:59 +0000 Received: by gwaa11 with SMTP id a11so4673017gwa.20 for ; Tue, 02 Nov 2010 12:18:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.42.164.9 with SMTP id e9mr12694881icy.337.1288725537397; Tue, 02 Nov 2010 12:18:57 -0700 (PDT) Received: by 10.42.180.199 with HTTP; Tue, 2 Nov 2010 12:18:57 -0700 (PDT) In-Reply-To: <4CC1F004.2000505@linux.vnet.ibm.com> References: <4CC1F004.2000505@linux.vnet.ibm.com> Date: Tue, 02 Nov 2010 19:20:00 -0000 Message-ID: Subject: Re: [PATCH] Bump alignment for small loops on PowerPC From: David Edelsohn To: Pat Haugen Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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: 2010-11/txt/msg00185.txt.bz2 On Fri, Oct 22, 2010 at 4:11 PM, Pat Haugen w= rote: > The following patch increases the alignment for certain small loops (5-8 > insns) on PowerPC for improved performance. Small loops can benefit by be= ing > contained within a single 32-byte icache sector. Spec testing was neutral, > but it should eliminate variations in performance I have seen in the past > due to whether one of these loops crossed a 32-byte boundary. > > Bootstrap/regtested on powerpc64-linux with no new regressions. =A0OK for > trunk? > > > 2010-10-22 =A0Pat Haugen > > =A0 =A0* final.c (compute_alignments): Compute/free loop info all the tim= e. > =A0 =A0* config/rs6000/rs6000.h (LOOP_ALIGN): Define. > =A0 =A0* config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare. > =A0 =A0* config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h. > =A0 =A0* config/rs6000/rs6000.c (cfgloop.h): Include. > =A0 =A0(can_override_loop_align): New. > =A0 =A0(rs6000_option_override_internal): Set it. > =A0 =A0(TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook. > =A0 =A0(rs6000_loop_align): New function. > =A0 =A0(rs6000_loop_align_max_skip): Likewise. > =A0 =A0* testsuite/gcc.target/powerpc/loop_align.c: New. The rs6000 parts are okay; I do not have the authority to approve the final.c change. As Eric mentioned, please note the separate file for testsuite ChangeLog. Thanks, David