Index: src/mips/simulator-mips.cc |
diff --git a/src/mips/simulator-mips.cc b/src/mips/simulator-mips.cc |
index 4de2d5abf06332b503a5a34ecfaa7a503fa4653c..361aa6984c9e703523b9f9da4583b6de613567d5 100644 |
--- a/src/mips/simulator-mips.cc |
+++ b/src/mips/simulator-mips.cc |
@@ -1441,7 +1441,7 @@ bool Simulator::set_fcsr_round_error(double original, double rounded) { |
ret = true; |
} |
- if (rounded > max_int32 || rounded < min_int32) { |
+ if (rounded >= max_int32 || rounded < min_int32) { |
set_fcsr_bit(kFCSROverflowFlagBit, true); |
// The reference is not really clear but it seems this is required: |
set_fcsr_bit(kFCSRInvalidOpFlagBit, true); |
@@ -1473,7 +1473,7 @@ bool Simulator::set_fcsr_round64_error(double original, double rounded) { |
ret = true; |
} |
- if (rounded > max_int64 || rounded < min_int64) { |
+ if (rounded >= max_int64 || rounded < min_int64) { |
set_fcsr_bit(kFCSROverflowFlagBit, true); |
// The reference is not really clear but it seems this is required: |
set_fcsr_bit(kFCSRInvalidOpFlagBit, true); |
@@ -1505,7 +1505,7 @@ bool Simulator::set_fcsr_round_error(float original, float rounded) { |
ret = true; |
} |
- if (rounded > max_int32 || rounded < min_int32) { |
+ if (rounded >= max_int32 || rounded < min_int32) { |
set_fcsr_bit(kFCSROverflowFlagBit, true); |
// The reference is not really clear but it seems this is required: |
set_fcsr_bit(kFCSRInvalidOpFlagBit, true); |
@@ -1537,7 +1537,7 @@ bool Simulator::set_fcsr_round64_error(float original, float rounded) { |
ret = true; |
} |
- if (rounded > max_int64 || rounded < min_int64) { |
+ if (rounded >= max_int64 || rounded < min_int64) { |
set_fcsr_bit(kFCSROverflowFlagBit, true); |
// The reference is not really clear but it seems this is required: |
set_fcsr_bit(kFCSRInvalidOpFlagBit, true); |