[Bug target/80845] nvptx backend generates cvt.u32.u32
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun May 21 03:14:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80845
--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #0)
> //(insn 14 13 15 2
> // (set (reg:QI 23)
> // (subreg/s/u:QI (reg:SI 44) 0)) 2 {*movqi_insn}
> // (nil))
For this insn, we enter nvpx_output_mov_insn with dst_inner == QI and src_inner
== SI. There are two clauses (disregarding the CONSTANT_P (src) one) that emit
mov.u32 insn, but neither of them triggers:
...
if (src_inner == dst_inner)
return "%.\tmov%t0\t%0, %1;";
...
if (GET_MODE_SIZE (dst_inner) == GET_MODE_SIZE (src_inner))
return "%.\tmov.b%T0\t%0, %1;";
...
So, we end up at the default, cvt case:
...
return "%.\tcvt%t0%t1\t%0, %1;";
...
More information about the Gcc-bugs
mailing list