public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/105903] New: Missed optimization for __synth3way
@ 2022-06-08 23:43 barry.revzin at gmail dot com
  2022-06-08 23:53 ` [Bug tree-optimization/105903] " pinskia at gcc dot gnu.org
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: barry.revzin at gmail dot com @ 2022-06-08 23:43 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 105903
           Summary: Missed optimization for __synth3way
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: barry.revzin at gmail dot com
  Target Milestone: ---

Consider this example:

#include <compare>
#include <vector>

inline constexpr auto synth3way = std::__detail::__synth3way;

struct Iterator {
    std::vector<int>::iterator it;

    constexpr bool operator<(Iterator const& rhs) const {
        return it < rhs.it;
    }
    constexpr bool operator>(Iterator const& rhs) const {
        return it > rhs.it;
    }    
};

bool less(Iterator const& a, Iterator const& b) {
    return a < b;
}

bool less3way(Iterator const& a, Iterator const& b) {
    return synth3way(a, b) < 0;
}

Here, synth3way(a, b) < 0 produces identical code to a < b (compiling with gcc
12.1 --std=c++20 -O3), which is great. The compiler recognizes that it doesn't
have to do the second synthesized comparison. 

However, if we instead compared (sorry):

bool greater(Iterator const& a, Iterator const& b) {
    return a > b;
}

bool greater3way(Iterator const& a, Iterator const& b) {
    return synth3way(a, b) > 0;
}

This is now much worse:

greater(Iterator const&, Iterator const&):
        mov     rax, QWORD PTR [rdi]
        cmp     QWORD PTR [rsi], rax
        setb    al
        ret
greater3way(Iterator const&, Iterator const&):
        mov     rdx, QWORD PTR [rdi]
        mov     rcx, QWORD PTR [rsi]
        xor     eax, eax
        cmp     rdx, rcx
        jb      .L3
        cmp     rcx, rdx
        setb    al
.L3:
        ret

Interestingly, if we write this out:

bool greater3way(Iterator const& a, Iterator const& b) {
    auto const cmp = [&]{
        if (a < b) return std::weak_ordering::less;
        if (b < a) return std::weak_ordering::greater;
        return std::weak_ordering::equivalent;
    }();
    return cmp > 0;
}

bool greater3way_fold(Iterator const& a, Iterator const& b) {
    return [&]{
        if (a < b) return false;
        if (b < a) return true;
        return false;
    }();
}

The greater3way_fold implementation generates the same code as >, which
definitely suggests to me that the greater3way version is simply a missed
optimization. 

On compiler explorer: https://godbolt.org/z/1xvfsMrnf

Because synth3way is only used in contexts that require a weak ordering anyway,
it would be a valid optimization to replace synth3way(a, b) > 0 with b < a,
synth3way(a, b) <= 0 with !(b < a) and synth3way(a, b) >= 0 with !(a < b).
These replacements aren't generally true (because partial orders), but the
precondition on this type is that we have a weak order, so we should be able to
do better.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
@ 2022-06-08 23:53 ` pinskia at gcc dot gnu.org
  2022-06-29  1:40 ` luoxhu at gcc dot gnu.org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-06-08 23:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |tree-optimization
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Severity|normal                      |enhancement
   Last reconfirmed|                            |2022-06-08
           Keywords|                            |missed-optimization

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
Currently we have inside phiopt4
  if (_5 < _6)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  _9 = _5 > _6;

  <bb 4> [local count: 1073741824]:
  # prephitmp_10 = PHI <0(2), _9(3)>

That is:
(_5 < _6) ? 0 : (_5 > _6)

Which I think can be optimized to just:
(_5 > _6)

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
  2022-06-08 23:53 ` [Bug tree-optimization/105903] " pinskia at gcc dot gnu.org
@ 2022-06-29  1:40 ` luoxhu at gcc dot gnu.org
  2022-06-29  1:51 ` pinskia at gcc dot gnu.org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: luoxhu at gcc dot gnu.org @ 2022-06-29  1:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from luoxhu at gcc dot gnu.org ---
diff --git a/gcc/match.pd b/gcc/match.pd
index 4a570894b2e..f6b5415a351 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -5718,6 +5718,22 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
      (bit_xor (convert (rshift @0 {shifter;})) @1)
      (bit_not (bit_xor (convert (rshift @0 {shifter;})) @1)))))))

+/* X >= Y ? X > Y : 0 into X > Y. */
+(simplify
+  (cond (ge @0 @1) (gt @0 @1) integer_zerop)
+   (if (INTEGRAL_TYPE_P (type)
+       && POINTER_TYPE_P (TREE_TYPE (@0))
+       && POINTER_TYPE_P (TREE_TYPE (@1)))
+    (gt @0 @1)))
+
+/* X < Y ? 0 : X > Y into X > Y.  */
+(simplify
+  (cond (lt @0 @1) integer_zerop (gt @0 @1))
+   (if (INTEGRAL_TYPE_P (type)
+       && POINTER_TYPE_P (TREE_TYPE (@0))
+       && POINTER_TYPE_P (TREE_TYPE (@1)))
+    (gt @0 @1)))
+

