[Bug rtl-optimization/50107] [IRA, i386] allocates regiters in very non-optimal way

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Aug 17 18:58:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50107

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-17 18:43:41 UTC ---
(In reply to comment #2)
> I guess something wrong with hard register preferencing for multi-register
> pseudos in ira-color.c::ira_assign.  I believe it works fine for one-register
> pseudos.  I'll look at this.  Thanks for reporting.

One problem is IRA ues RCX/RBX pair, instead of R8/R9, for TImode.
Since RBX is callee-saved, we have to save and restore it.

> By the way, your patch is wrong.  There should be TARGET_64BIT in define_split
> instead of !TARGET_64BIT.

It has been fixed.  Thanks.



More information about the Gcc-bugs mailing list