Chromium Code Reviews| 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 0c1175051d7c41f5626ee2fab63f13ea2e9e942e..60473380858f8ee73367fc167f79b5dbe4075ac0 100644 | 
| --- a/test/cctest/compiler/test-run-machops.cc | 
| +++ b/test/cctest/compiler/test-run-machops.cc | 
| @@ -3790,6 +3790,47 @@ TEST(RunFloat64MinP) { | 
| } | 
| } | 
| +namespace { | 
| + | 
| +float fmax(float x, float y) { | 
| 
 
titzer
2016/08/17 11:26:09
Can you move this to a common place so that it can
 
ahaas
2016/08/18 07:13:20
Done.
 
 | 
| + if (std::isnan(x)) return x; | 
| + if (std::isnan(y)) return y; | 
| + if (std::signbit(x) < std::signbit(y)) return x; | 
| + return std::max(x, y); | 
| +} | 
| + | 
| +float fmin(float x, float y) { | 
| + if (std::isnan(x)) return x; | 
| + if (std::isnan(y)) return y; | 
| + if (std::signbit(x) < std::signbit(y)) return y; | 
| + return std::min(x, y); | 
| +} | 
| + | 
| +} // namespace | 
| + | 
| +TEST(RunFloat32Max) { | 
| + RawMachineAssemblerTester<int32_t> m; | 
| + Float32BinopTester bt(&m); | 
| + bt.AddReturn(m.Float32Max(bt.param0, bt.param1)); | 
| + | 
| + FOR_FLOAT32_INPUTS(pl) { | 
| + FOR_FLOAT32_INPUTS(pr) { | 
| + CHECK_FLOAT_EQ(fmax(*pl, *pr), bt.call(*pl, *pr)); | 
| + } | 
| + } | 
| +} | 
| + | 
| +TEST(RunFloat32Min) { | 
| + RawMachineAssemblerTester<int32_t> m; | 
| + Float32BinopTester bt(&m); | 
| + bt.AddReturn(m.Float32Min(bt.param0, bt.param1)); | 
| + | 
| + FOR_FLOAT32_INPUTS(pl) { | 
| + FOR_FLOAT32_INPUTS(pr) { | 
| + CHECK_FLOAT_EQ(fmin(*pl, *pr), bt.call(*pl, *pr)); | 
| + } | 
| + } | 
| +} | 
| TEST(RunFloat32SubP) { | 
| RawMachineAssemblerTester<int32_t> m; |