The two patterns could fold PHI in phiopt4 for the two greater3way and generate
expected results.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
  2022-06-08 23:53 ` [Bug tree-optimization/105903] " pinskia at gcc dot gnu.org
  2022-06-29  1:40 ` luoxhu at gcc dot gnu.org
@ 2022-06-29  1:51 ` pinskia at gcc dot gnu.org
  2022-07-01 22:04 ` pinskia at gcc dot gnu.org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-06-29  1:51 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot gnu.org
             Status|NEW                         |ASSIGNED
         Depends on|                            |96923

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to luoxhu from comment #2)
> diff --git a/gcc/match.pd b/gcc/match.pd
> index 4a570894b2e..f6b5415a351 100644
> --- a/gcc/match.pd
> +++ b/gcc/match.pd
> @@ -5718,6 +5718,22 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
>       (bit_xor (convert (rshift @0 {shifter;})) @1)
>       (bit_not (bit_xor (convert (rshift @0 {shifter;})) @1)))))))
> 
> +/* X >= Y ? X > Y : 0 into X > Y. */
> +(simplify
> +  (cond (ge @0 @1) (gt @0 @1) integer_zerop)
> +   (if (INTEGRAL_TYPE_P (type)
> +       && POINTER_TYPE_P (TREE_TYPE (@0))
> +       && POINTER_TYPE_P (TREE_TYPE (@1)))
> +    (gt @0 @1)))
> +
> +/* X < Y ? 0 : X > Y into X > Y.  */
> +(simplify
> +  (cond (lt @0 @1) integer_zerop (gt @0 @1))
> +   (if (INTEGRAL_TYPE_P (type)
> +       && POINTER_TYPE_P (TREE_TYPE (@0))
> +       && POINTER_TYPE_P (TREE_TYPE (@1)))
> +    (gt @0 @1)))
> +

Hmm, could be simplified to just:
+#if GIMPLE
+/* a ? b : c -> (a & b) | (!a & c) for truth (boolean) values
+   Only if either b or c are integer constants. */
+(simplify
+ (cond @0 truth_valued_p@1 truth_valued_p@2)
+ (if (TREE_CODE (@1) == INTEGER_CST
+      || TREE_CODE (@2) == INTEGER_CST)
+  (with {
+       tree booltrue = constant_boolean_node (true, type);
+     }
+   (bit_ior (bit_and (convert @0) @1) (bit_and (bit_xor (convert @0) {
booltrue; }) @2)))))
+#endif

Which is PR 96923 so mine.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96923
[Bug 96923] Failure to optimize a select-related bool pattern to or+not

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (2 preceding siblings ...)
  2022-06-29  1:51 ` pinskia at gcc dot gnu.org
@ 2022-07-01 22:04 ` pinskia at gcc dot gnu.org
  2022-07-01 22:10 ` pinskia at gcc dot gnu.org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-01 22:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 53237
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53237&action=edit
testcase

Even though it was included in comment #0, I am attaching it as it easier to
figure out what the testcase was.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (3 preceding siblings ...)
  2022-07-01 22:04 ` pinskia at gcc dot gnu.org
@ 2022-07-01 22:10 ` pinskia at gcc dot gnu.org
  2022-07-02  5:18 ` pinskia at gcc dot gnu.org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-01 22:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
After my patches for PR 96923  (and PR 100864), we get:


  _22 = _16 > _17;
... (some dead statements that PHI-OPT adds due to match and simplify)
  _8 = _16 >= _17;
  _13 = _8 & _22;

But there is nothing which optimizes the above into just _22 (_16 > _17) which
I find interesting ...

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (4 preceding siblings ...)
  2022-07-01 22:10 ` pinskia at gcc dot gnu.org
@ 2022-07-02  5:18 ` pinskia at gcc dot gnu.org
  2023-05-24  0:01 ` pinskia at gcc dot gnu.org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-02  5:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #5)
> After my patches for PR 96923  (and PR 100864), we get:
> 
> 
>   _22 = _16 > _17;
> ... (some dead statements that PHI-OPT adds due to match and simplify)
>   _8 = _16 >= _17;
>   _13 = _8 & _22;
> 
> But there is nothing which optimizes the above into just _22 (_16 > _17)
> which I find interesting ...

Now after the patch I have for  106164 we get:
  _13 = _16 > _17;

Which is what we expect.

Note phiopt still should do some cleanup because of match-and-simplify as we
get:
  _3 = _16 < _17;
  _7 = _16 < _17;
  _8 = _16 >= _17;
  _13 = _16 > _17;

Where _3, _7 and _8 are all unused, I have to figure out the best way of doing
that.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (5 preceding siblings ...)
  2022-07-02  5:18 ` pinskia at gcc dot gnu.org
@ 2023-05-24  0:01 ` pinskia at gcc dot gnu.org
  2023-05-24  0:06 ` pinskia at gcc dot gnu.org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-24  0:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105903
Bug 105903 depends on bug 96923, which changed state.

