https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80845
Bug ID: 80845 Summary: nvptx backend generates cvt.u32.u32 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vries at gcc dot gnu.org Target Milestone: --- When compiling f.i. this testcase: .... $ gcc gcc/testsuite/gcc.target/nvptx/abi-complex-arg.c -S ... we generate these ptx insns: ... cvt.u32.u32 %r23, %r44; cvt.u32.u32 %r24, %r45; cvt.u32.u32 %r23, %r22; cvt.u32.u32 %r25, %r24; ... The first looks like this in more detail: ... //(insn 14 13 15 2 // (set (reg:QI 23) // (subreg/s/u:QI (reg:SI 44) 0)) 2 {*movqi_insn} // (nil)) cvt.u32.u32 %r23, %r44; // 14 *movqi_insn/1 ... While ptxas seems to accept cvt.u32.u32, we should probably emit mov.u32 instead.