| Index: src/a64/lithium-a64.cc
|
| diff --git a/src/a64/lithium-a64.cc b/src/a64/lithium-a64.cc
|
| index e3c8c064c62acf51689b472f0e7752fe7e757a54..5863fd34a776cff80df18d56f756c62d72bef425 100644
|
| --- a/src/a64/lithium-a64.cc
|
| +++ b/src/a64/lithium-a64.cc
|
| @@ -1909,9 +1909,11 @@ LInstruction* LChunkBuilder::DoPower(HPower* instr) {
|
| Representation exponent_type = instr->right()->representation();
|
| ASSERT(instr->left()->representation().IsDouble());
|
| LOperand* left = UseFixedDouble(instr->left(), d0);
|
| - LOperand* right = exponent_type.IsDouble() ?
|
| - UseFixedDouble(instr->right(), d1) :
|
| - UseFixed(instr->right(), x11);
|
| + LOperand* right = exponent_type.IsInteger32()
|
| + ? UseFixed(instr->right(), x12)
|
| + : exponent_type.IsDouble()
|
| + ? UseFixedDouble(instr->right(), d1)
|
| + : UseFixed(instr->right(), x11);
|
| LPower* result = new(zone()) LPower(left, right);
|
| return MarkAsCall(DefineFixedDouble(result, d0),
|
| instr,
|
|
|