https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118489
Bug ID: 118489 Summary: [15 Regression][avx512] ICE in ix86_expand_vector_bf2sf_with_vec_perm, at config/i386/i386-expand.cc:26917 since r15-4955-g648bd1fcc6acfc Product: gcc Version: 15.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 CC: liuhongt at gcc dot gnu.org Target Milestone: --- Target: x86-64 Compiling reduced testcase gcc.target/i386/avx512bw-extendbf2sf.c results in ICE since r15-4955-g648bd1fcc6acfc. $ cat avx512bw-extendbf2sf.c typedef float v16sf __attribute__((vector_size(64))); __attribute__((__vector_size__(16 * sizeof(__bf16)))) __bf16 foo3_mem_a; v16sf foo3_mem() { return __builtin_convertvector(foo3_mem_a, v16sf); } $ gcc avx512bw-extendbf2sf.c -ffinite-math-only -mavx512f during RTL pass: expand avx512bw-extendbf2sf.c: In function ‘foo3_mem’: avx512bw-extendbf2sf.c:3:27: internal compiler error: in ix86_expand_vector_bf2sf_with_vec_perm, at config/i386/i386-expand.cc:26951 3 | v16sf foo3_mem() { return __builtin_convertvector(foo3_mem_a, v16sf); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x36ef415 internal_error(char const*, ...) /home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:517 0x36bee4b fancy_abort(char const*, int, char const*) /home/mjires/git/GCC/master/gcc/diagnostic.cc:1722 0x1fc24f0 ix86_expand_vector_bf2sf_with_vec_perm(rtx_def*, rtx_def*) /home/mjires/git/GCC/master/gcc/config/i386/i386-expand.cc:26951 0x2a46d24 gen_extendv16bfv16sf2(rtx_def*, rtx_def*) /home/mjires/git/GCC/master/gcc/config/i386/sse.md:31158 0x10c0ab4 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*>(rtx_def*, rtx_def*) const /home/mjires/git/GCC/master/gcc/recog.h:472 0x168f0bc maybe_gen_insn(insn_code, unsigned int, expand_operand*) /home/mjires/git/GCC/master/gcc/optabs.cc:8192 0x1683f97 maybe_emit_unop_insn(insn_code, rtx_def*, rtx_def*, rtx_code) /home/mjires/git/GCC/master/gcc/optabs.cc:4094 0x1684088 emit_unop_insn(insn_code, rtx_def*, rtx_def*, rtx_code) /home/mjires/git/GCC/master/gcc/optabs.cc:4118 0x128375a convert_move(rtx_def*, rtx_def*, int) /home/mjires/git/GCC/master/gcc/expr.cc:283 0x12a9360 expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode, expand_modifier) /home/mjires/git/GCC/master/gcc/expr.cc:9889 0x12af0cf expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/mjires/git/GCC/master/gcc/expr.cc:11186 0x10f5406 expand_gimple_stmt_1 /home/mjires/git/GCC/master/gcc/cfgexpand.cc:4300 0x10f56bd expand_gimple_stmt /home/mjires/git/GCC/master/gcc/cfgexpand.cc:4364 0x10fd86c expand_gimple_basic_block /home/mjires/git/GCC/master/gcc/cfgexpand.cc:6427 0x10fff43 execute /home/mjires/git/GCC/master/gcc/cfgexpand.cc:7176 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/15.0.1/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 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 15.0.1 20250115 (experimental) (GCC)