https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112552
--- Comment #2 from Patrick O'Neill <patrick at rivosinc dot com> --- Created attachment 56598 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56598&action=edit -freport-bug output tip-of-tree gcc I bisected with `grep "internal compiler error"` so it seems like the ICE has changed from tip of tree. Using r14-5509-g026d9454b1d I get the same ICE as you: > /scratch/tc-testing/tc-nov-15-trunk/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc > -march=rv64gcv -O3 --param riscv-autovec-preference=fixed-vlmax -S red.c > -freport-bug red.c: In function 'h': red.c:7:15: warning: initialization of 'char *' from incompatible pointer type 'void (*)()' [-Wincompatible-pointer-types] 7 | char *f = h; | ^ red.c:8:16: warning: comparison between pointer and integer 8 | e = b || g > 1 ? g : b; | ^ during RTL pass: expand red.c:5:6: internal compiler error: in expand_insn, at optabs.cc:8305 5 | void h() { | ^ 0xa0ef2b expand_insn(insn_code, unsigned int, expand_operand*) ../../../gcc/gcc/optabs.cc:8305 0xa0f874 expand_insn(insn_code, unsigned int, expand_operand*) ../../../gcc/gcc/optabs.cc:8276 0xf8b11b expand_fn_using_insn ../../../gcc/gcc/internal-fn.cc:261 0xd1e9b7 expand_call_stmt ../../../gcc/gcc/cfgexpand.cc:2737 0xd1e9b7 expand_gimple_stmt_1 ../../../gcc/gcc/cfgexpand.cc:3880 0xd1e9b7 expand_gimple_stmt ../../../gcc/gcc/cfgexpand.cc:4044 0xd23940 expand_gimple_basic_block ../../../gcc/gcc/cfgexpand.cc:6100 0xd25a06 execute ../../../gcc/gcc/cfgexpand.cc:6835 Please submit a full bug report, with preprocessed source. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.