aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2004-07-14 13:09:09 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2004-07-14 13:09:09 +0000
commit220a826e6d1fa35c9b64abea2f4dbc662ecb5126 (patch)
tree8c1149be9d6bd70d5d9e66146dc0e63270631f23 /gcc
parentbb732af86378799aa21ead613328f261480aad14 (diff)
downloadgcc-220a826e6d1fa35c9b64abea2f4dbc662ecb5126.zip
gcc-220a826e6d1fa35c9b64abea2f4dbc662ecb5126.tar.gz
gcc-220a826e6d1fa35c9b64abea2f4dbc662ecb5126.tar.bz2
s390.md ("udivsi3"): Ensure trap is generated for division by zero.
gcc/ChangeLog: * config/s390/s390.md ("udivsi3"): Ensure trap is generated for division by zero. ("umodsi3"): Likewise. libjava/ChangeLog: * configure.host (DIVIDESPEC) [s390*-*-*]: Set to -fno-use-divide-subroutine. * include/s390-signal.h: Include <ucontext.h> and <limits.h>. (HANDLE_FPE): Define. (SIGNAL_HANDLER): Change third argument to ucontext_t *. (struct old_s390_kernel_sigaction): Likewise for k_sa_handler. (HANDLE_DIVIDE_OVERFLOW): Define. From-SVN: r84683
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.md4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ef5f5b6..98278ae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("udivsi3"): Ensure trap is generated
+ for division by zero.
+ ("umodsi3"): Likewise.
+
2004-07-14 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_output_move): When generating mips16 code,
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 1a53e71..8a95d0c 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -4990,7 +4990,7 @@
emit_move_insn (operands[0], const0_rtx);
emit_insn (gen_cmpsi (operands[2], operands[1]));
emit_jump_insn (gen_bgtu (label3));
- emit_insn (gen_cmpsi (operands[2], const1_rtx));
+ emit_insn (gen_cmpsi (operands[2], const0_rtx));
emit_jump_insn (gen_blt (label2));
emit_insn (gen_cmpsi (operands[2], const1_rtx));
emit_jump_insn (gen_beq (label1));
@@ -5082,7 +5082,7 @@
emit_move_insn(operands[0], operands[1]);
emit_insn (gen_cmpsi (operands[2], operands[1]));
emit_jump_insn (gen_bgtu (label3));
- emit_insn (gen_cmpsi (operands[2], const1_rtx));
+ emit_insn (gen_cmpsi (operands[2], const0_rtx));
emit_jump_insn (gen_blt (label2));
emit_insn (gen_cmpsi (operands[2], const1_rtx));
emit_jump_insn (gen_beq (label1));