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
+2007-04-30 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that
+ DIV0 exception can fall through to a normal return.
+
2007-04-30 Alexandre Oliva <aoliva@redhat.com>
PR middle-end/22156
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 */
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 */