This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cft] subreg validation round 2


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]