World number one Jannik Sinner downed Arthur Fils 6-2, 6-4 on Friday to reach the Madrid Open final, where he will face Alexander Zverev.