https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120856
Bug ID: 120856 Summary: [avr] during RTL pass: split2: internal compiler error: Segmentation fault with -mno-lra Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: gjl at gcc dot gnu.org Target Milestone: --- unsigned long long _Fract func (long f) { return __builtin_avr_ullrbits (f < 0 ? 0 : f); } This test case ICEs with -Os -mno-lra when split2 tries to split the following insn: (insn 10 40 29 4 (set (reg:DI 24 r24 [orig:49 _2 ] [49]) (zero_extend:DI (reg:SI 24 r24 [orig:48 _1 ] [48]))) "<stdin>":4:46 827 {zero_extendsidi2} because it splits to R24:SI = R22:SI and R28:SI = 0, but the latter is denied since hard_regno_mode_ok denies R28:SI with -mno-lra but allowed R22:DI. This ICE accurs when building libgcc, so might be annoying when comparing -mlra against -mno-lra.