Re: [Boost-bugs] [Boost C++ Libraries] #12411: Boost coroutines 1.61 do not preserve fpu registers with O2 optimizations in Visual Studio

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12411: Boost coroutines 1.61 do not preserve fpu registers with O2 optimizations in Visual Studio
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-26 20:16:16


#12411: Boost coroutines 1.61 do not preserve fpu registers with O2 optimizations
in Visual Studio
-------------------------------+---------------------------
  Reporter: martin_haas@… | Owner: olli
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: coroutine
   Version: Boost 1.61.0 | Severity: Showstopper
Resolution: | Keywords: fpu registers
-------------------------------+---------------------------

Comment (by martin_haas@…):

 Please see the attached file. When compiled with Visual Studio 2015, the
 Debug versions work correctly. The release version works correctly if
 optimization is disabled. If optimization is specified as O2 or Ox, it
 appears the fpu registers are being cleared. In the working versions, the
 final job completes at time 54. In the nonworking versions, the final job
 appears to take zero time, so it completes at time 44.

 if the "hold" function is changed to return an int instead of a double,
 the optimized programs work correctly.

 The program works correctly with boost 1.60, but not 1.61.

 Thanks for all your hard work. The performance of the coroutines are MUCH
 better than my current solution. Hope this is an easy fix.

 Thanks

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12411#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC