Federer raced past Andreas Seppi 6-1, 6-2 in 54 minutes. He was up 5-0 after just 12 1/2 minutes, having won 20 of the 23 points. He was 12-of-12 on serve -- with all coming on first serves.
He ended up losing 11 points in eight service games and took 65 percent of the points overall.
Federer draws world No. 1 Novak Djokovic in Saturday's semifinals. Djokovic beat fifth-seeded Jo-Wilfried Tsonga 7-5, 6-1. He survived dropping his serve twice in the first set but lost only four points on serve in the second set.
Second-seeded Rafael Nadal improved to 12-3 lifetime versus Tomas Berdych, the No. 7 seed, with a 6-4, 7-5 decision Friday. He won three-quarters of the points on serve.
The match between Djokovic and Federer pits the world No. 1 versus the second-ranked player; the seedings were made before Monday when Federer passed Nadal for second in the rankings. Federer is 14-10 lifetime against Djokovic but Djokovic has won four of the last five times they played.
Nadal is a solid 14-4 against Ferrer, including 11-1 on clay.