public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/101267] [12 Regression] ICE in vect_is_simple_use when building 521.wrf_r with -Ofast -march=znver2
Date: Wed, 30 Jun 2021 11:30:35 +0000	[thread overview]
Message-ID: <bug-101267-4-IooFq9lFQF@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-101267-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to rsandifo@gcc.gnu.org from comment #5)
> (In reply to Richard Biener from comment #4)
> > So we're having
> > 
> > (gdb) p debug (slp_node)
> > t.f90:1:21: note: node 0x39fbbc0 (max_nunits=2, refcnt=1)
> > t.f90:1:21: note: op template: _144 = .MASK_LOAD (_143, 32B, _142);
> > t.f90:1:21: note:       stmt 0 _144 = .MASK_LOAD (_143, 32B, _142);
> > t.f90:1:21: note:       stmt 1 _146 = .MASK_LOAD (_145, 32B, _142);
> > t.f90:1:21: note:       children 0x39fbc48
> > 
> > where vectorizable_load invokes
> > 
> > 8500              if (!vect_check_scalar_mask (vinfo, stmt_info, mask,
> > &mask_dt,
> > 8501                                           &mask_vectype))
> > 8502                return false;
> > 
> > but the SLP child is
> > 
> > (gdb) p debug ((slp_tree)0x39fbc48)
> > t.f90:1:21: note: node (external) 0x39fbc48 (max_nunits=1, refcnt=1)
> > t.f90:1:21: note:       { _142, _142 }
> > 
> > so it won't have a vector type set.  In fact vect_check_scalar_mask doesn't
> > seem to be prepared for SLP at all - we're lucky it "works" but then most
> > definitely it won't for externals.  You'll note that the SLP variant for
> > vect_is_simple_use won't be applicable here since we only have SLP
> > representations for the mask operand which isn't even the first one.
> Seems like we should have a way of representing this kind of situation
> though.  It doesn't seem unreasonable to have some operands (and especially
> call arguments) that don't need to be vectorised.
> 
> Maybe a “fix” for now might be to pass separate SLP and non-SLP operand
> numbers to vect_is_simple_use.

Yes, I'm doing that for the single localized place where it should matter now,
see the patch posted.  There's always the possibility to fill SLP operands
with NULL (as we do for PHIs in some cases).  But then we do likely expect
the "missing" operands to be code-generated.

  parent reply	other threads:[~2021-06-30 11:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-30  9:37 [Bug tree-optimization/101267] New: " rguenth at gcc dot gnu.org
2021-06-30  9:37 ` [Bug tree-optimization/101267] " rguenth at gcc dot gnu.org
2021-06-30  9:41 ` rguenth at gcc dot gnu.org
2021-06-30  9:44 ` marxin at gcc dot gnu.org
2021-06-30 10:03 ` rguenth at gcc dot gnu.org
2021-06-30 10:36 ` rsandifo at gcc dot gnu.org
2021-06-30 11:30 ` rguenth at gcc dot gnu.org [this message]
2021-06-30 14:40 ` cvs-commit at gcc dot gnu.org
2021-06-30 14:40 ` rguenth 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-101267-4-IooFq9lFQF@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).