NVPTX currently does not override TLI.isTruncateFree(EVT, EVT) and TLI.isZExtFree(), and it probably should.
zext/truncate between i32/i64 can probably be considered free, as the values already live in separate 32-bit registers in hardware.
Originally posted by @Artem-B in #98666 (comment)