Gay singer Elton John reportedly earned $1 million for singing at the wedding of US gay marriage opponent Rush Limbaugh.

Limbaugh, 59, married his fourth wife, 33-year-old Kathryn Rogers, at a hotel in Palm Beach, Florida, on Saturday and the two were serenaded by the gay pop legend.

The conservative commentator is against gay marriage and has been accused of homophobia and racism in the past.

In 2008, he said the Democrats would “bend over, grab the ankles, and say have your way with me” to black and gay voters.

Meanwhile, John, who is in a civil partnership with producer David Furnish, frequently speaks in favour of gay equality and tackling HIV infections.

He raised eyebrows at the 2001 Grammy awards when he performed a duet with Eminem. The rapper had been criticised for homophobic song lyrics.

Other guests at Limbaugh’s wedding included Fox News commentator Sean Hannity and ex-New York City mayor Rudolph Giuliani.

Limbaugh and Rogers met six years ago at a charity golf tournament while he was in the process of divorcing his third wife.