From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2922 invoked by alias); 9 Feb 2005 23:47:38 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 2799 invoked by uid 48); 9 Feb 2005 23:47:32 -0000 Date: Thu, 10 Feb 2005 02:15:00 -0000 Message-ID: <20050209234732.2798.qmail@sourceware.org> From: "rth at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040318004529.14625.drepper@redhat.com> References: <20040318004529.14625.drepper@redhat.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/14625] [ix86] tail call optimization missed with syscall attribute X-Bugzilla-Reason: CC X-SW-Source: 2005-02/txt/msg00757.txt.bz2 List-Id: ------- Additional Comments From rth at gcc dot gnu dot org 2005-02-09 23:47 ------- Yes. The test should look something like + popc = RETURN_POPS_ARGS (current_function_decl, + TREE_TYPE (current_function_decl), + current_function_args_size); + popf = RETURN_POPS_ARGS (fndecl, fntype, args_size_const); ... + && popc == current_function_args_size + && popf == args_size_const + && (popc - popf) % STACK_BYTES == 0) Except that other changes would be needed elsewhere to deal with allocating extra stack space (as in the test case here) or deallocating extra space just before the call (if there are in fact fewer arguments and both functions are marked stdcall). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14625