[Bug testsuite/113175] [14 Regression] testsuite/std/ranges/iota/max_size_type.cc 5x times slower

2023-12-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113175

--- Comment #7 from Jonathan Wakely  ---
(In reply to Xi Ruoyao from comment #4)
> IIRC the "signed_rep_t = __int128;" case has really detected a compiler bug,
> so IMO we shouldn't just disable it.
> 
> Maybe my memory is flawed though.

I think it was the opposite. Using `signed rep_t` relied on a compiler bug.
When that bug was fixed we had to introduce a typedef for that type. I have no
idea why it would make the test slower though.

[Bug testsuite/113175] [14 Regression] testsuite/std/ranges/iota/max_size_type.cc 5x times slower

2023-12-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113175

Jonathan Wakely  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=108099

--- Comment #6 from Jonathan Wakely  ---
PR108099 I think

[Bug testsuite/113175] [14 Regression] testsuite/std/ranges/iota/max_size_type.cc 5x times slower

2023-12-31 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113175

--- Comment #5 from Hans-Peter Nilsson  ---
(In reply to Xi Ruoyao from comment #4)
> IIRC the "signed_rep_t = __int128;" case has really detected a compiler bug,
> so IMO we shouldn't just disable it.

Maybe I should have been explicit: that was just for investigation purposes.

> Maybe my memory is flawed though.

Please link that PR here if you have it!

[Bug testsuite/113175] [14 Regression] testsuite/std/ranges/iota/max_size_type.cc 5x times slower

2023-12-31 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113175

Xi Ruoyao  changed:

   What|Removed |Added

 CC||xry111 at gcc dot gnu.org

--- Comment #4 from Xi Ruoyao  ---
(In reply to Hans-Peter Nilsson from comment #3)
> There's one single regression event, bringing the host runtime to about 1.63
> seconds.  Then some time later, an additional 0.1 second was added
> (accumulated).
> I did not look into that latter regression.  The big one is clouded by a
> large range of commits where max_size_type failed, due to
> r14-159-g03cebd304955a6.
> This was fixed in r14-205-g83470a5cd4c3d2, at which time there the big
> regression is seen for the first time.  That is also the "cause" for the
> commit, because applying that commit to r14-158-g7d115e01411156 shows the
> same number as for r14-205-g83470a5cd4c3d2.
> 
> Actually, it's the testsuite part of that patch, because with that reverted
> the execution time backs down to 0.33 seconds.  IOW, this while PR is
> /testsuites.  Not sure what to do to improve the execution time, as plain
> disabling the using "signed_rep_t = __int128;" by making the first line
> "+#if 0 && __SIZEOF_INT128__" yields
> /x/testsuite/std/ranges/iota/max_size_type.cc:36: note: the comparison
> reduces to '(16 == 8)' 
> 
> Maybe the higher number for the execution time is actually the "right" one
> and the range should be cut down to -100..100 for *all* targets?
> 
> HNY!

IIRC the "signed_rep_t = __int128;" case has really detected a compiler bug, so
IMO we shouldn't just disable it.

Maybe my memory is flawed though.

[Bug testsuite/113175] [14 Regression] testsuite/std/ranges/iota/max_size_type.cc 5x times slower

2023-12-31 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113175

Hans-Peter Nilsson  changed:

   What|Removed |Added

  Component|libstdc++   |testsuite

--- Comment #3 from Hans-Peter Nilsson  ---
There's one single regression event, bringing the host runtime to about 1.63
seconds.  Then some time later, an additional 0.1 second was added
(accumulated).
I did not look into that latter regression.  The big one is clouded by a large
range of commits where max_size_type failed, due to r14-159-g03cebd304955a6.
This was fixed in r14-205-g83470a5cd4c3d2, at which time there the big
regression is seen for the first time.  That is also the "cause" for the
commit, because applying that commit to r14-158-g7d115e01411156 shows the same
number as for r14-205-g83470a5cd4c3d2.

Actually, it's the testsuite part of that patch, because with that reverted the
execution time backs down to 0.33 seconds.  IOW, this while PR is /testsuites. 
Not sure what to do to improve the execution time, as plain disabling the using
"signed_rep_t = __int128;" by making the first line "+#if 0 &&
__SIZEOF_INT128__" yields
/x/testsuite/std/ranges/iota/max_size_type.cc:36: note: the comparison reduces
to '(16 == 8)' 

Maybe the higher number for the execution time is actually the "right" one and
the range should be cut down to -100..100 for *all* targets?

HNY!