From patchwork Thu Oct 20 09:09:09 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ramana Radhakrishnan X-Patchwork-Id: 120773 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 02509B6F9D for ; Thu, 20 Oct 2011 20:09:33 +1100 (EST) Received: (qmail 28854 invoked by alias); 20 Oct 2011 09:09:31 -0000 Received: (qmail 28846 invoked by uid 22791); 20 Oct 2011 09:09:30 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 20 Oct 2011 09:09:10 +0000 Received: by qam2 with SMTP id 2so2170892qam.20 for ; Thu, 20 Oct 2011 02:09:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.61.97 with SMTP id s33mr2240673qch.51.1319101749738; Thu, 20 Oct 2011 02:09:09 -0700 (PDT) Received: by 10.229.215.207 with HTTP; Thu, 20 Oct 2011 02:09:09 -0700 (PDT) In-Reply-To: <4E9F274F.50704@mozilla.com> References: <4E9F274F.50704@mozilla.com> Date: Thu, 20 Oct 2011 10:09:09 +0100 Message-ID: Subject: Re: [Patch ARM] Fix PR target/50106 From: Ramana Radhakrishnan To: Nathan Froyd Cc: gcc-patches@gcc.gnu.org, Jakub Jelinek X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On 19 October 2011 20:38, Nathan Froyd wrote: > On 10/19/2011 3:27 PM, Ramana Radhakrishnan wrote: >> >> Index: gcc/config/arm/arm.c >> -      live_regs_mask |= extra_mask<<  (size / UNITS_PER_WORD); >> +      live_regs_mask |= extra_mask<<  ((size + 3) / UNITS_PER_WORD); > > IIUC, wouldn't ((size + UNITS_PER_WORD - 1) / UNITS_PER_WORD) be clearer? > > -Nathan > Doh ! Yes , this is what I committed. Ramana 2011-10-20 Ramana Radhakrishnan PR target/50106 * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return reg size from 1-3. Index: gcc/config/arm/arm.c =================================================================== --- gcc/config/arm/arm.c (revision 180239) +++ gcc/config/arm/arm.c (working copy) @@ -21652,7 +21652,8 @@ if (extra_pop > 0) { unsigned long extra_mask = (1 << extra_pop) - 1; - live_regs_mask |= extra_mask << (size / UNITS_PER_WORD); + live_regs_mask |= extra_mask << ((size + UNITS_PER_WORD - 1) + / UNITS_PER_WORD); } /* The prolog may have pushed some high registers to use as