https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93583
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #4) > The line where things crash is > rtx temp = gen_reg_rtx (GET_MODE (valreg)); > but presumably valreg is just 0 here? Yes: (gdb) p valreg $1 = (rtx_def *) 0x0 (gdb) p debug_gimple_stmt(stmt) # .MEM_49 = VDEF <_45> describe_cache.constprop.isra (l1_sizekb_36, l1_line_37); One can debug that on gcc112 compile farm machine: $ /home/marxin/Programming/gcc/objdir/./prev-gcc/lto1 /tmp/ice.ltrans1.o -fltrans -quiet during RTL pass: expand ../../gcc/config/rs6000/driver-rs6000.c: In function ‘host_detect_local_cpu’: ../../gcc/config/rs6000/driver-rs6000.c:338:25: internal compiler error: Segmentation fault 338 | return describe_cache (l1_sizekb, l1_line, l1_assoc, l2_sizekb); | ^ 0x109138f3 crash_signal ../../gcc/toplev.c:328 0x102468b0 expand_call(tree_node*, rtx_def*, int) ../../gcc/calls.c:4672 0x1040d527 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/expr.c:11130 0x10260097 expand_expr ../../gcc/expr.h:282 0x10260097 expand_call_stmt ../../gcc/cfgexpand.c:2703 0x10260097 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3682 0x10260097 expand_gimple_stmt ../../gcc/cfgexpand.c:3847 0x102673d3 expand_gimple_basic_block ../../gcc/cfgexpand.c:5887 0x10269f07 execute ../../gcc/cfgexpand.c:6542 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.