This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Xtensa] fix another bug in new __umulsidi3 function


This fixes another problem in my change from 2006-11-06. I saved some registers but forgot to restore them on exit. Committed on the mainline.

2006-11-28 Bob Wilson <bob.wilson@acm.org>

* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.

Index: config/xtensa/lib1funcs.asm
===================================================================
--- config/xtensa/lib1funcs.asm	(revision 119295)
+++ config/xtensa/lib1funcs.asm	(working copy)
@@ -327,6 +327,13 @@
 	/* Restore the original return address.  */
 	l32i	a0, sp, 0
 #endif
+#if __XTENSA_CALL0_ABI__
+	l32i	a12, sp, 16
+	l32i	a13, sp, 20
+	l32i	a14, sp, 24
+	l32i	a15, sp, 28
+	addi	sp, sp, 32
+#endif
 	leaf_return
 
 #if !XCHAL_HAVE_MUL16 && !XCHAL_HAVE_MUL32 && !XCHAL_HAVE_MAC16

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]