From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26691 invoked by alias); 20 Jul 2010 22:57:30 -0000 Received: (qmail 26677 invoked by uid 22791); 20 Jul 2010 22:57:29 -0000 X-SWARE-Spam-Status: No, hits=-5.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 20 Jul 2010 22:57:24 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o6KMvNlf030144 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 20 Jul 2010 18:57:23 -0400 Received: from anchor.twiddle.home (ovpn-113-74.phx2.redhat.com [10.3.113.74]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6KMvMc1029446; Tue, 20 Jul 2010 18:57:23 -0400 Message-ID: <4C4629D2.1050303@redhat.com> Date: Tue, 20 Jul 2010 22:57:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Thunderbird/3.0.5 MIME-Version: 1.0 To: Kai Tietz CC: GCC Patches , NightStrike Subject: Re: [RFA patch i386]: Prepare x64 prologue using positive offsets for frame-pointer References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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: 2010-07/txt/msg01610.txt.bz2 On 07/18/2010 03:42 AM, Kai Tietz wrote: > +mframe-x64 > +Target Report Var(flag_framex64) Init(0) > +Set the frame-pointer to the stack location at the end of prologue for 64-bit. Modulo testing purposes, a command-line switch makes no sense. We'll want to key this off SEH enabled, or at least TARGET_64BIT_MS_ABI. The state of ix86_expand_prologue/epilogue is... what's a kind word... chaotic? This isn't your fault, but your patch doesn't help either. It's extremely difficult to tell if your patch is correct. I'm pretty sure it isn't correct for any case of stack re-alignment, for instance. I spent an hour or three attempting to tidy up these functions and handle the frame pointer at the bottom of the frame. I have some ideas now for how to clean things up, but I think they'll really need to be staged in in phases. One big patch would simply be too unwieldy. I'll work on this cleanup over the next couple of days. r~