https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94561
Bug ID: 94561
Summary: [10 Regression] ICE in ix86_get_ssemov
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: x86_64-unknown-linux-gnu
gcc-10.0.1-alpha20200405 snapshot (g:2a1a0c8c0db0aae50a2cebce59bd64334cd6ba2a)
ICEs when compiling the following testcase w/ -march=knl -O3 -funroll-loops:
struct xi {
long int mg;
int lx;
};
struct xi *di;
int *eu;
void
he (void);
int
m8 (int we, int i8)
{
int wd, cj = 0;
for (wd = 0; wd < 80; ++wd)
{
if (di->mg == 0 && (eu[wd] | !!we) == 0 && di->lx == 0)
continue;
if (i8 == 0)
he ();
++cj;
}
return cj;
}
% x86_64-unknown-linux-gnu-gcc-10.0.1 -march=knl -O3 -funroll-loops -c
cn71lqz4.c
during RTL pass: final
cn71lqz4.c: In function 'm8':
cn71lqz4.c:29:1: internal compiler error: in ix86_get_ssemov, at
config/i386/i386.c:4979
29 | }
| ^
0x718cbd ix86_get_ssemov
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/config/i386/i386.c:4979
0xa34303 final_scan_insn_1
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/final.c:3039
0xa3480b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/final.c:3152
0xa34917 final_1
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/final.c:2020
0xa35524 rest_of_handle_final
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/final.c:4658
0xa35524 execute
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/final.c:4736