| Index: test/unittests/compiler/change-lowering-unittest.cc
 | 
| diff --git a/test/unittests/compiler/change-lowering-unittest.cc b/test/unittests/compiler/change-lowering-unittest.cc
 | 
| index b6b4ff319f30c45305f18d8b7accd7634613f035..a78055dd6987b74f5bb3cf9cecd0f50e26d095a7 100644
 | 
| --- a/test/unittests/compiler/change-lowering-unittest.cc
 | 
| +++ b/test/unittests/compiler/change-lowering-unittest.cc
 | 
| @@ -132,27 +132,6 @@ TARGET_TEST_P(ChangeLoweringCommonTest, ChangeInt31ToTagged) {
 | 
|    EXPECT_THAT(r.replacement(), IsChangeInt32ToSmi(value));
 | 
|  }
 | 
|  
 | 
| -TARGET_TEST_P(ChangeLoweringCommonTest, ChangeTaggedToInt32WithTaggedNumber) {
 | 
| -  Node* value =
 | 
| -      Parameter(Type::Intersect(Type::TaggedPointer(), Type::Number(), zone()));
 | 
| -  Reduction r =
 | 
| -      Reduce(graph()->NewNode(simplified()->ChangeTaggedToInt32(), value));
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  EXPECT_THAT(r.replacement(), IsChangeFloat64ToInt32(
 | 
| -                                   IsLoadHeapNumber(value, graph()->start())));
 | 
| -}
 | 
| -
 | 
| -TARGET_TEST_P(ChangeLoweringCommonTest, ChangeTaggedToUint32WithTaggedPointer) {
 | 
| -  Node* value =
 | 
| -      Parameter(Type::Intersect(Type::TaggedPointer(), Type::Number(), zone()));
 | 
| -  Reduction r =
 | 
| -      Reduce(graph()->NewNode(simplified()->ChangeTaggedToUint32(), value));
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  EXPECT_THAT(r.replacement(), IsChangeFloat64ToUint32(
 | 
| -                                   IsLoadHeapNumber(value, graph()->start())));
 | 
| -}
 | 
| -
 | 
| -
 | 
|  TARGET_TEST_P(ChangeLoweringCommonTest, StoreFieldSmi) {
 | 
|    FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize,
 | 
|                          Handle<Name>::null(), Type::Any(),
 | 
| @@ -316,181 +295,6 @@ TARGET_TEST_P(ChangeLoweringCommonTest, Allocate) {
 | 
|    ASSERT_TRUE(r.Changed());
 | 
|  }
 | 
|  
 | 
| -
 | 
| -INSTANTIATE_TEST_CASE_P(ChangeLoweringTest, ChangeLoweringCommonTest,
 | 
| -                        ::testing::Values(MachineRepresentation::kWord32,
 | 
| -                                          MachineRepresentation::kWord64));
 | 
| -
 | 
| -
 | 
| -// -----------------------------------------------------------------------------
 | 
| -// 32-bit
 | 
| -
 | 
| -
 | 
| -class ChangeLowering32Test : public ChangeLoweringTest {
 | 
| - public:
 | 
| -  ~ChangeLowering32Test() override {}
 | 
| -  MachineRepresentation WordRepresentation() const final {
 | 
| -    return MachineRepresentation::kWord32;
 | 
| -  }
 | 
| -};
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToFloat64) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Number());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToFloat64(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(MachineRepresentation::kFloat64,
 | 
| -            IsLoadHeapNumber(value, CaptureEq(&if_true)),
 | 
| -            IsChangeInt32ToFloat64(IsWord32Sar(
 | 
| -                value, IsInt32Constant(kSmiTagSize + kSmiShiftSize))),
 | 
| -            IsMerge(AllOf(CaptureEq(&if_true),
 | 
| -                          IsIfTrue(AllOf(
 | 
| -                              CaptureEq(&branch),
 | 
| -                              IsBranch(IsWord32And(
 | 
| -                                           value, IsInt32Constant(kSmiTagMask)),
 | 
| -                                       graph()->start())))),
 | 
| -                    IsIfFalse(CaptureEq(&branch)))));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToInt32) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Signed32());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToInt32(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(
 | 
| -          MachineRepresentation::kWord32,
 | 
| -          IsChangeFloat64ToInt32(IsLoadHeapNumber(value, CaptureEq(&if_true))),
 | 
| -          IsWord32Sar(value, IsInt32Constant(kSmiTagSize + kSmiShiftSize)),
 | 
| -          IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))),
 | 
