This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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