Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 66264f40081b646874f556b709075e2891181625..132439b8291283fb84c891d25ef9191a723570f3 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -998,46 +998,6 @@ |
vcvttss2siq(dst, src); |
} else { |
cvttss2siq(dst, src); |
- } |
-} |
- |
- |
-void MacroAssembler::Cvtss2siq(Register dst, XMMRegister src) { |
- if (CpuFeatures::IsSupported(AVX)) { |
- CpuFeatureScope scope(this, AVX); |
- vcvtss2siq(dst, src); |
- } else { |
- cvtss2siq(dst, src); |
- } |
-} |
- |
- |
-void MacroAssembler::Cvtss2siq(Register dst, const Operand& src) { |
- if (CpuFeatures::IsSupported(AVX)) { |
- CpuFeatureScope scope(this, AVX); |
- vcvtss2siq(dst, src); |
- } else { |
- cvtss2siq(dst, src); |
- } |
-} |
- |
- |
-void MacroAssembler::Cvtsd2siq(Register dst, XMMRegister src) { |
- if (CpuFeatures::IsSupported(AVX)) { |
- CpuFeatureScope scope(this, AVX); |
- vcvtsd2siq(dst, src); |
- } else { |
- cvtsd2siq(dst, src); |
- } |
-} |
- |
- |
-void MacroAssembler::Cvtsd2siq(Register dst, const Operand& src) { |
- if (CpuFeatures::IsSupported(AVX)) { |
- CpuFeatureScope scope(this, AVX); |
- vcvtsd2siq(dst, src); |
- } else { |
- cvtsd2siq(dst, src); |
} |
} |
@@ -2856,53 +2816,6 @@ |
} |
-void MacroAssembler::Roundss(XMMRegister dst, XMMRegister src, Register tmp, |
- RoundingMode mode) { |
- if (CpuFeatures::IsSupported(SSE4_1)) { |
- CpuFeatureScope scope(this, SSE4_1); |
- Roundss(dst, src, mode); |
- } else { |
- { |
- // Set the right rounding mode. |
- subq(rsp, Immediate(kPointerSize * 2)); |
- stmxcsr(Operand(rsp, 0)); |
- movl(tmp, Operand(rsp, 0)); |
- andl(tmp, Immediate(0xffff9fff)); |
- orl(tmp, Immediate(mode << 13)); |
- movl(Operand(rsp, kPointerSize), tmp); |
- ldmxcsr(Operand(rsp, kPointerSize)); |
- } |
- |
- // Do rounding by conversion to int64. |
- Cvtss2siq(tmp, src); |
- |
- Label done; |
- Label out_of_range; |
- cmpq(tmp, Immediate(1)); |
- // If the conversion results in INT64_MIN, then the input is outside |
- // int64 range, and due to the limited precision of float32 this means |
- // that the input must have been an integer already. We are therefore |
- // done already. |
- j(overflow, &out_of_range); |
- // Rounding is done by converting the value back to float. |
- Cvtqsi2ss(dst, tmp); |
- if (!dst.is(src)) { |
- jmp(&done); |
- } |
- |
- bind(&out_of_range); |
- if (!dst.is(src)) { |
- movss(dst, src); |
- } |
- |
- bind(&done); |
- // Restore the original rounding mode. |
- ldmxcsr(Operand(rsp, 0)); |
- addq(rsp, Immediate(kPointerSize * 2)); |
- } |
-} |
- |
- |
void MacroAssembler::Roundsd(XMMRegister dst, XMMRegister src, |
RoundingMode mode) { |
if (CpuFeatures::IsSupported(AVX)) { |
@@ -2910,53 +2823,6 @@ |
vroundsd(dst, dst, src, mode); |
} else { |
roundsd(dst, src, mode); |
- } |
-} |
- |
- |
-void MacroAssembler::Roundsd(XMMRegister dst, XMMRegister src, Register tmp, |
- RoundingMode mode) { |
- if (CpuFeatures::IsSupported(SSE4_1)) { |
- CpuFeatureScope scope(this, SSE4_1); |
- Roundsd(dst, src, mode); |
- } else { |
- { |
- // Set the right rounding mode. |
- subq(rsp, Immediate(kPointerSize * 2)); |
- stmxcsr(Operand(rsp, 0)); |
- movl(tmp, Operand(rsp, 0)); |
- andl(tmp, Immediate(0xffff9fff)); |
- orl(tmp, Immediate(mode << 13)); |
- movl(Operand(rsp, kPointerSize), tmp); |
- ldmxcsr(Operand(rsp, kPointerSize)); |
- } |
- |
- // Do rounding by conversion to int64. |
- Cvtsd2siq(tmp, src); |
- |
- Label out_of_range; |
- Label done; |
- cmpq(tmp, Immediate(1)); |
- // If the conversion results in INT64_MIN, then the input is outside |
- // int64 range, and due to the limited precision of float64 this means |
- // that the input must have been an integer already. We are therefore |
- // done already. |
- j(overflow, &out_of_range); |
- // Rounding is done by converting the value back to float. |
- Cvtqsi2sd(dst, tmp); |
- if (!dst.is(src)) { |
- jmp(&done); |
- } |
- |
- bind(&out_of_range); |
- if (!dst.is(src)) { |
- movsd(dst, src); |
- } |
- |
- bind(&done); |
- // Restore the original rounding mode. |
- ldmxcsr(Operand(rsp, 0)); |
- addq(rsp, Immediate(kPointerSize * 2)); |
} |
} |