This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch,AVR]: Fix PR36467, PR49687 (better widening mul)


Richard Henderson schrieb:
On 07/18/2011 11:05 AM, Georg-Johann Lay wrote:

What's bad with pre-reload splits?
The only weak point is in target-independent code because there
is nothing like split1_completed and other missing information
for better pass-awareness.

Nothing's wrong with pre-reload splits.


However, what you've done is try very hard to work around reload
doing the Right Thing with constant spilling, namely re-generate
the constant rather than spill and restore it.  I cannot believe
that's the right way to proceed.

You mean that with a clobber reload will rematerialize the constant if there are not enough registers instead of spilling it? And with an ordinary move like (set (reg) (const_int)) reload will not see that it can reaterialize it and spill it to the stack?

Moreover, I wonder why target-independent code does not already
catch the situation because the pattern to be generated is just
an ordinary umulqihi3 widening multiplication.

Johann


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]