From 93aaa05d1c798bc99f6d26473ec38ba9926a28f2 Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Thu, 27 Feb 2014 17:06:02 +0000 Subject: 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 --- gcc/ChangeLog | 5 +++++ gcc/lra.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d6b436e..8a78716 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 d052b36..77074e2 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))) { -- cgit v1.1