Index: src/assembler.cc |
=================================================================== |
--- src/assembler.cc (revision 6572) |
+++ src/assembler.cc (working copy) |
@@ -838,8 +838,8 @@ |
return power_double_int(x, y_int); // Returns 1.0 for exponent 0. |
} |
if (!isinf(x)) { |
- if (y == 0.5) return sqrt(x); |
- if (y == -0.5) return 1.0 / sqrt(x); |
+ if (y == 0.5) return sqrt(x + 0.0); // -0 must be converted to +0. |
+ if (y == -0.5) return 1.0 / sqrt(x + 0.0); |
} |
if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) { |
return OS::nan_value(); |