[Bug target/80845] New: nvptx backend generates cvt.u32.u32

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat May 20 21:56:00 GMT 2017


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.


More information about the Gcc-bugs mailing list