The US Senate has failed to prevent the controversial sale of $8.1 billion in weapons to Saudi Arabia, after President Donald Trump vetoed congressional resolutions blocking the deal.

Despite bipartisan votes this month that served as a rebuke to the president, the effort to override Mr Trump's third use of his veto powers since taking office fell well short.

The votes had been seen as an expression of politicians' outrage with Saudi Arabia over its role in the murder of Saudi journalist Jamal Khashoggi last year.

Mr Trump sought approval for 22 separate sales of aircraft support maintenance, precision-guided munitions and other weapons and equipment to countries including Saudi Arabia and the United Arab Emirates at a moment of heightened tension in the Middle East.

Critics said the arms sales would aggravate the devastating war in Yemen, where Saudi Arabia is leading a US-backed coalition in a battle against the Iranian-supported Houthi rebels, and which the United Nations said has triggered the world's worst humanitarian crisis.

The Trump administration took the extraordinary step of bypassing Congress to approve the sale in May, as his administration declared Iran to be a "fundamental threat" to the stability of the Middle East.

Senate Democrat Ben Cardin said that by not blocking the sales, Republicans "abdicated their constitutionally mandated responsibilities" to conduct oversight.

"We have both a legal and moral obligation to make certain that US weapons are not used to repress human rights or perpetrate violence against innocent civilians," Mr Cardin said.

Mr Cardin, a member of the Senate Foreign Relations Committee, pointed to a Saudi artillery attack yesterday in northern Yemen that medics said killed 13 civilians, including two children.