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)

Reply via email to