https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51954

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>:

https://gcc.gnu.org/g:59119253b3133b30114194a04171f9d353b5c7f7

commit r13-38-g59119253b3133b30114194a04171f9d353b5c7f7
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Fri Apr 29 13:27:48 2022 +0200

    i386: Optimize double-word negation [PR51954]

    Introduce peephole2 pattern to convert from:

       mov %esi, %edx
       negl %eax
       adcl $0, %edx
       negl %edx
     to:
       xorl %edx, %edx
       negl %eax
       sbbl %esi, %edx

    This conversion is profitable only when initial move is found.  Otherwise,
    additional move to a temporary together with clearing xor is needed.

    2022-04-29  Uroš Bizjak  <ubiz...@gmail.com>

    gcc/ChangeLog:

            PR target/51954
            * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
    gcc/testsuite/ChangeLog:

            PR target/51954
            * gcc.target/i386/pr51954.c: New test.
  • [Bug target/51954] __int128_t (... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to