https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91605
Bug ID: 91605 Summary: [10 Regression] ICE in ix86_avx256_split_vector_move_misalign, at config/i386/i386-expand.c:489 since r274986 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: marxin at gcc dot gnu.org CC: edlinger at gcc dot gnu.org, rguenth at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Following is causing ICE: $ cat ice.C struct A { __attribute__((__vector_size__(4 * sizeof(double)))) double data; }; struct B { A operator*(B); }; void fn1() { B x, y; x *y; } $ g++ -fpack-struct -c ice.C -mavx during RTL pass: expand ice.C: In function ‘void fn1()’: ice.C:9:6: internal compiler error: in ix86_avx256_split_vector_move_misalign, at config/i386/i386-expand.c:489 9 | x *y; | ^ 0x821618 ix86_avx256_split_vector_move_misalign /home/marxin/Programming/gcc/gcc/config/i386/i386-expand.c:489 0x821618 ix86_expand_vector_move_misalign(machine_mode, rtx_def**) /home/marxin/Programming/gcc/gcc/config/i386/i386-expand.c:565 0x16447a8 gen_movmisalignv4df(rtx_def*, rtx_def*) /home/marxin/Programming/gcc/gcc/config/i386/sse.md:1399 0xed1528 maybe_expand_insn(insn_code, unsigned int, expand_operand*) /home/marxin/Programming/gcc/gcc/optabs.c:7440 0xed1528 expand_insn(insn_code, unsigned int, expand_operand*) /home/marxin/Programming/gcc/gcc/optabs.c:7471 0xca3d4f expand_assignment(tree_node*, tree_node*, bool) /home/marxin/Programming/gcc/gcc/expr.c:5030 0xb7e76b expand_call_stmt /home/marxin/Programming/gcc/gcc/cfgexpand.c:2729 0xb7e76b expand_gimple_stmt_1 /home/marxin/Programming/gcc/gcc/cfgexpand.c:3710 0xb7e76b expand_gimple_stmt /home/marxin/Programming/gcc/gcc/cfgexpand.c:3875 0xb84231 expand_gimple_basic_block /home/marxin/Programming/gcc/gcc/cfgexpand.c:5915 0xb85f97 execute /home/marxin/Programming/gcc/gcc/cfgexpand.c:6538 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.