public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/110591] [i386] (Maybe) Missed optimisation: _cmpccxadd sets flags Date: Tue, 18 Jul 2023 03:31:48 +0000 [thread overview] Message-ID: <bug-110591-4-twxrZBMiKk@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-110591-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110591 --- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <liuhongt@gcc.gnu.org>: https://gcc.gnu.org/g:06cc38c1c350b34cbd6dde23aefca32442c07a73 commit r14-2595-g06cc38c1c350b34cbd6dde23aefca32442c07a73 Author: liuhongt <hongtao.liu@intel.com> Date: Mon Jul 10 14:12:07 2023 +0800 Add peephole to eliminate redundant comparison after cmpccxadd. Similar like we did for cmpxchg, but extended to all ix86_comparison_int_operator since cmpccxadd set EFLAGS exactly same as CMP. When operand order in compare insn is same as that in cmpccxadd, compare insn can be eliminated directly. When operand order is swapped in compare insn, only optimize cmpccxadd + cmpl + jcc/setcc to cmpccxadd + jcc/setcc when FLAGS_REG is dead after jcc/setcc. gcc/ChangeLog: PR target/110591 * config/i386/sync.md (cmpccxadd_<mode>): Adjust the pattern to explicitly set FLAGS_REG like *cmp<mode>_1, also add extra 3 define_peephole2 after the pattern. gcc/testsuite/ChangeLog: * gcc.target/i386/pr110591.c: New test. * gcc.target/i386/pr110591-2.c: New test.
next prev parent reply other threads:[~2023-07-18 3:31 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-07-07 17:13 [Bug target/110591] New: " thiago at kde dot org 2023-07-10 2:21 ` [Bug target/110591] " crazylht at gmail dot com 2023-07-10 4:27 ` crazylht at gmail dot com 2023-07-10 6:22 ` crazylht at gmail dot com 2023-07-18 3:31 ` cvs-commit at gcc dot gnu.org [this message] 2023-07-18 3:32 ` crazylht at gmail dot com 2023-11-30 10:53 ` liuhongt at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-110591-4-twxrZBMiKk@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).