Skip to content

Commit 73eb60f

Browse files
committed
Add test for branch prediction
1 parent 7dfb94c commit 73eb60f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Lib/test/test_capi/test_misc.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2656,6 +2656,23 @@ def dummy(x):
26562656
self.assertIn("_PUSH_FRAME", uops)
26572657
self.assertIn("_BINARY_OP_ADD_INT", uops)
26582658

2659+
def test_branch_taken(self):
2660+
def testfunc(n):
2661+
for i in range(n):
2662+
if i < 0:
2663+
i = 0
2664+
else:
2665+
i = 1
2666+
2667+
opt = _testinternalcapi.get_uop_optimizer()
2668+
with temporary_optimizer(opt):
2669+
testfunc(20)
2670+
2671+
ex = get_first_executor(testfunc)
2672+
self.assertIsNotNone(ex)
2673+
uops = {opname for opname, _, _ in ex}
2674+
self.assertIn("_POP_JUMP_IF_TRUE", uops)
2675+
26592676

26602677
if __name__ == "__main__":
26612678
unittest.main()

0 commit comments

Comments
 (0)