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

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

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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So I think the problem has to do with 2 registers case.
There are a few issues with the code.
First we record V29 as not a candidate because we subtract allocno1->offset
which is wrong.
That is the code which calls fpr_conflicts_with_allocno_p.

The second issue is when we are doing allocation of the registers (colors) in
allocate_colors the check for canidates is just checking if the first register
conflicts which might be ok except that is wrong we should be checking if all
of the second of regiisters are canidates.

I have a fix.

Reply via email to