diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12c61b79200b6abaa037bfb14d6fc474ef89e9ce..6466bad462ce44b9121681580d68bbc5d73fbbdf 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 69d51a7551c0d2b557a0df2b3f224e8376729edb..9b9efa87be7ed4ded953559a62fb51184f16a2c0 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