https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120935
Bug ID: 120935 Summary: ICE building libstdc++ for mmix Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: pietro at sociotechnical dot xyz Target Milestone: --- Building a cross for mmix-knuth-mmixware from master for c and c++ fails when building libstc++ with: uring RTL pass: expand In file included from /home/user/repos/gcc/libstdc++-v3/src/c++17/floating_to_chars.cc:25: In function ‘constexpr std::to_chars_result std::__detail::__to_chars_16(char*, char*, _Tp) [with _Tp = __int128 unsigned]’, inlined from ‘constexpr std::to_chars_result std::__to_chars_i(char*, char*, _Tp, int) [with _Tp = __int128 unsigned]’ at /home/user/repos/gcc-tools/build_gcc/mmix/libstdc++-v3/include/charconv:350:32: /home/user/repos/gcc-tools/build_gcc/mmix/libstdc++-v3/include/charconv:173:22: internal compiler error: in expand_fn_using_insn, at internal-fn.cc:268 173 | const unsigned __len = (__to_chars_len_2(__val) + 3) / 4; | ^~~~~ 0x1fd0cb6 internal_error(char const*, ...) /home/user/repos/gcc/gcc/diagnostic-global-context.cc:517 0x93e92d fancy_abort(char const*, int, char const*) /home/user/repos/gcc/gcc/diagnostic.cc:1810 0x7a64ce expand_fn_using_insn /home/user/repos/gcc/gcc/internal-fn.cc:268 0xe7b106 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11431 0xe74d6d expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:9523 0xe74d6d expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.h:323 0xe74d6d expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.cc:9851 0xe7bac3 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11234 0xe7aca5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11416 0xe83e4c expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.h:323 0xe83e4c expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**, rtx_def**, expand_modifier) /home/user/repos/gcc/gcc/expr.cc:9102 0xe71bdb expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.cc:11158 0xe7bac3 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11234 0xe7aca5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11416 0xe721b8 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:9523 0xe721b8 expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.h:323 0xe721b8 expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode, expand_modifier) /home/user/repos/gcc/gcc/expr.cc:10674 0xe7bac3 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/user/repos/gcc/gcc/expr.cc:11234 0xd48b99 expand_gimple_stmt_1 /home/user/repos/gcc/gcc/cfgexpand.cc:4359 0xd48b99 expand_gimple_stmt /home/user/repos/gcc/gcc/cfgexpand.cc:4423 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. make[5]: *** [Makefile:587: floating_to_chars.lo] Error 1 C-Vise reduces the preprocessed source to: unsigned __int128 x; int countl_zero() { return __builtin_clzg(x); } which fails with: during RTL pass: expand ccpeR7oQ.ii: In function ‘int countl_zero()’: ccpeR7oQ.ii:2:44: internal compiler error: in expand_fn_using_insn, at internal-fn.cc:268 2 | int countl_zero() { return __builtin_clzg(x); } | ^ 0x1fd0cb6 internal_error(char const*, ...) /home/user/repos/gcc/gcc/diagnostic-global-context.cc:517 0x93e92d fancy_abort(char const*, int, char const*) /home/user/repos/gcc/gcc/diagnostic.cc:1810 0x7a64ce expand_fn_using_insn /home/user/repos/gcc/gcc/internal-fn.cc:268 0xd48bdf expand_call_stmt /home/user/repos/gcc/gcc/cfgexpand.cc:3109 0xd48bdf expand_gimple_stmt_1 /home/user/repos/gcc/gcc/cfgexpand.cc:4276 0xd48bdf expand_gimple_stmt /home/user/repos/gcc/gcc/cfgexpand.cc:4423 0xd49201 expand_gimple_tailcall /home/user/repos/gcc/gcc/cfgexpand.cc:4470 0xd4ad8a expand_gimple_basic_block /home/user/repos/gcc/gcc/cfgexpand.cc:6512 0xd4c6df execute /home/user/repos/gcc/gcc/cfgexpand.cc:7286 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.