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.
  • [Bug target/80845] nvptx backen... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to