Ronnie O'Sullivan made four centuries as he thrashed Xiao Guodong 5-0 to reach the semi-finals of the Ladbrokes World Grand Prix at Preston's Guild Hall.

O'Sullivan opened with runs of 105, 102 and 101 to race into a 4-0 lead at the interval before claiming the final frame with another ton immediately after the resumption.

"I do sometimes praise myself and that was a very good match," O'Sullivan told ITV.

"I can play like that quite a lot of the time, so you can understand when I don't play like that why I get frustrated.

"I think a lot of it is to do with looking after myself. I've been working with a nutritionist and I feel like I've got more energy and feel a lot healthier.

"I think I have a slight advantage because I don't need to chase ranking points and I'm not motivated by that.

So I come in a lot fresher and that is where my longevity will come through."

His opponent in the last four will be Stephen Maguire after he overcame Shaun Murphy 5-2.

Mark Selby also impressed in beating Neil Robertson 4-0 to make it to the quarter-finals, which will also feature Michael White, Ding Junhui and Anthony McGill following their victories.