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



--- Comment #27 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-11-07 
07:37:05 UTC ---

> Longer term we do need a fix for this.  It is very clear that IRA is 
> allocating

> odd registers at times for DImode pseudos on 32-bit, and the only reason it

> works is that things get fixed up later by either reload or the DImode

> splitters.

> 

> If we extended define_register_constraint such that extra conditions could be

> specified, we could get IRA to do the right thing and also have reload fix up

> the unavoidable cases where we must use odd numbered registers for DImode

> values on 32-bit such as argument passing.



Thanks for the detailed explanation.  I'd suggest copying a good chunk of it

into constraints.md when you add back the constraint.

Reply via email to