President Donald Trump has said "hate has no place" in the US after 29 people were killed in two mass shootings over the weekend, amid accusations that he bears some responsibility.
An attack on a Walmart store in El Paso, Texas, left 20 dead, while nine died in a shooting in Dayton, Ohio.
Mr Trump said "perhaps more has to be done" to stop such attacks.
But critics said he was part of the problem, citing his anti-immigrant rhetoric and opposition to gun control.
A 21-year-old white man arrested over Saturday's shooting in Texas is believed to have posted an online document calling the attack a response to "the Hispanic invasion" of the state.
The motives of the Ohio gunman, who killed his sister and eight others on Sunday before being shot dead by police, are unclear.
Speaking to reporters, Mr Trump said mass shootings needed to be stopped.
"This has been going on for years, for years and years in our country and we have to get it stopped," he said.
He went on to link both attacks to a "mental illness problem", saying the gunmen were "very, very seriously mentally ill".
Investigators have not made any comments about the mental state of the two gunmen.
Texas prosecutors say the El Paso shooting is being treated as "a domestic terrorist case" and they are "seriously considering" hate crime charges.