Canada's House of Commons has overwhelmingly voted to declare China's treatment of its Uighur minority community as a genocide.
The motion, passed with a unanimous majority (266 in favour to 0 against), was supported by all opposition parties and the governing Liberal Party.
Prime Minister Justin Trudeau and most members of his cabinet abstained from the motion.
This motion makes Canada just the second country after the United States to recognise China's actions as genocide.
Lawmakers also voted to pass an amendment asking Canada to call on the International Olympic Committee to relocate the 2022 Winter Olympics from Beijing "if the Chinese government continues this genocide".
China responded late on Tuesday, saying it condemned and rejected Canada's motion, according to a Reuters report. It quoted foreign ministry spokesman Wang Wenbin as saying that China had lodged "stern representations" with Canada.
Mr Trudeau has so far been hesitant to label China's actions against the Uighur minority in Xinjiang a genocide, calling the term "extremely loaded" and saying further examination was needed before a decision could be made.
Just one member of his cabinet, Foreign Affairs Minister Marc Garneau, appeared in parliament for the vote. Speaking in the House of Commons, Mr Garneau said he had abstained "on behalf of the government of Canada".
China's ambassador to Canada Cong Peiwu had earlier told the Canadian Press that the motion was "interfering in [China's] domestic affairs".
"We firmly oppose that because it runs counter to facts," he said. "There's nothing like genocide happening in Xinjiang at all."
Both the current and former US Secretaries of State, Anthony Blinken and Mike Pompeo, have declared that China's policies against Uighur Muslims and other ethnic minorities in its western Xinjiang region constitute genocide.