Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index b5eeff4d4f2af5663d3338d34bb741d38074af6e..0db3d9cae6fc423281d4359d836966a2584b3f82 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -1652,9 +1652,10 @@ LInstruction* LChunkBuilder::DoPower(HPower* instr) { |
Representation exponent_type = instr->right()->representation(); |
DCHECK(instr->left()->representation().IsDouble()); |
LOperand* left = UseFixedDouble(instr->left(), xmm2); |
- LOperand* right = exponent_type.IsDouble() ? |
- UseFixedDouble(instr->right(), xmm1) : |
- UseFixed(instr->right(), eax); |
+ LOperand* right = |
+ exponent_type.IsDouble() |
+ ? UseFixedDouble(instr->right(), xmm1) |
+ : UseFixed(instr->right(), MathPowTaggedDescriptor::exponent()); |
LPower* result = new(zone()) LPower(left, right); |
return MarkAsCall(DefineFixedDouble(result, xmm3), instr, |
CAN_DEOPTIMIZE_EAGERLY); |