Index: test/unittests/compiler/int64-lowering-unittest.cc |
diff --git a/test/unittests/compiler/int64-lowering-unittest.cc b/test/unittests/compiler/int64-lowering-unittest.cc |
index 874488b476ab0b1409d4b8f72f83cdb92b54e668..002775c57207a05e92f925c475fb60a75ab03954 100644 |
--- a/test/unittests/compiler/int64-lowering-unittest.cc |
+++ b/test/unittests/compiler/int64-lowering-unittest.cc |
@@ -551,6 +551,28 @@ TEST_F(Int64LoweringTest, I64ReinterpretF64) { |
start(), start())); |
} |
// kExprI64Clz: |
+TEST_F(Int64LoweringTest, I64Clz) { |
+ LowerGraph(graph()->NewNode(machine()->Word64Clz(), Int64Constant(value(0))), |
+ MachineRepresentation::kWord64); |
+ |
+ Capture<Node*> branch_capture; |
+ Matcher<Node*> branch_matcher = IsBranch( |
+ IsWord32Equal(IsInt32Constant(high_word_value(0)), IsInt32Constant(0)), |
+ start()); |
+ |
+ EXPECT_THAT( |
+ graph()->end()->InputAt(1), |
+ IsReturn2( |
+ IsPhi(MachineRepresentation::kWord32, |
+ IsInt32Add(IsWord32Clz(IsInt32Constant(low_word_value(0))), |
+ IsInt32Constant(32)), |
+ IsWord32Clz(IsInt32Constant(high_word_value(0))), |
+ IsMerge( |
+ IsIfTrue(AllOf(CaptureEq(&branch_capture), branch_matcher)), |
+ IsIfFalse( |
+ AllOf(CaptureEq(&branch_capture), branch_matcher)))), |
+ IsInt32Constant(0), start(), start())); |
+} |
// kExprI64Ctz: |
// kExprI64Popcnt: |