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

Reply via email to