public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/100182] [8/9/10/11/12 Regression] Miscompilation of atomic_float/1.cc on i686
Date: Thu, 22 Apr 2021 08:28:14 +0000	[thread overview]
Message-ID: <bug-100182-4-dbkSN5BGVj@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-100182-4@http.gcc.gnu.org/bugzilla/>

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The 29_atomics/atomic_float/wait_notify.cc hangs that unfortunately cause
regtest hangs (the timeout stuff doesn't seem to work here) seems to be caused
by this too, at least if 0 && out those 8 peephole2s in sync.md the hang is
gone.

Vlad, can spill slots (MEMs with MEM_EXPR equal to get_spill_slot_decl (false))
be read in multiple instructions (one store multiple reads)?

Unfortunately the patterns do use peep2_reg_dead_p and so it isn't something
that can be done in the split2 pass (reload_completed && !epilogue_completed).

Maybe emit the stores always and if those peephole2s ever trigger, schedule an
extra RTL DSE pass after peephole2?
I'm not sure it is safe to emit the stores as normal DFmode stores though (at
least not in all the cases), because while one atomic read (the one seen in the
peephole2) can be DFmode-ish, further atomic reads (the ones the peephole2
doesn't see) could be DImode-ish.

Uros, can you please have a look?  Thanks.

  parent reply	other threads:[~2021-04-22  8:28 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-21 12:35 [Bug target/100182] New: " jakub at gcc dot gnu.org
2021-04-21 12:35 ` [Bug target/100182] " jakub at gcc dot gnu.org
2021-04-21 14:23 ` jakub at gcc dot gnu.org
2021-04-21 15:35 ` jakub at gcc dot gnu.org
2021-04-21 15:41 ` jakub at gcc dot gnu.org
2021-04-21 15:42 ` jakub at gcc dot gnu.org
2021-04-22  8:28 ` jakub at gcc dot gnu.org [this message]
2021-04-22 13:10 ` [Bug target/100182] [8/9/10/11/12 Regression] Miscompilation of atomic_float/1.cc and atomic_float/wait_notify.cc " cvs-commit at gcc dot gnu.org
2021-04-22 13:10 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:53 ` ubizjak at gmail dot com
2021-04-22 17:58 ` jakub at gcc dot gnu.org
2021-04-22 18:09 ` ubizjak at gmail dot com
2021-04-22 18:41 ` ubizjak at gmail dot com
2021-04-23  6:13 ` ubizjak at gmail dot com
2021-04-23  7:40 ` jakub at gcc dot gnu.org
2021-04-23  7:52 ` ubizjak at gmail dot com
2021-04-23  7:54 ` ubizjak at gmail dot com
2021-04-23  7:56 ` jakub at gcc dot gnu.org
2021-04-23  8:02 ` ubizjak at gmail dot com
2021-04-23  8:13 ` ubizjak at gmail dot com
2021-04-23  8:25 ` jakub at gcc dot gnu.org
2021-04-23  8:36 ` jakub at gcc dot gnu.org
2021-04-23  8:41 ` jakub at gcc dot gnu.org
2021-04-23  9:20 ` ubizjak at gmail dot com
2021-04-23 15:30 ` cvs-commit at gcc dot gnu.org
2021-04-28 10:44 ` cvs-commit at gcc dot gnu.org
2021-04-28 13:33 ` cvs-commit at gcc dot gnu.org
2021-04-28 18:02 ` cvs-commit at gcc dot gnu.org
2021-04-28 18:02 ` cvs-commit at gcc dot gnu.org
2021-04-28 18:09 ` ubizjak at gmail dot com
2021-07-19 13:08 ` hjl.tools at gmail dot com
2021-07-19 14:40 ` ubizjak at gmail dot com
2021-07-19 22:06 ` hjl.tools at gmail dot com
2021-07-19 22:18 ` ubizjak at gmail dot com
2021-07-20  4:23 ` cvs-commit at gcc dot gnu.org
2021-07-20  4:30 ` cvs-commit at gcc dot gnu.org
2021-07-20  4:36 ` cvs-commit at gcc dot gnu.org
2021-07-20  4:39 ` cvs-commit at gcc dot gnu.org
2021-07-20  4:41 ` ubizjak at gmail dot com
2021-07-31 19:24 ` hjl.tools at gmail dot com
2021-08-03 18:14 ` hjl.tools at gmail dot com
2021-08-03 18:24 ` ubizjak at gmail dot com
2021-08-03 18:30 ` hjl.tools at gmail 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-100182-4-dbkSN5BGVj@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).