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/100363] gcc generating wider load/store than warranted at -O3
Date: Mon, 03 May 2021 07:41:30 +0000	[thread overview]
Message-ID: <bug-100363-4-6NQRtyqevw@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-100363-4@http.gcc.gnu.org/bugzilla/>

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Linus Torvalds from comment #8)
> (In reply to Alexander Monakov from comment #7)
> > 
> > Most likely the issue is that sout/sfrom are misaligned at runtime, while
> > the vectorized code somewhere relies on them being sufficiently aligned for
> > a 'short'.
> 
> They absolutely are.
> 
> And we build the kernel with -Wno-strict-aliasing exactly to make sure the
> compiler doesn't think that "oh, I can make aliasing decisions based on type
> information".
> 
> Because we have those kinds of issues all over, and we know which
> architectures support unaligned loads etc, and all the tricks with
> "memcpy()" and unions make for entirely unreadable code.
> 
> So please fix the aliasing logic to not be type-based when people explicitly
> tell you not to do that.
> 
> Linus

Note alignment has nothing to do with strict-aliasing (-fno-strict-aliasing you
mean btw).

One thing we do is (I'm not 50% sure this explains the observed issue) assume
that if you have two accesses with type 'short' and they are aligned
according to this type then they will not partly overlap.  Note this has
nothing to do with C strict aliasing rules but is basic pointer math when
you know lower zero bits.

I suggest to try the fix suggested in comment#7 and report back if that
fixes the observed issue.

  parent reply	other threads:[~2021-05-03  7:41 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-30 20:09 [Bug c/100363] New: " vgupta at synopsys dot com
2021-04-30 21:43 ` [Bug middle-end/100363] " pinskia at gcc dot gnu.org
2021-04-30 21:44 ` pinskia at gcc dot gnu.org
2021-04-30 21:56 ` vgupta at synopsys dot com
2021-04-30 22:02 ` torvalds@linux-foundation.org
2021-04-30 22:19 ` [Bug tree-optimization/100363] " pinskia at gcc dot gnu.org
2021-04-30 22:20 ` pinskia at gcc dot gnu.org
2021-04-30 22:33 ` vgupta at synopsys dot com
2021-05-01 22:54 ` amonakov at gcc dot gnu.org
2021-05-01 23:09 ` torvalds@linux-foundation.org
2021-05-03  7:41 ` rguenth at gcc dot gnu.org [this message]
2021-05-03 16:03 ` torvalds@linux-foundation.org
2021-05-03 16:18 ` torvalds@linux-foundation.org
2021-05-03 17:25 ` vgupta at synopsys dot com
2021-05-03 17:28 ` vgupta at synopsys dot com
2021-05-03 17:47 ` torvalds@linux-foundation.org
2021-05-03 18:45 ` vgupta at synopsys dot com
2021-05-03 19:43 ` pinskia at gcc dot gnu.org
2021-05-04  6:24 ` rguenth at gcc dot gnu.org
2021-05-04 19:33 ` vgupta at synopsys dot com
2021-05-05  6:32 ` rguenther at suse dot de
2021-05-05 19:59 ` ndesaulniers at google dot com

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-100363-4-6NQRtyqevw@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).