From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1615 invoked by alias); 18 Nov 2004 07:37:25 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 1583 invoked from network); 18 Nov 2004 07:37:22 -0000 Received: from unknown (HELO modra.org) (144.136.221.26) by sourceware.org with SMTP; 18 Nov 2004 07:37:22 -0000 Received: by bubble.modra.org (Postfix, from userid 500) id BEB3D136F82; Thu, 18 Nov 2004 18:07:20 +1030 (CST) Date: Thu, 18 Nov 2004 11:40:00 -0000 From: Alan Modra To: Janis Johnson Cc: Bob Wilson , rth@redhat.com, gcc@gcc.gnu.org Subject: Re: [cft] subreg validation round 2 Message-ID: <20041118073720.GA21809@bubble.modra.org> Mail-Followup-To: Janis Johnson , Bob Wilson , rth@redhat.com, gcc@gcc.gnu.org References: <20041117184009.GA12257@redhat.com> <419BA411.5090801@tensilica.com> <20041117223128.GA6565@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041117223128.GA6565@us.ibm.com> User-Agent: Mutt/1.4i X-SW-Source: 2004-11/txt/msg00619.txt.bz2 On Wed, Nov 17, 2004 at 02:31:28PM -0800, Janis Johnson wrote: > That change also causes several new test failures for powerpc64-linux > with -m64, which now ICE in gen_lowpart_common for a BLKmode argument. Fixed like this * config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs. Bootstrapped and regression tested powerpc64-linux. I also ran the compat testsuite against my system compiler, and found no problems apart from a few tests that failed with an ICE on mainline expand_expr_addr_expr_1, at expr.c:6067 and scalar-by-value-7 failing due to my system compiler doing the wrong thing.. diff -urp gcc-rth/gcc/config/rs6000/rs6000.c gcc-rth2/gcc/config/rs6000/rs6000.c --- gcc-rth/gcc/config/rs6000/rs6000.c 2004-11-17 13:59:18.000000000 +1030 +++ gcc-rth2/gcc/config/rs6000/rs6000.c 2004-11-18 10:51:37.796602798 +1030 @@ -5528,6 +5528,9 @@ function_arg (CUMULATIVE_ARGS *cum, enum if (TARGET_32BIT && TARGET_POWERPC64) return rs6000_mixed_function_arg (mode, type, align_words); + if (mode == BLKmode) + mode = Pmode; + return gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words); } else -- Alan Modra IBM OzLabs - Linux Technology Centre