From ca6f76d13558a4ae3935f309db6d4540114b6a14 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Tue, 3 Mar 1998 05:39:49 +0000 Subject: Fix DIV, DIV1 (wrong check for overflow) and DIVU1 (shouldn't check for overflow). Pacify GCC. --- sim/mips/mips.igen | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sim/mips/mips.igen') diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 839ae7a..64a7c73 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -1,3 +1,5 @@ +// -*- C -*- +// // ::= // { "+" } // ":" @@ -624,9 +626,10 @@ *tx19: // end-sanitize-tx19 { + /* this check's for overflow */ ALU64_BEGIN (GPR[RS]); ALU64_ADD (GPR[RT]); - ALU64_END (GPR[RT]); + ALU64_END (GPR[RD]); } @@ -787,7 +790,7 @@ LO = EXTEND32 (0x80000000); HI = EXTEND32 (0); } - else if (d == -1 && d == 0x80000000) + else if (n == SIGNED32 (0x80000000) && d == -1) { LO = EXTEND32 (0x80000000); HI = EXTEND32 (0); -- cgit v1.1