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

Martin Liška <marxin at gcc dot gnu.org> changed:

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

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Ok, I screw up parenthesis in IPA inliner. I've got a patch for that.

But still, the test-case should not be sensitive to an inlining decision. The
problematic version does some inlining of:

Inlining _Tp std::__atomic_impl::__fetch_add_flt(_Tp*,
std::__atomic_impl::_Val<_Tp>, std::memory_order) [with _Tp = long double]/404
size 27.
 Called once from void test03()/285 887 insns.
 Inlined into void test03()/285 which now has 904 size

Inlining _Tp std::__atomic_impl::__fetch_add_flt(_Tp*,
std::__atomic_impl::_Val<_Tp>, std::memory_order) [with _Tp = long double]/404
size 27.
 Called once from void test03()/285 904 insns.
 Inlined into void test03()/285 which now has 921 size

Inlining _Tp std::__atomic_impl::__sub_fetch_flt(_Tp*,
std::__atomic_impl::_Val<_Tp>) [with _Tp = double]/393 size 21.
 Called once from void test02()/281 733 insns.
 Inlined into void test02()/281 which now has 747 size

Inlining _Tp std::__atomic_impl::__add_fetch_flt(_Tp*,
std::__atomic_impl::_Val<_Tp>) [with _Tp = double]/392 size 21.
 Called once from void test02()/281 747 insns.
 Inlined into void test02()/281 which now has 761 size

Can you please Jonathan take a look what happens?

Reply via email to