| 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();
 | 
| 
 |