https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111947
--- Comment #1 from Patrick O'Neill <patrick at rivosinc dot com> --- Testcase output on r14-4873-g02aa322c8c: > ./riscv64-unknown-linux-gnu-gcc red.c -S -o test.S -O2 red.c:2:1: warning: return type defaults to 'int' [-Wimplicit-int] 2 | b() { | ^ during RTL pass: vsetvl red.c: In function 'b': red.c:10:1: internal compiler error: RTL check: expected code 'reg', have 'const_int' in rhs_regno, at rtl.h:1934 10 | } | ^ 0x961683 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int, char const*) ../../../gcc/gcc/rtl.cc:770 0x99934c rhs_regno(rtx_def const*) ../../../gcc/gcc/rtl.h:1934 0x999dec rhs_regno(rtx_def const*) ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:2628 0x999dec pre_vsetvl::compute_lcm_local_properties() ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:2695 0x1734a89 pre_vsetvl::earliest_fuse_vsetvl_info() ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:2885 0x1735e29 pass_vsetvl::lazy_vsetvl() ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:3524 0x17361b7 pass_vsetvl::execute(function*) ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:3571 0x17361b7 pass_vsetvl::execute(function*) ../../../gcc/gcc/config/riscv/riscv-vsetvl.cc:3554 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.