Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: test/unittests/compiler/machine-operator-reducer-unittest.cc

Issue 2083573002: [builtins] Unify Cosh, Sinh and Tanh as exports from flibm (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE and windows fix. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/machine-operator-reducer.h" 5 #include "src/compiler/machine-operator-reducer.h"
6 #include "src/base/bits.h" 6 #include "src/base/bits.h"
7 #include "src/base/division-by-constant.h" 7 #include "src/base/division-by-constant.h"
8 #include "src/base/ieee754.h" 8 #include "src/base/ieee754.h"
9 #include "src/compiler/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/typer.h" 10 #include "src/compiler/typer.h"
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 TRACED_FOREACH(double, x, kFloat64Values) { 1478 TRACED_FOREACH(double, x, kFloat64Values) {
1479 Reduction const r = 1479 Reduction const r =
1480 Reduce(graph()->NewNode(machine()->Float64Cos(), Float64Constant(x))); 1480 Reduce(graph()->NewNode(machine()->Float64Cos(), Float64Constant(x)));
1481 ASSERT_TRUE(r.Changed()); 1481 ASSERT_TRUE(r.Changed());
1482 EXPECT_THAT(r.replacement(), 1482 EXPECT_THAT(r.replacement(),
1483 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::cos(x)))); 1483 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::cos(x))));
1484 } 1484 }
1485 } 1485 }
1486 1486
1487 // ----------------------------------------------------------------------------- 1487 // -----------------------------------------------------------------------------
1488 // Float64Cosh
1489
1490 TEST_F(MachineOperatorReducerTest, Float64CoshWithConstant) {
1491 TRACED_FOREACH(double, x, kFloat64Values) {
1492 Reduction const r =
1493 Reduce(graph()->NewNode(machine()->Float64Cosh(), Float64Constant(x)));
1494 ASSERT_TRUE(r.Changed());
1495 EXPECT_THAT(
1496 r.replacement(),
1497 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::cosh(x))));
1498 }
1499 }
1500
1501 // -----------------------------------------------------------------------------
1488 // Float64Exp 1502 // Float64Exp
1489 1503
1490 TEST_F(MachineOperatorReducerTest, Float64ExpWithConstant) { 1504 TEST_F(MachineOperatorReducerTest, Float64ExpWithConstant) {
1491 TRACED_FOREACH(double, x, kFloat64Values) { 1505 TRACED_FOREACH(double, x, kFloat64Values) {
1492 Reduction const r = 1506 Reduction const r =
1493 Reduce(graph()->NewNode(machine()->Float64Exp(), Float64Constant(x))); 1507 Reduce(graph()->NewNode(machine()->Float64Exp(), Float64Constant(x)));
1494 ASSERT_TRUE(r.Changed()); 1508 ASSERT_TRUE(r.Changed());
1495 EXPECT_THAT(r.replacement(), 1509 EXPECT_THAT(r.replacement(),
1496 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::exp(x)))); 1510 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::exp(x))));
1497 } 1511 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1531 TRACED_FOREACH(double, x, kFloat64Values) { 1545 TRACED_FOREACH(double, x, kFloat64Values) {
1532 Reduction const r = 1546 Reduction const r =
1533 Reduce(graph()->NewNode(machine()->Float64Sin(), Float64Constant(x))); 1547 Reduce(graph()->NewNode(machine()->Float64Sin(), Float64Constant(x)));
1534 ASSERT_TRUE(r.Changed()); 1548 ASSERT_TRUE(r.Changed());
1535 EXPECT_THAT(r.replacement(), 1549 EXPECT_THAT(r.replacement(),
1536 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::sin(x)))); 1550 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::sin(x))));
1537 } 1551 }
1538 } 1552 }
1539 1553
1540 // ----------------------------------------------------------------------------- 1554 // -----------------------------------------------------------------------------
1555 // Float64Sinh
1556
1557 TEST_F(MachineOperatorReducerTest, Float64SinhWithConstant) {
1558 TRACED_FOREACH(double, x, kFloat64Values) {
1559 Reduction const r =
1560 Reduce(graph()->NewNode(machine()->Float64Sinh(), Float64Constant(x)));
1561 ASSERT_TRUE(r.Changed());
1562 EXPECT_THAT(
1563 r.replacement(),
1564 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::sinh(x))));
1565 }
1566 }
1567
1568 // -----------------------------------------------------------------------------
1541 // Float64Tan 1569 // Float64Tan
1542 1570
1543 TEST_F(MachineOperatorReducerTest, Float64TanWithConstant) { 1571 TEST_F(MachineOperatorReducerTest, Float64TanWithConstant) {
1544 TRACED_FOREACH(double, x, kFloat64Values) { 1572 TRACED_FOREACH(double, x, kFloat64Values) {
1545 Reduction const r = 1573 Reduction const r =
1546 Reduce(graph()->NewNode(machine()->Float64Tan(), Float64Constant(x))); 1574 Reduce(graph()->NewNode(machine()->Float64Tan(), Float64Constant(x)));
1547 ASSERT_TRUE(r.Changed()); 1575 ASSERT_TRUE(r.Changed());
1548 EXPECT_THAT(r.replacement(), 1576 EXPECT_THAT(r.replacement(),
1549 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::tan(x)))); 1577 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::tan(x))));
1550 } 1578 }
1551 } 1579 }
1552 1580
1553 // ----------------------------------------------------------------------------- 1581 // -----------------------------------------------------------------------------
1582 // Float64Tanh
1583
1584 TEST_F(MachineOperatorReducerTest, Float64TanhWithConstant) {
1585 TRACED_FOREACH(double, x, kFloat64Values) {
1586 Reduction const r =
1587 Reduce(graph()->NewNode(machine()->Float64Tanh(), Float64Constant(x)));
1588 ASSERT_TRUE(r.Changed());
1589 EXPECT_THAT(
1590 r.replacement(),
1591 IsFloat64Constant(NanSensitiveDoubleEq(base::ieee754::tanh(x))));
1592 }
1593 }
1594
1595 // -----------------------------------------------------------------------------
1554 // Float64InsertLowWord32 1596 // Float64InsertLowWord32
1555 1597
1556 TEST_F(MachineOperatorReducerTest, Float64InsertLowWord32WithConstant) { 1598 TEST_F(MachineOperatorReducerTest, Float64InsertLowWord32WithConstant) {
1557 TRACED_FOREACH(double, x, kFloat64Values) { 1599 TRACED_FOREACH(double, x, kFloat64Values) {
1558 TRACED_FOREACH(uint32_t, y, kUint32Values) { 1600 TRACED_FOREACH(uint32_t, y, kUint32Values) {
1559 Reduction const r = 1601 Reduction const r =
1560 Reduce(graph()->NewNode(machine()->Float64InsertLowWord32(), 1602 Reduce(graph()->NewNode(machine()->Float64InsertLowWord32(),
1561 Float64Constant(x), Uint32Constant(y))); 1603 Float64Constant(x), Uint32Constant(y)));
1562 ASSERT_TRUE(r.Changed()); 1604 ASSERT_TRUE(r.Changed());
1563 EXPECT_THAT( 1605 EXPECT_THAT(
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
1794 Reduction r = Reduce(node); 1836 Reduction r = Reduce(node);
1795 ASSERT_TRUE(r.Changed()); 1837 ASSERT_TRUE(r.Changed());
1796 EXPECT_THAT(r.replacement(), 1838 EXPECT_THAT(r.replacement(),
1797 IsStore(rep, base, index, value, effect, control)); 1839 IsStore(rep, base, index, value, effect, control));
1798 } 1840 }
1799 } 1841 }
1800 1842
1801 } // namespace compiler 1843 } // namespace compiler
1802 } // namespace internal 1844 } // namespace internal
1803 } // namespace v8 1845 } // namespace v8
OLDNEW
« no previous file with comments | « test/unittests/compiler/js-builtin-reducer-unittest.cc ('k') | test/unittests/compiler/node-test-utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698