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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |bergner at gcc dot 
gnu.org

--- Comment #6 from Peter Bergner <bergner at gcc dot gnu.org> ---
I have a patch I'm testing.  The problem is that rs6000_set_current_function()
is not clearing the rs6000_previous_fndecl cache correctly when it needs to. 
With the test case, we notice that rs6000_previous_fndecl is set (when it
shouldn't be) and we end up restoring options from it which incorrectly disable
HW sqrt leading to the ICE.

The current code is also a rats nest and hard to read/understand, so the patch
I'm testing is modeled on s390's version of the same function which is much
cleaner and correctly clears out the rs6000_previous_fndecl when it needs to.

Reply via email to