The top-seeded Swiss, a two-time defending champion, fired 14 aces to set up a clash with third-seeded Frenchman Benoit Paire.
Paire also served 14 aces as he defeated Thomas Fabbiano of Italy 6-4, 7-5.
Wawrinka broke serve in the third game but allowed his opponent to break back in the eighth with four unforced errors. Wawrinka again went a break up in the ninth before wrapping up the first set.
In the second set, Wawrinka broke in the seventh game and went on to complete his seventh win in 10 matches against Garcia-Lopez.
"He's a tough player to beat -- we've played so many times," Wawrinka said. "I played well and was putting a lot of pressure on him. I served good and was moving well. It was a solid match [for me], but I'm prepared for a tough match against Paire."
Bedene saved all three break points in a 6-7 (5), 6-4, 6-3 win over India's Ramkumar Ramanathan.
Eighth-seeded Coric defeated fourth-seeded Roberto Bautista Agut 3-6, 6-4, 7-6 (1) in the longest quarterfinal, which stretched to two hours, 31 minutes.