Alexander Zverev reached his 21st Masters 1000 semifinal by defeating Alexei Popyrin 6-7, 6-4, 6-3 at the ATP Toronto Masters.