| Index: test/unittests/compiler/simplified-operator-reducer-unittest.cc
|
| diff --git a/test/unittests/compiler/simplified-operator-reducer-unittest.cc b/test/unittests/compiler/simplified-operator-reducer-unittest.cc
|
| index 94cd7cacc46158cad9c3cd7a0d24fb7328d8729d..b21a148718bb24f6bb406b5e62d308baeedc17d1 100644
|
| --- a/test/unittests/compiler/simplified-operator-reducer-unittest.cc
|
| +++ b/test/unittests/compiler/simplified-operator-reducer-unittest.cc
|
| @@ -97,6 +97,10 @@ const double kNaNs[] = {-std::numeric_limits<double>::quiet_NaN(),
|
| bit_cast<double>(V8_UINT64_C(0x7FFFFFFFFFFFFFFF)),
|
| bit_cast<double>(V8_UINT64_C(0xFFFFFFFFFFFFFFFF))};
|
|
|
| +const CheckForMinusZeroMode kCheckForMinusZeroModes[] = {
|
| + CheckForMinusZeroMode::kDontCheckForMinusZero,
|
| + CheckForMinusZeroMode::kCheckForMinusZero};
|
| +
|
| } // namespace
|
|
|
|
|
| @@ -183,21 +187,20 @@ TEST_F(SimplifiedOperatorReducerTest, ChangeTaggedToBitWithChangeBitToTagged) {
|
| EXPECT_EQ(param0, reduction.replacement());
|
| }
|
|
|
| -
|
| // -----------------------------------------------------------------------------
|
| // ChangeFloat64ToTagged
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest, ChangeFloat64ToTaggedWithConstant) {
|
| - TRACED_FOREACH(double, n, kFloat64Values) {
|
| - Reduction reduction = Reduce(graph()->NewNode(
|
| - simplified()->ChangeFloat64ToTagged(), Float64Constant(n)));
|
| - ASSERT_TRUE(reduction.Changed());
|
| - EXPECT_THAT(reduction.replacement(), IsNumberConstant(BitEq(n)));
|
| + TRACED_FOREACH(CheckForMinusZeroMode, mode, kCheckForMinusZeroModes) {
|
| + TRACED_FOREACH(double, n, kFloat64Values) {
|
| + Reduction reduction = Reduce(graph()->NewNode(
|
| + simplified()->ChangeFloat64ToTagged(mode), Float64Constant(n)));
|
| + ASSERT_TRUE(reduction.Changed());
|
| + EXPECT_THAT(reduction.replacement(), IsNumberConstant(BitEq(n)));
|
| + }
|
| }
|
| }
|
|
|
| -
|
| // -----------------------------------------------------------------------------
|
| // ChangeInt32ToTagged
|
|
|
| @@ -219,14 +222,15 @@ TEST_F(SimplifiedOperatorReducerTest, ChangeInt32ToTaggedWithConstant) {
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToFloat64WithChangeFloat64ToTagged) {
|
| Node* param0 = Parameter(0);
|
| - Reduction reduction = Reduce(graph()->NewNode(
|
| - simplified()->ChangeTaggedToFloat64(),
|
| - graph()->NewNode(simplified()->ChangeFloat64ToTagged(), param0)));
|
| - ASSERT_TRUE(reduction.Changed());
|
| - EXPECT_EQ(param0, reduction.replacement());
|
| + TRACED_FOREACH(CheckForMinusZeroMode, mode, kCheckForMinusZeroModes) {
|
| + Reduction reduction = Reduce(graph()->NewNode(
|
| + simplified()->ChangeTaggedToFloat64(),
|
| + graph()->NewNode(simplified()->ChangeFloat64ToTagged(mode), param0)));
|
| + ASSERT_TRUE(reduction.Changed());
|
| + EXPECT_EQ(param0, reduction.replacement());
|
| + }
|
| }
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToFloat64WithChangeInt32ToTagged) {
|
| Node* param0 = Parameter(0);
|
| @@ -272,18 +276,18 @@ TEST_F(SimplifiedOperatorReducerTest, ChangeTaggedToFloat64WithNaNConstant) {
|
| // -----------------------------------------------------------------------------
|
| // ChangeTaggedToInt32
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToInt32WithChangeFloat64ToTagged) {
|
| Node* param0 = Parameter(0);
|
| - Reduction reduction = Reduce(graph()->NewNode(
|
| - simplified()->ChangeTaggedToInt32(),
|
| - graph()->NewNode(simplified()->ChangeFloat64ToTagged(), param0)));
|
| - ASSERT_TRUE(reduction.Changed());
|
| - EXPECT_THAT(reduction.replacement(), IsChangeFloat64ToInt32(param0));
|
| + TRACED_FOREACH(CheckForMinusZeroMode, mode, kCheckForMinusZeroModes) {
|
| + Reduction reduction = Reduce(graph()->NewNode(
|
| + simplified()->ChangeTaggedToInt32(),
|
| + graph()->NewNode(simplified()->ChangeFloat64ToTagged(mode), param0)));
|
| + ASSERT_TRUE(reduction.Changed());
|
| + EXPECT_THAT(reduction.replacement(), IsChangeFloat64ToInt32(param0));
|
| + }
|
| }
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToInt32WithChangeInt32ToTagged) {
|
| Node* param0 = Parameter(0);
|
| @@ -298,18 +302,18 @@ TEST_F(SimplifiedOperatorReducerTest,
|
| // -----------------------------------------------------------------------------
|
| // ChangeTaggedToUint32
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToUint32WithChangeFloat64ToTagged) {
|
| Node* param0 = Parameter(0);
|
| - Reduction reduction = Reduce(graph()->NewNode(
|
| - simplified()->ChangeTaggedToUint32(),
|
| - graph()->NewNode(simplified()->ChangeFloat64ToTagged(), param0)));
|
| - ASSERT_TRUE(reduction.Changed());
|
| - EXPECT_THAT(reduction.replacement(), IsChangeFloat64ToUint32(param0));
|
| + TRACED_FOREACH(CheckForMinusZeroMode, mode, kCheckForMinusZeroModes) {
|
| + Reduction reduction = Reduce(graph()->NewNode(
|
| + simplified()->ChangeTaggedToUint32(),
|
| + graph()->NewNode(simplified()->ChangeFloat64ToTagged(mode), param0)));
|
| + ASSERT_TRUE(reduction.Changed());
|
| + EXPECT_THAT(reduction.replacement(), IsChangeFloat64ToUint32(param0));
|
| + }
|
| }
|
|
|
| -
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| ChangeTaggedToUint32WithChangeUint32ToTagged) {
|
| Node* param0 = Parameter(0);
|
| @@ -327,11 +331,13 @@ TEST_F(SimplifiedOperatorReducerTest,
|
| TEST_F(SimplifiedOperatorReducerTest,
|
| TruncateTaggedToWord3WithChangeFloat64ToTagged) {
|
| Node* param0 = Parameter(0);
|
| - Reduction reduction = Reduce(graph()->NewNode(
|
| - simplified()->TruncateTaggedToWord32(),
|
| - graph()->NewNode(simplified()->ChangeFloat64ToTagged(), param0)));
|
| - ASSERT_TRUE(reduction.Changed());
|
| - EXPECT_THAT(reduction.replacement(), IsTruncateFloat64ToWord32(param0));
|
| + TRACED_FOREACH(CheckForMinusZeroMode, mode, kCheckForMinusZeroModes) {
|
| + Reduction reduction = Reduce(graph()->NewNode(
|
| + simplified()->TruncateTaggedToWord32(),
|
| + graph()->NewNode(simplified()->ChangeFloat64ToTagged(mode), param0)));
|
| + ASSERT_TRUE(reduction.Changed());
|
| + EXPECT_THAT(reduction.replacement(), IsTruncateFloat64ToWord32(param0));
|
| + }
|
| }
|
|
|
| TEST_F(SimplifiedOperatorReducerTest, TruncateTaggedToWord32WithConstant) {
|
|
|