aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2006-11-17 22:40:02 +0000
committerBob Wilson <bwilson@gcc.gnu.org>2006-11-17 22:40:02 +0000
commit05dcbf00e17cfa9107ea69a2c6aef54ec0dce12a (patch)
treec0eaf4e2518943ced9d342d3a8cb27d09a7cd159 /gcc
parent9fa25ead5321c9f0a35445d08f83d9116902da94 (diff)
downloadgcc-05dcbf00e17cfa9107ea69a2c6aef54ec0dce12a.zip
gcc-05dcbf00e17cfa9107ea69a2c6aef54ec0dce12a.tar.gz
gcc-05dcbf00e17cfa9107ea69a2c6aef54ec0dce12a.tar.bz2
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
From-SVN: r118946
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/xtensa/lib1funcs.asm4
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 12c61b7..6466bad 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2006-11-17 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
+
2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
* tree-vrp.c (execute_vrp): Do not update current_loops.
diff --git a/gcc/config/xtensa/lib1funcs.asm b/gcc/config/xtensa/lib1funcs.asm
index 69d51a7..9b9efa8 100644
--- a/gcc/config/xtensa/lib1funcs.asm
+++ b/gcc/config/xtensa/lib1funcs.asm
@@ -323,6 +323,10 @@ __umulsidi3:
#endif /* !MUL32_HIGH */
+#if !XCHAL_HAVE_MUL16 && !XCHAL_HAVE_MUL32 && !XCHAL_HAVE_MAC16
+ /* Restore the original return address. */
+ l32i a0, sp, 0
+#endif
leaf_return
#if !XCHAL_HAVE_MUL16 && !XCHAL_HAVE_MUL32 && !XCHAL_HAVE_MAC16