https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96178
Bug ID: 96178 Summary: ICE in emit_move_multi_word, at expr.c:3721 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-11.0.0-alpha20200712 snapshot (g:267891bd3c7ce3e16662eb2be7273f0bc8be9e7e) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.target/powerpc/mma-builtin-2.c, w/ -mvsx: void foo2 (void) { __vector_quad acc; __vector_pair vecp0; __attribute__ ((__vector_size__ (16))) unsigned char vec1; __builtin_mma_pmxvf64ger (&acc, vecp0, vec1, 5, 3); } % powerpc-e300c3-linux-gnu-gcc-11.0.0 -mvsx -c vtmf2pkq.c vtmf2pkq.c: In function 'foo2': vtmf2pkq.c:8:3: error: '__builtin_mma_pmxvf64ger' requires the '-mmma' option 8 | __builtin_mma_pmxvf64ger (&acc, vecp0, vec1, 5, 3); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand vtmf2pkq.c:8:3: internal compiler error: in emit_move_multi_word, at expr.c:3721 0x60261b emit_move_multi_word /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/expr.c:3721 0xabfc4e emit_move_insn(rtx_def*, rtx_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/expr.c:3929 0x983de9 load_register_parameters /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/calls.c:3084 0x983de9 expand_call(tree_node*, rtx_def*, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/calls.c:4530 0x129306f rs6000_expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/config/rs6000/rs6000-call.c:12276 0x971094 expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/builtins.c:7894 0xabce4e expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/expr.c:11232 0x999b98 expand_expr /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/expr.h:282 0x999b98 expand_call_stmt /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/cfgexpand.c:2703 0x999b98 expand_gimple_stmt_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/cfgexpand.c:3682 0x999b98 expand_gimple_stmt /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/cfgexpand.c:3847 0x99f614 expand_gimple_basic_block /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/cfgexpand.c:5888 0x9a1387 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200712/work/gcc-11-20200712/gcc/cfgexpand.c:6572