From: Vladimir Makarov Date: Thu, 27 Feb 2014 17:06:02 +0000 (+0000) Subject: re PR target/59222 (gcc.c-torture/compile/20050622-1.c ICEs at -O1 and above for... X-Git-Tag: releases/gcc-4.9.0~642 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93aaa05d1c798bc99f6d26473ec38ba9926a28f2;p=thirdparty%2Fgcc.git re PR target/59222 (gcc.c-torture/compile/20050622-1.c ICEs at -O1 and above for aarch64-elf ILP32) 2014-02-27 Vladimir Makarov PR target/59222 * lra.c (lra_emit_add): Check SUBREG too. From-SVN: r208201 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d6b436edbb68..8a787163b5b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-27 Vladimir Makarov + + PR target/59222 + * lra.c (lra_emit_add): Check SUBREG too. + 2014-02-27 Andreas Schwab * config/m68k/m68k.c (m68k_option_override): Disable diff --git a/gcc/lra.c b/gcc/lra.c index d052b363ce9f..77074e296540 100644 --- a/gcc/lra.c +++ b/gcc/lra.c @@ -340,8 +340,9 @@ lra_emit_add (rtx x, rtx y, rtx z) base = a1; index = a2; } - if (! REG_P (base) - || (index != NULL_RTX && ! REG_P (index)) + if (! (REG_P (base) || GET_CODE (base) == SUBREG) + || (index != NULL_RTX + && ! (REG_P (index) || GET_CODE (index) == SUBREG)) || (disp != NULL_RTX && ! CONSTANT_P (disp)) || (scale != NULL_RTX && ! CONSTANT_P (scale))) {