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
This commit is contained in:
parent
4305b26e1d
commit
772a1b15d5
5 changed files with 44 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
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--)
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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.
|
||||
|
|
17
gcc/testsuite/gcc.target/i386/pr91469-1.c
Normal file
17
gcc/testsuite/gcc.target/i386/pr91469-1.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* { 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;
|
||||
}
|
11
gcc/testsuite/gcc.target/i386/pr91469-2.c
Normal file
11
gcc/testsuite/gcc.target/i386/pr91469-2.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { 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;
|
||||
}
|
Loading…
Add table
Reference in a new issue