[gcc r16-6557] [committed] [PR target/123403] Fix base register and offsets for v850 libgcc

Jeff Law law@gcc.gnu.org
Wed Jan 7 15:40:34 GMT 2026


https://gcc.gnu.org/g:1bfe9149f60ce3284350b17847e33dea90e1183a

commit r16-6557-g1bfe9149f60ce3284350b17847e33dea90e1183a
Author: Vladimir Vishniakov <volodia@hex-rays.com>
Date:   Wed Jan 7 08:37:30 2026 -0700

    [committed] [PR target/123403] Fix base register and offsets for v850 libgcc
    
            PR target/123403
    libgcc/
            * config/v850/lib1funcs.S (__return_r25_r29): Fix ! __EP__ clause to
            use SP, not EP.
            (__return_r2_r31): Fix offsets to match store offsets.

Diff:
---
 libgcc/config/v850/lib1funcs.S | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/libgcc/config/v850/lib1funcs.S b/libgcc/config/v850/lib1funcs.S
index 919ae207b40f..61078181b9ac 100644
--- a/libgcc/config/v850/lib1funcs.S
+++ b/libgcc/config/v850/lib1funcs.S
@@ -727,11 +727,11 @@ __return_r25_r29:
 	addi	20,sp,sp
 	mov	r1,ep
 #else
-	ld.w	0[ep],r29
-	ld.w	4[ep],r28
-	ld.w	8[ep],r27
-	ld.w	12[ep],r26
-	ld.w	16[ep],r25
+	ld.w	0[sp],r29
+	ld.w	4[sp],r28
+	ld.w	8[sp],r27
+	ld.w	12[sp],r26
+	ld.w	16[sp],r25
 	addi	20,sp,sp
 #endif
 	jmp	[r31]
@@ -940,18 +940,18 @@ __return_r2_r31:
 	addi	48,sp,sp
 	mov	r1,ep
 #else
-	ld.w	44[sp],r29
-	ld.w	40[sp],r28
-	ld.w	36[sp],r27
-	ld.w	32[sp],r26
-	ld.w	28[sp],r25
-	ld.w	24[sp],r24
-	ld.w	20[sp],r23
-	ld.w	16[sp],r22
-	ld.w	12[sp],r21
-	ld.w	8[sp],r20
-	ld.w	4[sp],r2
-	ld.w	0[sp],r31
+	ld.w	0[sp],r29
+	ld.w	4[sp],r28
+	ld.w	8[sp],r27
+	ld.w	12[sp],r26
+	ld.w	16[sp],r25
+	ld.w	20[sp],r24
+	ld.w	24[sp],r23
+	ld.w	28[sp],r22
+	ld.w	32[sp],r21
+	ld.w	36[sp],r20
+	ld.w	40[sp],r2
+	ld.w	44[sp],r31
 	addi	48,sp,sp
 #endif
 	jmp	[r31]


More information about the Gcc-cvs mailing list