https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125751
Bug ID: 125751
Summary: [avr] Wrong lengh calculation in avr.cc::avr_out_fract
Product: gcc
Version: 17.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: ---
Too short lengths due to
else if (use_src && overlap)
{
avr_asm_len ("clr __tmp_reg__" CR_TAB
"sbrc %1,0" CR_TAB
"dec __tmp_reg__", xop, plen, 1);
...
if (have_carry)
avr_asm_len ("clt" CR_TAB
"bld __tmp_reg__,7" CR_TAB
"adc %0,__tmp_reg__",
&all_regs_rtx[s0], plen, 1);
can lead to
> relocation truncated to fit: R_AVR_7_PCREL against `.L5'
errors from the linker.