| Index: src/crankshaft/s390/lithium-codegen-s390.cc
|
| diff --git a/src/crankshaft/s390/lithium-codegen-s390.cc b/src/crankshaft/s390/lithium-codegen-s390.cc
|
| index 90f9e928dd097179610ca70e0d195e0eb988a4b2..ff8cec5e8f9d6f8a62e680f49962a9a6946e7e7e 100644
|
| --- a/src/crankshaft/s390/lithium-codegen-s390.cc
|
| +++ b/src/crankshaft/s390/lithium-codegen-s390.cc
|
| @@ -3521,9 +3521,13 @@ void LCodeGen::DoMathFround(LMathFround* instr) {
|
| }
|
|
|
| void LCodeGen::DoMathSqrt(LMathSqrt* instr) {
|
| - DoubleRegister input = ToDoubleRegister(instr->value());
|
| DoubleRegister result = ToDoubleRegister(instr->result());
|
| - __ sqdbr(result, input);
|
| + LOperand* input = instr->value();
|
| + if (input->IsDoubleRegister()) {
|
| + __ Sqrt(result, ToDoubleRegister(instr->value()));
|
| + } else {
|
| + __ Sqrt(result, ToMemOperand(input));
|
| + }
|
| }
|
|
|
| void LCodeGen::DoMathPowHalf(LMathPowHalf* instr) {
|
|
|