https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97322
Bug ID: 97322
Summary: [11 regression] ICE in int_mode_for_mode, at
stor-layout.c:404 on arm
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: clyon at gcc dot gnu.org
Target Milestone: ---
Created attachment 49322
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49322&action=edit
preprocessed strtof_l.i
Since r11-3671 (g:bf510679bb3f9bfd6019666065016bb26a5b5466), I've noticed an
ICE while building the toolchains for arm. GCC crashes either while building
glibc or newlib.
I'm attaching a glibc reproducer: strtof_l.i
arm-none-linux-gnueabihf-gcc strtof_l.i -O2
during RTL pass: expand
In file included from strtof_l.c:45:
strtod_l.c: In function '____strtof_l_internal':
strtod_l.c:506:1: internal compiler error: in int_mode_for_mode, at
stor-layout.c:404
506 | ____STRTOF_INTERNAL (const STRING_TYPE *nptr, STRING_TYPE **endptr, int
group,
| ^~~~~~~~~~~~~~~~~~~~~
0xcf0afb int_mode_for_mode(machine_mode)
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/stor-layout.c:404
0x92e70e emit_move_via_integer
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/expr.c:3425
0x93e4fc emit_move_insn_1(rtx_def*, rtx_def*)
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/expr.c:3793
0x93e82b emit_move_insn(rtx_def*, rtx_def*)
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/expr.c:3935
0x7dc96f emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type,
machine_mode, int, std::pair<rtx_def*, machine_mode>*)
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/calls.c:5601
0x10d2f34 emit_library_call_value(rtx_def*, rtx_def*, libcall_type,
machine_mode, rtx_def*, machine_mode, rtx_def*, machine_mode)
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/rtl.h:4258
0x10d2f34 arm_expand_divmod_libfunc
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/config/arm/arm.c:33280
0xa54846 expand_DIVMOD
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/internal-fn.c:3084
0x800fa7 expand_call_stmt
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/cfgexpand.c:2612
0x800fa7 expand_gimple_stmt_1
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/cfgexpand.c:3686
0x800fa7 expand_gimple_stmt
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/cfgexpand.c:3851
0x80771b expand_gimple_basic_block
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/cfgexpand.c:5892
0x809e0b execute
/home/christophe.lyon/src/GCC/sources/gcc-fsf-git/trunk/gcc/cfgexpand.c:6576