https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106748
Bug ID: 106748 Summary: ICE in ix86_avx256_split_vector_move_misalign, at config/i386/i386-expand.cc:743 since r13-2111-g6910cad55ffc330d Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: lingling.kong7 at gmail dot com Target Milestone: --- Host: x86_64-linux-gnu The following crashes: $ cat test_passing_unions.i typedef __bf16 __m256bf16 __attribute__((__vector_size__(32))); typedef struct { __m256bf16 _m256bf16[1]; } YMM_T; struct { YMM_T ymm0; } fregs; __m256bf16 do_test_u3b_0_0; int do_test_i; void do_test() { (&fregs.ymm0)[do_test_i]._m256bf16[0] = do_test_u3b_0_0; } $ gcc test_passing_unions.i -fpack-struct -mavx256-split-unaligned-store -mavx512vp2intersect during RTL pass: expand test_passing_unions.i: In function ‘do_test’: test_passing_unions.i:14:51: internal compiler error: in ix86_avx256_split_vector_move_misalign, at config/i386/i386-expand.cc:743 14 | do_test() { (&fregs.ymm0)[do_test_i]._m256bf16[0] = do_test_u3b_0_0; } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 0x82f27b ix86_avx256_split_vector_move_misalign /home/marxin/Programming/gcc/gcc/config/i386/i386-expand.cc:743 0x82f27b ix86_expand_vector_move_misalign(machine_mode, rtx_def**) /home/marxin/Programming/gcc/gcc/config/i386/i386-expand.cc:855 0x13e1a91 ix86_expand_vector_move(machine_mode, rtx_def**) /home/marxin/Programming/gcc/gcc/config/i386/i386-expand.cc:654 0x19002ea gen_movv16bf(rtx_def*, rtx_def*) /home/marxin/Programming/gcc/gcc/config/i386/sse.md:1314 0xb95ee2 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*>(rtx_def*, rtx_def*) const /home/marxin/Programming/gcc/gcc/recog.h:407 0xb95ee2 emit_move_ccmode /home/marxin/Programming/gcc/gcc/expr.cc:3871 0xb95ee2 emit_move_insn_1(rtx_def*, rtx_def*) /home/marxin/Programming/gcc/gcc/expr.cc:4016 0xb9630f emit_move_insn(rtx_def*, rtx_def*) /home/marxin/Programming/gcc/gcc/expr.cc:4167 0xb9f206 store_expr(tree_node*, rtx_def*, int, bool, bool) /home/marxin/Programming/gcc/gcc/expr.cc:6342 0xba1177 expand_assignment(tree_node*, tree_node*, bool) /home/marxin/Programming/gcc/gcc/expr.cc:5736 0xa60c80 expand_gimple_stmt_1 /home/marxin/Programming/gcc/gcc/cfgexpand.cc:3946 0xa60c80 expand_gimple_stmt /home/marxin/Programming/gcc/gcc/cfgexpand.cc:4044 0xa67944 expand_gimple_basic_block /home/marxin/Programming/gcc/gcc/cfgexpand.cc:6096 0xa695c7 execute /home/marxin/Programming/gcc/gcc/cfgexpand.cc:6822 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.