https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82420
--- Comment #3 from Mikael Pettersson <mikpelinux at gmail dot com> --- Still ICEs in gcc-12: > gcc/xgcc -Bgcc -march=68000 -malign-int -S /tmp/pr82420.c during RTL pass: expand /tmp/pr82420.c: In function 'f': /tmp/pr82420.c:3:4: internal compiler error: Segmentation fault 3 | a /= 3; | ^~ 0x95fe3f crash_signal /tmp/gcc-12-20210711/gcc/toplev.c:328 0x6c30a2 assign_temp(tree_node*, int, int) /tmp/gcc-12-20210711/gcc/function.c:976 0x67e321 emit_push_insn(rtx_def*, machine_mode, tree_node*, rtx_def*, unsigned int, int, rtx_def*, poly_int<1u, long>, rtx_def*, rtx_def*, int, rtx_def*, bool) /tmp/gcc-12-20210711/gcc/expr.c:4621 0x559c98 emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*) /tmp/gcc-12-20210711/gcc/calls.c:5595 0x86de22 emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, rtx_def*, machine_mode, rtx_def*, machine_mode) /tmp/gcc-12-20210711/gcc/rtl.h:4390 0x86de22 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /tmp/gcc-12-20210711/gcc/optabs.c:2172 0x86f9e6 sign_expand_binop(machine_mode, optab_tag, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /tmp/gcc-12-20210711/gcc/optabs.c:2304 0x665e44 expand_divmod(int, tree_code, machine_mode, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /tmp/gcc-12-20210711/gcc/expmed.c:5271 0x66fdad expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /tmp/gcc-12-20210711/gcc/expr.c:9473 0x57296a expand_gimple_stmt_1 /tmp/gcc-12-20210711/gcc/cfgexpand.c:3980 0x57296a expand_gimple_stmt /tmp/gcc-12-20210711/gcc/cfgexpand.c:4041 0x577392 expand_gimple_basic_block /tmp/gcc-12-20210711/gcc/cfgexpand.c:6083 0x579196 execute /tmp/gcc-12-20210711/gcc/cfgexpand.c:6809 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. The SEGV occurs because emit_library_call_value_1 () [calls.c line 5595] calls emit_push_insn () with NULL_TREE for TYPE, emit_push_insn () in this test case needs to call assign_temp () [expr.c line 4621] with the given TYPE, but assign_temp () fundamentally requires a non-NULL_TREE TYPE.