Commit 772a1b15 by Richard Biener Committed by Richard Biener

re PR target/91469 (ICE in extract_insn, at recog.c:2310 since r274481)

2019-08-16  Richard Biener  <rguenther@suse.de>

	PR target/91469
	* config/i386/i386-features.c
	(general_scalar_chain::replace_with_subreg): Stop at memory operands.

	* gcc.target/i386/pr91469-1.c: New testcase.
	* gcc.target/i386/pr91469-2.c: Likewise.

From-SVN: r274570
parent 4305b26e
2019-08-16 Richard Biener <rguenther@suse.de>
PR target/91469
* config/i386/i386-features.c
(general_scalar_chain::replace_with_subreg): Stop at memory operands.
2019-08-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR other/91255
......
......@@ -613,6 +613,10 @@ general_scalar_chain::replace_with_subreg (rtx x, rtx reg, rtx new_reg)
if (x == reg)
return gen_rtx_SUBREG (vmode, new_reg, 0);
/* But not in memory addresses. */
if (MEM_P (x))
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--)
......
2019-08-16 Richard Biener <rguenther@suse.de>
PR target/91469
* gcc.target/i386/pr91469-1.c: New testcase.
* gcc.target/i386/pr91469-2.c: Likewise.
2019-08-16 Mark Eggleston <mark.eggleston@codethink.com>
* gfortran.dg/auto_in_equiv_1.f90: New test.
......
/* { dg-do compile } */
/* { dg-options "-funroll-loops -O2 -fno-gcse -mavx512vbmi -fno-ivopts -mstv" } */
int a, b, e;
long long c;
int d[6];
void fn1() {
int i;
unsigned f;
c = a;
f = i;
for (; i < b; i++)
if (d[i] > f)
f = d[i];
e = f;
}
/* { dg-do compile } */
/* { dg-options "-Os --param scev-max-expr-size=0 -mavx512vnni -funroll-all-loops" } */
int a, b, c, d;
int *e;
void fn1()
{
b = c > 0 ? c : 0;
d += e[b];
a = d > 0 ? d : 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment