https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79901

            Bug ID: 79901
           Summary: ICE in prepare_cmp_insn, at optabs.c:3904
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---
            Target: x86_64-llinux-gnu

Starting from GCC 5 (where -fssa-phiopt was added), we ICE on:

$ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/aarch64/pr63424.c
-mavx512cd -O3 -fno-ssa-phiopt
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/aarch64/pr63424.c: In
function ‘test’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/aarch64/pr63424.c:35:12:
internal compiler error: in prepare_cmp_insn, at optabs.c:3904
       a[i] = mul (a[i], s);
       ~~~~~^~~~~~~~~~~~~~~
0xb032bb prepare_cmp_insn
        ../../gcc/optabs.c:3904
0xb03355 emit_cmp_and_jump_insns(rtx_def*, rtx_def*, rtx_code, rtx_def*,
machine_mode, int, rtx_def*, int)
        ../../gcc/optabs.c:4051
0x83ad7c do_compare_rtx_and_jump(rtx_def*, rtx_def*, rtx_code, int,
machine_mode, rtx_def*, rtx_code_label*, rtx_code_label*, int)
        ../../gcc/dojump.c:1145
0x8e2e21 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:9024
0x8cfc2f expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9758
0x8d944e expand_expr
        ../../gcc/expr.h:276
0x8d944e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        ../../gcc/expr.c:7672
0x8e130c expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:9549
0x8cfc2f expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9758
0x8da516 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
        ../../gcc/expr.c:5552
0x8dc100 expand_assignment(tree_node*, tree_node*, bool)
        ../../gcc/expr.c:5321
0x7c0066 expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3641
0x7c0066 expand_gimple_stmt
        ../../gcc/cfgexpand.c:3737
0x7c235e expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5744
0x7c8426 execute
        ../../gcc/cfgexpand.c:6357

Reply via email to