From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23373 invoked by alias); 23 Aug 2004 08:47:55 -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 23356 invoked by uid 48); 23 Aug 2004 08:47:53 -0000 Date: Mon, 23 Aug 2004 08:47:00 -0000 Message-ID: <20040823084753.23355.qmail@sourceware.org> From: "amodra at bigpond dot net dot au" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040816201040.17052.janis187@us.ibm.com> References: <20040816201040.17052.janis187@us.ibm.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/17052] [3.5 Regression] altivec varargs failure if no optimization X-Bugzilla-Reason: CC X-SW-Source: 2004-08/txt/msg02279.txt.bz2 List-Id: ------- Additional Comments From amodra at bigpond dot net dot au 2004-08-23 08:47 ------- And the reason for the stack slot problem is #define STARTING_FRAME_OFFSET \ (RS6000_ALIGN (current_function_outgoing_args_size, \ TARGET_ALTIVEC ? 16 : 8) \ + RS6000_VARARGS_AREA \ + RS6000_SAVE_AREA) and #define RS6000_VARARGS_AREA ((cfun->machine->sysv_varargs_p) ? RS6000_VARARGS_SIZE : 0) with sysv_varargs_p not being set until TARGET_SETUP_INCOMING_VARARGS is called, but this is later than the stack slots are assigned. See cfgexpand.c:tree_expand_cfg /* Expand the variables recorded during gimple lowering. */ expand_used_vars (); /* Set up parameters and prepare for return, for the function. */ expand_function_start (current_function_decl); and note that setup_incoming_varargs is called via expand_function_start. -- What |Removed |Added ---------------------------------------------------------------------------- GCC target triplet|powerpc64-unknown-linux-gnu |powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17052