public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/93271] [9/10/11/12 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
@ 2021-05-14  9:52 ` jakub at gcc dot gnu.org
  2021-06-01  8:15 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-05-14  9:52 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|8.5                         |9.4

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 8 branch is being closed.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [9/10/11/12 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
  2021-05-14  9:52 ` [Bug tree-optimization/93271] [9/10/11/12 regression] SRA producing wrong code on denormals jakub at gcc dot gnu.org
@ 2021-06-01  8:15 ` rguenth at gcc dot gnu.org
  2022-05-27  9:41 ` [Bug tree-optimization/93271] [10/11/12/13 " rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01  8:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.4                         |9.5

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9.4 is being released, retargeting bugs to GCC 9.5.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [10/11/12/13 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
  2021-05-14  9:52 ` [Bug tree-optimization/93271] [9/10/11/12 regression] SRA producing wrong code on denormals jakub at gcc dot gnu.org
  2021-06-01  8:15 ` rguenth at gcc dot gnu.org
@ 2022-05-27  9:41 ` rguenth at gcc dot gnu.org
  2022-06-28 10:39 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:41 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.5                         |10.4

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9 branch is being closed

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [10/11/12/13 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2022-05-27  9:41 ` [Bug tree-optimization/93271] [10/11/12/13 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:39 ` jakub at gcc dot gnu.org
  2023-04-13 11:12 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:39 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [10/11/12/13 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2022-06-28 10:39 ` jakub at gcc dot gnu.org
@ 2023-04-13 11:12 ` rguenth at gcc dot gnu.org
  2023-07-07 10:36 ` [Bug tree-optimization/93271] [11/12/13/14 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-04-13 11:12 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |i?86-*-*
   Last reconfirmed|2022-01-29 00:00:00         |2023-4-13

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is that on some targets (like i386) a FP load/store isn't a noop
but alters the bit representation.  SRA in this case sees aggregate
store/load and scalar float store/load (but this one conditional).

In case there's a non-FP load or store of the part of the aggregate that's
also accessed as float there's no way to correctly perform the scalar
ops _but at the very point they are done originally_.

So the issue is we're doing the replacement in a non-flow-sensitive manner.
Of course when done flow-sentitive then the replacement will be pointless.
For long/double it's the same.  There is currently no predicate that will
tell whether a target implements no-op reg = FP-mem; FP-mem = reg; so the
only "safe" fix would be to avoid scalarization of FP parts when the
initialization isn't provably done with FP stores.

 int main ()
 {
+  float a$b;
   union test a;
   float _1;
   float _2;
@@ -82,14 +70,16 @@

   <bb 2> :
   a = set (); [return slot optimization]
+  a$b_7 = a.b;
   goto <bb 4>; [INV]

   <bb 3> :
-  _1 = a.b;
+  _1 = a$b_8;
   _2 = _1 + 1.0e+0;
-  a.b = _2;
+  a$b_11 = _2;

   <bb 4> :
+  # a$b_8 = PHI <a$b_7(2), a$b_11(3)>
   val.0_3 ={v} val;
   if (val.0_3 != 0)
     goto <bb 3>; [INV]
@@ -97,8 +87,8 @@
     goto <bb 5>; [INV]

   <bb 5> :
+  a.b = a$b_8;
   get (a);
-  a ={v} {CLOBBER(eol)};
   return 0;

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [11/12/13/14 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2023-04-13 11:12 ` rguenth at gcc dot gnu.org
@ 2023-07-07 10:36 ` rguenth at gcc dot gnu.org
  2023-11-13 22:10 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07 10:36 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.5                        |11.5

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10 branch is being closed.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [11/12/13/14 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2023-07-07 10:36 ` [Bug tree-optimization/93271] [11/12/13/14 " rguenth at gcc dot gnu.org
@ 2023-11-13 22:10 ` pinskia at gcc dot gnu.org
  2023-11-13 22:16 ` pinskia at gcc dot gnu.org
  2024-03-10  2:30 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-11-13 22:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
It is even worse with `int128_t` and `long double` due to `long double` having
padding bits (and a padding byte). So it is not only denormals but even bits in
the padding bits/byte that might get lost.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [11/12/13/14 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2023-11-13 22:10 ` pinskia at gcc dot gnu.org
@ 2023-11-13 22:16 ` pinskia at gcc dot gnu.org
  2024-03-10  2:30 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-11-13 22:16 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrew at ziglang dot org

--- Comment #16 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 112521 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug tree-optimization/93271] [11/12/13/14 regression] SRA producing wrong code on denormals
       [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2023-11-13 22:16 ` pinskia at gcc dot gnu.org
@ 2024-03-10  2:30 ` pinskia at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-10  2:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Ping?

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-03-10  2:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-93271-4@http.gcc.gnu.org/bugzilla/>
2021-05-14  9:52 ` [Bug tree-optimization/93271] [9/10/11/12 regression] SRA producing wrong code on denormals jakub at gcc dot gnu.org
2021-06-01  8:15 ` rguenth at gcc dot gnu.org
2022-05-27  9:41 ` [Bug tree-optimization/93271] [10/11/12/13 " rguenth at gcc dot gnu.org
2022-06-28 10:39 ` jakub at gcc dot gnu.org
2023-04-13 11:12 ` rguenth at gcc dot gnu.org
2023-07-07 10:36 ` [Bug tree-optimization/93271] [11/12/13/14 " rguenth at gcc dot gnu.org
2023-11-13 22:10 ` pinskia at gcc dot gnu.org
2023-11-13 22:16 ` pinskia at gcc dot gnu.org
2024-03-10  2:30 ` pinskia at gcc dot gnu.org

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).