https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126098
Bug ID: 126098
Summary: ICE in extract_insn, at recog.cc:2888 mavx512vnni,
autovectorized
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: mjires at gcc dot gnu.org
Target Milestone: ---
Target: x86_64-pc-linux-gnu
Compiling reduced testcase gcc.dg/vect/pr116985.c results in ICE.
I was able to easily bisect only upto introduction of
--param=ix86-vect-compare-costs in r16-6891, but the bug is obviously older.
$ cat pr116985.c
char *fn_c, *fn_d;
int fn() {
int res = 0;
for (int i = 0; i < 64; ++i)
res += fn_c[i] * fn_d[i];
return res;
}
$ gcc pr116985.c -mavx512vnni -O3
pr116985.c: In function ‘fn’:
pr116985.c:7:1: error: unrecognizable insn:
7 | }
| ^
(insn 11 10 12 2 (set (reg:V32HI 110)
(sign_extend:V32HI (reg:V32QI 114))) -1
(nil))
during RTL pass: vregs
pr116985.c:7:1: internal compiler error: in extract_insn, at recog.cc:2894
0x268443b internal_error(char const*, ...)
/home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x268f923 fancy_abort(char const*, int, char const*)
/home/mjires/git/GCC/master/gcc/diagnostics/context.cc:1813
0x1011936 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/mjires/git/GCC/master/gcc/rtl-error.cc:108
0x1011955 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/mjires/git/GCC/master/gcc/rtl-error.cc:116
0xfdda4a extract_insn(rtx_insn*)
/home/mjires/git/GCC/master/gcc/recog.cc:2894
0xc001d9 instantiate_virtual_regs_in_insn
/home/mjires/git/GCC/master/gcc/function.cc:1611
0xc001d9 instantiate_virtual_regs
/home/mjires/git/GCC/master/gcc/function.cc:1987
0xc001d9 execute
/home/mjires/git/GCC/master/gcc/function.cc:2034
/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1 -quiet
pr116985.c -quiet -dumpdir a- -dumpbase pr116985.c -dumpbase-ext .c
-mavx512vnni -mtune=generic -march=x86-64 -O3 --param=ix86-vect-compare-costs=1
-o /tmp/ccnFK9U5.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master --disable-bootstrap
--enable-languages=c,c++,fortran,lto --disable-multilib --disable-libsanitizer
--enable-checking : (reconfigured) /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master --disable-bootstrap
--enable-languages=c,c++,fortran,lto --disable-multilib --disable-libsanitizer
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260703 (experimental) (GCC)