Murray to face either Nadal or Federer in Wimbledon semi-final