aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2006-11-28 21:22:14 +0000
committerBob Wilson <bwilson@gcc.gnu.org>2006-11-28 21:22:14 +0000
commitf8383f28e295dcbc49b52de03b4908d880adf10c (patch)
treec783baeb64a7dd602bd9667992d464e51f720263 /gcc/config
parent5cd4ec7f24ef2fca4e1e27836e5eee7b15b8abd8 (diff)
downloadgcc-f8383f28e295dcbc49b52de03b4908d880adf10c.zip
gcc-f8383f28e295dcbc49b52de03b4908d880adf10c.tar.gz
gcc-f8383f28e295dcbc49b52de03b4908d880adf10c.tar.bz2
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.
From-SVN: r119296
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/xtensa/lib1funcs.asm7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/xtensa/lib1funcs.asm b/gcc/config/xtensa/lib1funcs.asm
index 9b9efa8..5b4f8c8 100644
--- a/gcc/config/xtensa/lib1funcs.asm
+++ b/gcc/config/xtensa/lib1funcs.asm
@@ -327,6 +327,13 @@ __umulsidi3:
/* 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