US President Donald Trump has reiterated that Saudi Arabia and other allies must pay to protect the United States.

In a speech to his supporters in Mississippi, he said he told Saudi King Salman bin Abdul Aziz that he was responsive. He said he told the king that the United States would help the kingdom and that he had to pay for it.

In his account of the dialogue, the US president quoted the Saudi king as saying that no one had ever asked him to pay money, and Trump replied that he was doing so now, adding that the king was "wonderful" when he responded to his request.

In a speech in a crowd of supporters in Tupelo, Mississippi, under the slogan "Make America Great Again", Trump rated Saudi Arabia among other "super-rich" countries that have to pay to deploy US troops to protect them.

The US president has repeatedly spoken in this way about Saudi Arabia during public meetings to mobilize his supporters.

His remarks came a few weeks after US military reinforcements - including soldiers and Patriot missiles - arrived in Saudi Arabia after a missile attack on two Aramco facilities in the east of the kingdom, which was claimed by the Houthis.

Saudi Arabia said US reinforcements were aimed at protecting regional security and countering attempts to threaten regional stability.