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.

Reply via email to