| 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
|
|
|