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 tree-optimization/106322] [12/13 Regression] tree-vectorize: Wrong code at O2 level (-fno-tree-vectorize is working) since r12-2404-ga1d27560770818c5
Date: Tue, 16 Aug 2022 05:50:38 +0000	[thread overview]
Message-ID: <bug-106322-4-TAgoHcIN2y@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-106322-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #46 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <linkw@gcc.gnu.org>:

https://gcc.gnu.org/g:5239e2bd48fb1e6a1d1b06a1bac49bee0a742e98

commit r13-2061-g5239e2bd48fb1e6a1d1b06a1bac49bee0a742e98
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Tue Aug 16 00:18:51 2022 -0500

    vect: Don't allow vect_emulated_vector_p type in vectorizable_call
[PR106322]

    As PR106322 shows, in some cases for some vector type whose
    TYPE_MODE is a scalar integral mode instead of a vector mode,
    it's possible to obtain wrong target support information when
    querying with the scalar integral mode.  For example, for the
    test case in PR106322, on ppc64 32bit vectorizer gets vector
    type "vector(2) short unsigned int" for scalar type "short
    unsigned int", its mode is SImode instead of V2HImode.  The
    target support querying checks umul_highpart optab with SImode
    and considers it's supported, then vectorizer further generates
    .MULH IFN call for that vector type.  Unfortunately it's wrong
    to use SImode support for that vector type multiply highpart
    here.

    This patch is to teach vectorizable_call analysis not to allow
    vect_emulated_vector_p type for both vectype_in and vectype_out
    as Richi suggested.

            PR tree-optimization/106322

    gcc/ChangeLog:

            * tree-vect-stmts.cc (vectorizable_call): Don't allow
            vect_emulated_vector_p type for both vectype_in and vectype_out.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr106322.c: New test.
            * gcc.target/powerpc/pr106322.c: New test.

  parent reply	other threads:[~2022-08-16  5:50 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-16  9:48 [Bug c++/106322] New: i386: Wrong code at O2 level (O0 / O1 are working) malat at debian dot org
2022-07-16  9:55 ` [Bug c++/106322] " malat at debian dot org
2022-07-16 10:00 ` malat at debian dot org
2022-07-16 10:00 ` malat at debian dot org
2022-07-16 10:02 ` malat at debian dot org
2022-07-16 10:02 ` malat at debian dot org
2022-07-16 10:07 ` malat at debian dot org
2022-07-16 10:15 ` malat at debian dot org
2022-07-17 20:20 ` [Bug target/106322] " pinskia at gcc dot gnu.org
2022-07-18  8:48 ` marxin at gcc dot gnu.org
2022-07-18 14:40 ` malat at debian dot org
2022-07-19  7:58 ` ubizjak at gmail dot com
2022-08-03  8:41 ` malat at debian dot org
2022-08-03 12:31 ` [Bug tree-optimization/106322] 32bits / tree-vectorize: Wrong code at O2 level (-fno-tree-vectorize is working) malat at debian dot org
2022-08-03 12:32 ` malat at debian dot org
2022-08-03 12:33 ` malat at debian dot org
2022-08-05 13:14 ` [Bug tree-optimization/106322] " malat at debian dot org
2022-08-08  7:12 ` malat at debian dot org
2022-08-08  7:20 ` malat at debian dot org
2022-08-08 10:00 ` malat at debian dot org
2022-08-09  7:50 ` malat at debian dot org
2022-08-09 12:36 ` marxin at gcc dot gnu.org
2022-08-09 12:58 ` malat at debian dot org
2022-08-09 13:00 ` ubizjak at gmail dot com
2022-08-09 13:03 ` malat at debian dot org
2022-08-09 13:04 ` marxin at gcc dot gnu.org
2022-08-09 13:05 ` malat at debian dot org
2022-08-09 13:11 ` [Bug tree-optimization/106322] [12/13 Regression] tree-vectorize: Wrong code at O2 level (-fno-tree-vectorize is working) since r12-2404-ga1d27560770818c5 marxin at gcc dot gnu.org
2022-08-09 13:12 ` marxin at gcc dot gnu.org
2022-08-09 13:26 ` linkw at gcc dot gnu.org
2022-08-09 13:29 ` marxin at gcc dot gnu.org
2022-08-09 13:30 ` malat at debian dot org
2022-08-09 13:34 ` malat at debian dot org
2022-08-09 13:40 ` linkw at gcc dot gnu.org
2022-08-09 13:48 ` rguenth at gcc dot gnu.org
2022-08-09 13:53 ` malat at debian dot org
2022-08-09 13:56 ` malat at debian dot org
2022-08-09 14:01 ` malat at debian dot org
2022-08-09 15:28 ` pinskia at gcc dot gnu.org
2022-08-10  5:25 ` linkw at gcc dot gnu.org
2022-08-10  5:34 ` linkw at gcc dot gnu.org
2022-08-10  6:03 ` pinskia at gcc dot gnu.org
2022-08-10  6:24 ` linkw at gcc dot gnu.org
2022-08-10  9:47 ` linkw at gcc dot gnu.org
2022-08-10 12:32 ` rguenth at gcc dot gnu.org
2022-08-10 12:36 ` rguenth at gcc dot gnu.org
2022-08-11  1:18 ` linkw at gcc dot gnu.org
2022-08-15  6:51 ` linkw at gcc dot gnu.org
2022-08-16  5:50 ` cvs-commit at gcc dot gnu.org [this message]
2022-08-24  2:31 ` [Bug tree-optimization/106322] [12 " cvs-commit at gcc dot gnu.org
2022-08-24  2:53 ` linkw at gcc dot gnu.org
2022-08-24  6:51 ` rguenth at gcc dot gnu.org
2022-09-27 14:14 ` malat at debian dot org
2022-09-27 14:18 ` malat at debian dot org
2022-09-28  6:11 ` malat at debian dot org
2022-09-28  6:26 ` linkw 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-106322-4-TAgoHcIN2y@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).