[Bug bootstrap/82045] New: [8 regression] SPARC bootstrap broken: ICE in emit_library_call_value_1, at calls.c:4565

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 30 22:20:00 GMT 2017


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

            Bug ID: 82045
           Summary: [8 regression] SPARC bootstrap broken: ICE in
                    emit_library_call_value_1, at calls.c:4565
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: ebotcazou at gcc dot gnu.org, rsandifo at gcc dot gnu.org
  Target Milestone: ---
            Target: sparc-sun-solaris2.11

Within the last day, SPARC bootstrap got broken building the stage1 libgcc:

during RTL pass: expand
/vol/gcc/src/hg/trunk/local/libgcc/libgcc2.c: In function '__multc3':
/vol/gcc/src/hg/trunk/local/libgcc/libgcc2.c:1990:17: internal compiler error:
in emit_library_call_value_1, at calls.c:4565
   if (isnan (x) && isnan (y))
                 ^
0x9759f3 emit_library_call_value_1
        /vol/gcc/src/hg/trunk/local/gcc/calls.c:4564
0x977e33 emit_library_call(rtx_def*, libcall_type, machine_mode, int, ...)
        /vol/gcc/src/hg/trunk/local/gcc/calls.c:5148
0x17330e7 sparc_emit_float_lib_cmp(rtx_def*, rtx_def*, rtx_code)
        /vol/gcc/src/hg/trunk/local/gcc/config/sparc/sparc.c:8140
0x171f887 emit_scc_insn(rtx_def**)
        /vol/gcc/src/hg/trunk/local/gcc/config/sparc/sparc.c:3174
0x19a0b8f gen_cstoretf4(rtx_def*, rtx_def*, rtx_def*, rtx_def*)
        /vol/gcc/src/hg/trunk/local/gcc/config/sparc/sparc.md:779
0xfaa32f insn_gen_fn::operator()(rtx_def*, rtx_def*, rtx_def*, rtx_def*) const
        /vol/gcc/src/hg/trunk/local/gcc/recog.h:303
0xfa9c43 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        /vol/gcc/src/hg/trunk/local/gcc/optabs.c:7082
0xfaa00f maybe_expand_insn(insn_code, unsigned int, expand_operand*)
        /vol/gcc/src/hg/trunk/local/gcc/optabs.c:7112
0xb6eb1f emit_cstore(rtx_def*, insn_code, rtx_code, machine_mode, machine_mode,
int, rtx_def*, rtx_def*, int, machine_mode)
        /vol/gcc/src/hg/trunk/local/gcc/expmed.c:5357
0xb6f84b emit_store_flag_1
        /vol/gcc/src/hg/trunk/local/gcc/expmed.c:5600
0xb706ef emit_store_flag(rtx_def*, rtx_code, rtx_def*, rtx_def*, machine_mode,
int, int)
        /vol/gcc/src/hg/trunk/local/gcc/expmed.c:5860
0xb70e37 emit_store_flag_force(rtx_def*, rtx_code, rtx_def*, rtx_def*,
machine_mode, int, int)
        /vol/gcc/src/hg/trunk/local/gcc/expmed.c:5994
0xbac1c3 do_store_flag
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:11546
0xb9f393 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:9288
0xba2093 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:9815
0xb987cb expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:8105
0xb73733 expand_expr
        /vol/gcc/src/hg/trunk/local/gcc/expr.h:276
0xb96b67 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:7704
0xba0d0b expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:9606
0x999073 expand_gimple_stmt_1
        /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:3691

A reghunt identified this patch

[7/77] Add scalar_float_mode

This patch adds a scalar_float_mode class, which wraps a mode enum
that is known to satisfy SCALAR_FLOAT_MODE_P.  Things like "SFmode"
now give a scalar_float_mode object instead of a machine_mode.
This in turn needs a change to the real.h format_helper, so that
it can accept both machine_modes and scalar_float_modes.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
            Alan Hayward  <alan.hayward@arm.com>
            David Sherwood  <david.sherwood@arm.com>

gcc/
        * coretypes.h (scalar_float_mode): New type.
        * machmode.h (mode_traits::from_int): Use machine_mode if
        USE_ENUM_MODES is defined.

as the culprit.

  Rainer


More information about the Gcc-bugs mailing list