Bug 96923 Summary: Failure to optimize a select-related bool pattern to or+not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96923

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |DUPLICATE

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (6 preceding siblings ...)
  2023-05-24  0:01 ` pinskia at gcc dot gnu.org
@ 2023-05-24  0:06 ` pinskia at gcc dot gnu.org
  2023-06-07  2:46 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-24  0:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The patch which fixes PR 89263 also fixes this one.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (7 preceding siblings ...)
  2023-05-24  0:06 ` pinskia at gcc dot gnu.org
@ 2023-06-07  2:46 ` pinskia at gcc dot gnu.org
  2023-06-07  2:47 ` pinskia at gcc dot gnu.org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-06-07  2:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105903
Bug 105903 depends on bug 89263, which changed state.

Bug 89263 Summary: Simplify bool expression to OR
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89263

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (8 preceding siblings ...)
  2023-06-07  2:46 ` pinskia at gcc dot gnu.org
@ 2023-06-07  2:47 ` pinskia at gcc dot gnu.org
  2023-07-30  6:10 ` pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-06-07  2:47 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
   Target Milestone|---                         |14.0

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (9 preceding siblings ...)
  2023-06-07  2:47 ` pinskia at gcc dot gnu.org
@ 2023-07-30  6:10 ` pinskia at gcc dot gnu.org
  2023-07-30  6:12 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-30  6:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|14.0                        |---
             Status|RESOLVED                    |NEW
         Resolution|FIXED                       |---

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually this is not optimized all the way in the end.
For greater3way, we still get:
  _8 = _5 > _6;
  _7 = _5 >= _6;
  _2 = _7 & _8;

This should be optimized to just _5 >= _6 .

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (10 preceding siblings ...)
  2023-07-30  6:10 ` pinskia at gcc dot gnu.org
@ 2023-07-30  6:12 ` pinskia at gcc dot gnu.org
  2023-07-30  6:32 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-30  6:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #9)
> Actually this is not optimized all the way in the end.
> For greater3way, we still get:
>   _8 = _5 > _6;
>   _7 = _5 >= _6;
>   _2 = _7 & _8;
> 
> This should be optimized to just _5 >= _6 .

Sorry `_5 > _6` .

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (11 preceding siblings ...)
  2023-07-30  6:12 ` pinskia at gcc dot gnu.org
@ 2023-07-30  6:32 ` pinskia at gcc dot gnu.org
  2023-07-30 21:14 ` pinskia at gcc dot gnu.org
  2023-07-31 17:14 ` pinskia at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-30  6:32 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #10)
> (In reply to Andrew Pinski from comment #9)
> > Actually this is not optimized all the way in the end.
> > For greater3way, we still get:
> >   _8 = _5 > _6;
> >   _7 = _5 >= _6;
> >   _2 = _7 & _8;
> > 
> > This should be optimized to just _5 >= _6 .
> 
> Sorry `_5 > _6` .

What is interesting is I tested with the patches I have for PR 106164 which
should fix this but does not. If I try it out manually forwprop does catch it
so I need to figure out what is going wrong in phiopt4.

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (12 preceding siblings ...)
  2023-07-30  6:32 ` pinskia at gcc dot gnu.org
@ 2023-07-30 21:14 ` pinskia at gcc dot gnu.org
  2023-07-31 17:14 ` pinskia at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-30 21:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #11)
> What is interesting is I tested with the patches I have for PR 106164 which
> should fix this but does not. If I try it out manually forwprop does catch
> it so I need to figure out what is going wrong in phiopt4.

Oh I missed it was a pointer type. So I have a patch ...

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

* [Bug tree-optimization/105903] Missed optimization for __synth3way
  2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
                   ` (13 preceding siblings ...)
  2023-07-30 21:14 ` pinskia at gcc dot gnu.org
@ 2023-07-31 17:14 ` pinskia at gcc dot gnu.org
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-31 17:14 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed by r14-2886 .

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

end of thread, other threads:[~2023-07-31 17:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08 23:43 [Bug c++/105903] New: Missed optimization for __synth3way barry.revzin at gmail dot com
2022-06-08 23:53 ` [Bug tree-optimization/105903] " pinskia at gcc dot gnu.org
2022-06-29  1:40 ` luoxhu at gcc dot gnu.org
2022-06-29  1:51 ` pinskia at gcc dot gnu.org
2022-07-01 22:04 ` pinskia at gcc dot gnu.org
2022-07-01 22:10 ` pinskia at gcc dot gnu.org
2022-07-02  5:18 ` pinskia at gcc dot gnu.org
2023-05-24  0:01 ` pinskia at gcc dot gnu.org
2023-05-24  0:06 ` pinskia at gcc dot gnu.org
2023-06-07  2:46 ` pinskia at gcc dot gnu.org
2023-06-07  2:47 ` pinskia at gcc dot gnu.org
2023-07-30  6:10 ` pinskia at gcc dot gnu.org
2023-07-30  6:12 ` pinskia at gcc dot gnu.org
2023-07-30  6:32 ` pinskia at gcc dot gnu.org
2023-07-30 21:14 ` pinskia at gcc dot gnu.org
2023-07-31 17:14 ` 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).