Index: test/cctest/compiler/test-run-machops.cc |
diff --git a/test/cctest/compiler/test-run-machops.cc b/test/cctest/compiler/test-run-machops.cc |
index 52672c8a89204cdf1fcc7d275311813bbeaf9a46..4569e3f4db7c800d5f0e9cbc7283ab89190a6857 100644 |
--- a/test/cctest/compiler/test-run-machops.cc |
+++ b/test/cctest/compiler/test-run-machops.cc |
@@ -5419,6 +5419,28 @@ TEST(RunFloat32RoundDown) { |
} |
+TEST(RunFloat32RoundDownMinusZero) { |
+ BufferedRawMachineAssemblerTester<float> m(MachineType::Float32()); |
+ if (!m.machine()->Float32RoundDown().IsSupported()) return; |
+ |
+ m.Return(m.Float32RoundDown(m.Parameter(0))); |
+ int32_t expected = bit_cast<int32_t>(-0.0f); |
+ int32_t result = bit_cast<int32_t>(m.Call(-0.0f)); |
+ CHECK_EQ(expected, result); |
+} |
+ |
+ |
+TEST(RunFloat64RoundDownMinusZero) { |
+ BufferedRawMachineAssemblerTester<double> m(MachineType::Float64()); |
+ if (!m.machine()->Float64RoundDown().IsSupported()) return; |
+ |
+ m.Return(m.Float64RoundDown(m.Parameter(0))); |
+ int64_t expected = bit_cast<int64_t>(-0.0); |
+ int64_t result = bit_cast<int64_t>(m.Call(-0.0)); |
+ CHECK_EQ(expected, result); |
+} |
+ |
+ |
TEST(RunFloat64RoundDown1) { |
BufferedRawMachineAssemblerTester<double> m(MachineType::Float64()); |
if (!m.machine()->Float64RoundDown().IsSupported()) return; |