Fourth seed Roger Federer beat eighth-seeded Dutchman Sjeng Schalken 6-3, 6-4, 6-4 in one hour and 38 minutes to reach the semi-finals.
Federer will meet Roddick in the semi-finals.