aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2024-08-18 17:07:15 +0200
committerGeorg-Johann Lay <avr@gjlay.de>2024-08-18 17:07:15 +0200
commit22acd3c4d18dbd4d4d39d7770145fe3ec36073f6 (patch)
tree5948ea1ab7112eb7270a42c5102cf8c2de49938a
parentdfb2e8caa85d1059a0ab8ed4f19568c04c9f13a4 (diff)
downloadgcc-22acd3c4d18dbd4d4d39d7770145fe3ec36073f6.zip
gcc-22acd3c4d18dbd4d4d39d7770145fe3ec36073f6.tar.gz
gcc-22acd3c4d18dbd4d4d39d7770145fe3ec36073f6.tar.bz2
AVR: ad target/116407 - Fix linker error "relocation truncated to fit".
PR target/116407 gcc/ * config/avr/avr.md (*dec-and-branchhi!=-1.l.clobber): Increase the additional jump offset to 2 words.
-rw-r--r--gcc/config/avr/avr.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 8c4819a..57f4a08 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -7718,7 +7718,7 @@
"sub %A0,%3" CR_TAB
"sbc %B0,__zero_reg__", operands);
- int jump_mode = avr_jump_mode (operands[2], insn, 1 - avr_adiw_reg_p (operands[0]));
+ int jump_mode = avr_jump_mode (operands[2], insn, 2);
const char *op = ((EQ == <CODE>) ^ (jump_mode == 1)) ? "brcc" : "brcs";
operands[1] = gen_rtx_CONST_STRING (VOIDmode, op);