[Bug target/91469] [10 Regression] ICE in extract_insn, at recog.c:2310 since r274481

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 16 08:18:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91469

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Index: gcc/config/i386/i386-features.c
===================================================================
--- gcc/config/i386/i386-features.c     (revision 274536)
+++ gcc/config/i386/i386-features.c     (working copy)
@@ -613,6 +613,10 @@ general_scalar_chain::replace_with_subre
   if (x == reg)
     return gen_rtx_SUBREG (vmode, new_reg, 0);

+  /* But not in memory addresses.  */
+  if (GET_CODE (x) == MEM)
+    return x;
+
   const char *fmt = GET_RTX_FORMAT (GET_CODE (x));
   int i, j;
   for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--)


fixes this, but then the replacement has higher cost in the end(?).


More information about the Gcc-bugs mailing list