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/97730] [10 Regression] aarch64, SVE2: Wrong code since r10-5853-g0a09a948 (wrong pattern for BCAX)
Date: Thu, 19 Nov 2020 10:47:45 +0000	[thread overview]
Message-ID: <bug-97730-4-8bz5YvGOyP@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-97730-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Alex Coplan
<acoplan@gcc.gnu.org>:

https://gcc.gnu.org/g:d452a386b82ad364e86a3d5e970db8561ce3cb49

commit r10-9053-gd452a386b82ad364e86a3d5e970db8561ce3cb49
Author: Alex Coplan <alex.coplan@arm.com>
Date:   Thu Nov 12 10:03:21 2020 +0000

    aarch64: Fix SVE2 BCAX pattern [PR97730]

    This patch adds a missing not to the SVE2 BCAX (Bitwise clear and
    exclusive or) pattern, fixing the PR. Since SVE doesn't have an
    unpredicated not instruction, we need to use a (vacuously) predicated
    not here.

    To ensure that the predicate is instantiated correctly (to all 1s) for
    the intrinsics, we pull out a separate expander from the define_insn.

    From the ISA reference [1]:
    > Bitwise AND elements of the second source vector with the
    > corresponding inverted elements of the third source vector, then
    > exclusive OR the results with corresponding elements of the first
    > source vector.

    [1] :
https://developer.arm.com/docs/ddi0602/g/a64-sve-instructions-alphabetic-order/bcax-bitwise-clear-and-exclusive-or

    gcc/ChangeLog:

            PR target/97730
            * config/aarch64/aarch64-sve2.md (@aarch64_sve2_bcax<mode>):
            Change to define_expand, add missing (trivially-predicated) not
            rtx to fix wrong code bug.
            (*aarch64_sve2_bcax<mode>): New.

    gcc/testsuite/ChangeLog:

            PR target/97730
            * gcc.target/aarch64/sve2/bcax_1.c (OP): Add missing bitwise not
            to match correct bcax semantics.
            * gcc.dg/vect/pr97730.c: New test.

    (cherry picked from commit 7f445b5d6116000f1a6527f2164836cbc7c01dee)

  parent reply	other threads:[~2020-11-19 10:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-05 13:35 [Bug target/97730] New: [10/11 " acoplan at gcc dot gnu.org
2020-11-05 13:36 ` [Bug target/97730] " acoplan at gcc dot gnu.org
2020-11-05 13:46 ` rguenth at gcc dot gnu.org
2020-11-12 10:06 ` cvs-commit at gcc dot gnu.org
2020-11-12 10:08 ` [Bug target/97730] [10 " acoplan at gcc dot gnu.org
2020-11-19 10:47 ` cvs-commit at gcc dot gnu.org [this message]
2020-11-19 10:49 ` acoplan 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-97730-4-8bz5YvGOyP@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: link
Be 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).