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/96373] SVE miscompilation on vectorized division loop, leading to FP exception
Date: Mon, 03 Apr 2023 08:58:15 +0000	[thread overview]
Message-ID: <bug-96373-4-H8Arnu8jsV@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-96373-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Richard Sandiford
<rsandifo@gcc.gnu.org>:

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

commit r12-9384-ge11513c7688f583d1f4d0961d79d8aa775add03d
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Mon Apr 3 09:57:09 2023 +0100

    vect: Make partial trapping ops use predication [PR96373]

    PR96373 points out that a predicated SVE loop currently converts
    trapping unconditional ops into unpredicated vector ops.  Doing
    the operation on inactive lanes can then raise an exception.

    As discussed in the PR trail, we aren't 100% consistent about
    whether we preserve traps or not.  But the direction of travel
    is clearly to improve that rather than live with it.  This patch
    tries to do that for the SVE case.

    Doing this regresses gcc.target/aarch64/sve/fabd_1.c.  I've added
    -fno-trapping-math for now and filed PR108571 to track it.
    A similar problem applies to fsubr_1.c.

    I think this is likely to regress Power 10, since conditional
    operations are only available for masked loops.  I think we'll
    need to add -fno-trapping-math to any affected testcases,
    but I don't have a Power 10 system to test on.

    gcc/
            PR tree-optimization/96373
            PR tree-optimization/108979
            * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
            operations on the loop mask.  Reject partial vectors if this isn't
            possible.  Don't mask operations on invariants.

    gcc/testsuite/
            PR tree-optimization/96373
            PR tree-optimization/108571
            PR tree-optimization/108979
            * gcc.target/aarch64/sve/fabd_1.c: Add -fno-trapping-math.
            * gcc.target/aarch64/sve/fsubr_1.c: Likewise.
            * gcc.target/aarch64/sve/fmul_1.c: Expect predicate ops.
            * gcc.target/aarch64/sve/fp_arith_1.c: Likewise.
            * gfortran.dg/vect/pr108979.f90: New test.

  parent reply	other threads:[~2023-04-03  8:58 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-29 15:27 [Bug target/96373] New: " matz at gcc dot gnu.org
2020-08-04 13:41 ` [Bug target/96373] " rsandifo at gcc dot gnu.org
2020-08-04 13:49 ` rguenth at gcc dot gnu.org
2020-08-04 14:38 ` matz at gcc dot gnu.org
2020-08-04 14:59 ` rsandifo at gcc dot gnu.org
2020-08-04 15:46 ` schwab@linux-m68k.org
2020-08-05 10:08 ` rsandifo at gcc dot gnu.org
2020-08-05 10:15 ` rguenther at suse dot de
2020-08-05 10:28 ` rsandifo at gcc dot gnu.org
2020-08-05 11:09 ` rguenther at suse dot de
2020-08-05 12:24 ` matz at gcc dot gnu.org
2020-08-05 13:02 ` matz at gcc dot gnu.org
2023-01-11 23:50 ` pinskia at gcc dot gnu.org
2023-01-11 23:54 ` pinskia at gcc dot gnu.org
2023-01-27 17:04 ` cvs-commit at gcc dot gnu.org
2023-02-14  2:05 ` cvs-commit at gcc dot gnu.org
2023-02-14  9:18 ` cvs-commit at gcc dot gnu.org
2023-02-27  2:50 ` cvs-commit at gcc dot gnu.org
2023-02-27  2:57 ` cvs-commit at gcc dot gnu.org
2023-04-03  8:58 ` cvs-commit at gcc dot gnu.org [this message]
2023-04-14  8:19 ` [Bug target/96373] [10/11 Regression] " rguenth at gcc dot gnu.org
2023-05-29 10:03 ` jakub at gcc dot gnu.org
2024-02-29  5:33 ` [Bug target/96373] [11 " pinskia 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-96373-4-H8Arnu8jsV@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).