| Index: runtime/vm/intermediate_language_x64.cc
|
| diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
|
| index c908d1e1400a7ebecd0c301be4fa5e5dbb12467d..b4eefbf3c86c7e268afa0ddb0ecfb1ebf2fcb8ca 100644
|
| --- a/runtime/vm/intermediate_language_x64.cc
|
| +++ b/runtime/vm/intermediate_language_x64.cc
|
| @@ -4747,22 +4747,6 @@ void BinaryInt32x4OpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
|
|
| LocationSummary* MathUnaryInstr::MakeLocationSummary(Zone* zone,
|
| bool opt) const {
|
| - if ((kind() == MathUnaryInstr::kSin) || (kind() == MathUnaryInstr::kCos)) {
|
| - // Calling convention on x64 uses XMM0 and XMM1 to pass the first two
|
| - // double arguments and XMM0 to return the result. Unfortunately
|
| - // currently we can't specify these registers because ParallelMoveResolver
|
| - // assumes that XMM0 is free at all times.
|
| - // TODO(vegorov): allow XMM0 to be used.
|
| - const intptr_t kNumTemps = 1;
|
| - LocationSummary* summary = new(zone) LocationSummary(
|
| - zone, InputCount(), kNumTemps, LocationSummary::kCall);
|
| - summary->set_in(0, Location::FpuRegisterLocation(XMM1));
|
| - // R13 is chosen because it is callee saved so we do not need to back it
|
| - // up before calling into the runtime.
|
| - summary->set_temp(0, Location::RegisterLocation(R13));
|
| - summary->set_out(0, Location::FpuRegisterLocation(XMM1));
|
| - return summary;
|
| - }
|
| ASSERT((kind() == MathUnaryInstr::kSqrt) ||
|
| (kind() == MathUnaryInstr::kDoubleSquare));
|
| const intptr_t kNumInputs = 1;
|
| @@ -4787,16 +4771,7 @@ void MathUnaryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ mulsd(value_reg, value_reg);
|
| ASSERT(value_reg == locs()->out(0).fpu_reg());
|
| } else {
|
| - ASSERT((kind() == MathUnaryInstr::kSin) ||
|
| - (kind() == MathUnaryInstr::kCos));
|
| - // Save RSP.
|
| - __ movq(locs()->temp(0).reg(), RSP);
|
| - __ ReserveAlignedFrameSpace(0);
|
| - __ movaps(XMM0, locs()->in(0).fpu_reg());
|
| - __ CallRuntime(TargetFunction(), InputCount());
|
| - __ movaps(locs()->out(0).fpu_reg(), XMM0);
|
| - // Restore RSP.
|
| - __ movq(RSP, locs()->temp(0).reg());
|
| + UNREACHABLE();
|
| }
|
| }
|
|
|
|
|