Trump, who has indeed called the late John McCain a "loser," (unsurprisingly) lied to the American people on Thursday by falsely claiming he has never done so.
In tweets not worth embedding here, or anywhere, Trump said on Thursday that he "never called John a loser." Amid the same series of tweets, Trump also disputed an Atlantic report from this week in which "people with firsthand knowledge" recalled a 2018 incident in which Trump is said to have referred to Americans who died in war as both "losers" and "suckers."
As for the McCain-centered lie, a mere cursory Googling—as many have since pointed out—will result in footage of Trump quite literally calling McCain a "loser." During a 2015 campaign event, Trump referred to McCain as a "loser" while also stating that he was "not a war hero" due to being captured.
"He lost. He let us down. He lost," Trump said at the time. "So I never liked him as much after that because I don't like losers. He's not a war hero. He's a war hero because he was captured. I like people that weren't captured, okay? I hate to tell you."
That same year, Trump—as can still be seen on his Twitter account—shared an article from whatever FITSNews is titled "Donald Trump: John McCain Is 'A Loser.'" And as CNN pointed out in their extensive fact check of Trump's many McCain-centered comments, has also—on many occasions—erroneously claimed to have done more for veterans than McCain.
Anyway, check this out: