diff options
author | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-30 17:59:10 +0000 |
---|---|---|
committer | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-30 17:59:10 +0000 |
commit | 2751c7d48f654df48925752bdbe179096104ca91 (patch) | |
tree | 5dcc80c69dfb0279ebc5b7971841ddabfc3f672f /gcc/config/xtensa | |
parent | 6084da09a030fd735c7ff46bcd5aefbdbe91ddc5 (diff) | |
download | gcc-2751c7d48f654df48925752bdbe179096104ca91.tar.gz |
* config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that
DIV0 exception can fall through to a normal return.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124303 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/xtensa')
-rw-r--r-- | gcc/config/xtensa/lib1funcs.asm | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/config/xtensa/lib1funcs.asm b/gcc/config/xtensa/lib1funcs.asm index 6db2a7d7239..7cb994dfd2e 100644 --- a/gcc/config/xtensa/lib1funcs.asm +++ b/gcc/config/xtensa/lib1funcs.asm @@ -654,16 +654,17 @@ __umodsi3: leaf_return .Lle_one: - beqz a3, .Lerror - movi a2, 0 - leaf_return + bnez a3, .Lreturn0 -.Lerror: /* Divide by zero: Use an illegal instruction to force an exception. The subsequent "DIV0" string can be recognized by the exception handler to identify the real cause of the exception. */ ill .ascii "DIV0" + +.Lreturn0: + movi a2, 0 + leaf_return .size __umodsi3,.-__umodsi3 #endif /* L_umodsi3 */ @@ -712,16 +713,17 @@ __modsi3: leaf_return .Lle_one: - beqz a3, .Lerror - movi a2, 0 - leaf_return + bnez a3, .Lreturn0 -.Lerror: /* Divide by zero: Use an illegal instruction to force an exception. The subsequent "DIV0" string can be recognized by the exception handler to identify the real cause of the exception. */ ill .ascii "DIV0" + +.Lreturn0: + movi a2, 0 + leaf_return .size __modsi3,.-__modsi3 #endif /* L_modsi3 */ |