https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80845
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tom de Vries <vr...@gcc.gnu.org>: https://gcc.gnu.org/g:b3ec0de08250d7e0599e36895d5cb727016c81d3 commit r11-3601-gb3ec0de08250d7e0599e36895d5cb727016c81d3 Author: Tom de Vries <tdevr...@suse.de> Date: Thu Oct 1 11:07:20 2020 +0200 [nvptx] Emit mov.u32 instead of cvt.u32.u32 for truncsiqi2 When running: ... $ gcc.sh src/gcc/testsuite/gcc.target/nvptx/abi-complex-arg.c -S -dP ... we have in abi-complex-arg.s: ... //(insn 3 5 4 2 // (set // (reg:QI 23) // (truncate:QI (reg:SI 22))) "abi-complex-arg.c":38:1 29 {truncsiqi2} // (nil)) cvt.u32.u32 %r23, %r22; // 3 [c=4] truncsiqi2/0 ... The cvt.u32.u32 can be written shorter and clearer as mov.u32. Fix this in define_insn "truncsi<QHIM>2". Tested on nvptx. gcc/ChangeLog: 2020-10-01 Tom de Vries <tdevr...@suse.de> PR target/80845 * config/nvptx/nvptx.md (define_insn "truncsi<QHIM>2"): Emit mov.u32 instead of cvt.u32.u32.