| -                  IsIfFalse(AllOf(
 | 
| -                      CaptureEq(&branch),
 | 
| -                      IsBranch(IsWord32And(value, IsInt32Constant(kSmiTagMask)),
 | 
| -                               graph()->start()))))));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToUint32) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Unsigned32());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToUint32(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(
 | 
| -          MachineRepresentation::kWord32,
 | 
| -          IsChangeFloat64ToUint32(IsLoadHeapNumber(value, CaptureEq(&if_true))),
 | 
| -          IsWord32Sar(value, IsInt32Constant(kSmiTagSize + kSmiShiftSize)),
 | 
| -          IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))),
 | 
| -                  IsIfFalse(AllOf(
 | 
| -                      CaptureEq(&branch),
 | 
| -                      IsBranch(IsWord32And(value, IsInt32Constant(kSmiTagMask)),
 | 
| -                               graph()->start()))))));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -// -----------------------------------------------------------------------------
 | 
| -// 64-bit
 | 
| -
 | 
| -
 | 
| -class ChangeLowering64Test : public ChangeLoweringTest {
 | 
| - public:
 | 
| -  ~ChangeLowering64Test() override {}
 | 
| -  MachineRepresentation WordRepresentation() const final {
 | 
| -    return MachineRepresentation::kWord64;
 | 
| -  }
 | 
| -};
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToFloat64) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Number());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToFloat64(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(MachineRepresentation::kFloat64,
 | 
| -            IsLoadHeapNumber(value, CaptureEq(&if_true)),
 | 
| -            IsChangeInt32ToFloat64(IsTruncateInt64ToInt32(IsWord64Sar(
 | 
| -                value, IsInt64Constant(kSmiTagSize + kSmiShiftSize)))),
 | 
| -            IsMerge(AllOf(CaptureEq(&if_true),
 | 
| -                          IsIfTrue(AllOf(
 | 
| -                              CaptureEq(&branch),
 | 
| -                              IsBranch(IsWord64And(
 | 
| -                                           value, IsInt64Constant(kSmiTagMask)),
 | 
| -                                       graph()->start())))),
 | 
| -                    IsIfFalse(CaptureEq(&branch)))));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToInt32) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Signed32());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToInt32(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(
 | 
| -          MachineRepresentation::kWord32,
 | 
| -          IsChangeFloat64ToInt32(IsLoadHeapNumber(value, CaptureEq(&if_true))),
 | 
| -          IsTruncateInt64ToInt32(
 | 
| -              IsWord64Sar(value, IsInt64Constant(kSmiTagSize + kSmiShiftSize))),
 | 
| -          IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))),
 | 
| -                  IsIfFalse(AllOf(
 | 
| -                      CaptureEq(&branch),
 | 
| -                      IsBranch(IsWord64And(value, IsInt64Constant(kSmiTagMask)),
 | 
| -                               graph()->start()))))));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToUint32) {
 | 
| -  STATIC_ASSERT(kSmiTag == 0);
 | 
| -  STATIC_ASSERT(kSmiTagSize == 1);
 | 
| -
 | 
| -  Node* value = Parameter(Type::Unsigned32());
 | 
| -  Node* node = graph()->NewNode(simplified()->ChangeTaggedToUint32(), value);
 | 
| -  Reduction r = Reduce(node);
 | 
| -  ASSERT_TRUE(r.Changed());
 | 
| -  Capture<Node*> branch, if_true;
 | 
| -  EXPECT_THAT(
 | 
| -      r.replacement(),
 | 
| -      IsPhi(
 | 
| -          MachineRepresentation::kWord32,
 | 
| -          IsChangeFloat64ToUint32(IsLoadHeapNumber(value, CaptureEq(&if_true))),
 | 
| -          IsTruncateInt64ToInt32(
 | 
| -              IsWord64Sar(value, IsInt64Constant(kSmiTagSize + kSmiShiftSize))),
 | 
| -          IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))),
 | 
| -                  IsIfFalse(AllOf(
 | 
| -                      CaptureEq(&branch),
 | 
| -                      IsBranch(IsWord64And(value, IsInt64Constant(kSmiTagMask)),
 | 
| -                               graph()->start()))))));
 | 
| -}
 | 
| -
 | 
|  }  // namespace compiler
 | 
|  }  // namespace internal
 | 
|  }  // namespace v8
 | 
| 
 |