https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115458
Bug ID: 115458 Summary: [15 regression] [RISC-V] ICE in lra_split_hard_reg_for, at lra-assigns.cc:1868 unable to find a register to spill Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sch...@linux-m68k.org Target Milestone: --- Target: riscv64-*-* Created attachment 58412 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58412&action=edit if_test.cc.ii $ ./xgcc -B. -O2 -std=c++17 -march=rv64gcv1p0 if_test.cc.ii -S -fno-exceptions /home/abuild/rpmbuild/BUILD/highway-1.2.0/hwy/tests/if_test.cc: In function ‘void hwy::N_RVV::TestIfNegativeThenNegOrUndefIfZero::operator()(T, D) [with T = short int; D = hwy::N_RVV::Simd<short int, 4096, 3>]’: /home/abuild/rpmbuild/BUILD/highway-1.2.0/hwy/tests/if_test.cc:268:3: error: unable to find a register to spill /home/abuild/rpmbuild/BUILD/highway-1.2.0/hwy/tests/if_test.cc:268:3: error: this is the insn: (insn 47 613 689 2 (set (reg:RVVM8HI 284) (if_then_else:RVVM8HI (unspec:RVVMF2BI [ (reg:RVVMF2BI 285 [orig:152 _19 ] [152]) (reg:DI 134 [ _1 ]) (const_int 2 [0x2]) (const_int 0 [0]) repeated x2 (reg:SI 66 vl) (reg:SI 67 vtype) ] UNSPEC_VPREDICATE) (minus:RVVM8HI (reg:RVVM8HI 374 [orig:145 _12 ] [145]) (reg:RVVM8HI 287 [orig:143 _10 ] [143])) (reg:RVVM8HI 284))) "/home/abuild/rpmbuild/BUILD/highway-1.2.0/hwy/tests/if_test.cc":251:19 discrim 1 4899 {pred_subrvvm8hi} (expr_list:REG_DEAD (reg:RVVM8HI 374 [orig:145 _12 ] [145]) (expr_list:REG_DEAD (reg:RVVM8HI 287 [orig:143 _10 ] [143]) (expr_list:REG_DEAD (reg:RVVMF2BI 285 [orig:152 _19 ] [152]) (nil))))) during RTL pass: reload /home/abuild/rpmbuild/BUILD/highway-1.2.0/hwy/tests/if_test.cc:268:3: internal compiler error: in lra_split_hard_reg_for, at lra-assigns.cc:1868 Only happens with -fno-exceptions.