This is the mail archive of the gcc@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: Problem with ColdFire restricted addressing modes (mode5.6combination)


On Tue, 2004-08-17 at 17:22, Peter Barada wrote:
> I wasn't thinking of multiple define_expand patterns, but multiple
> define_insns (unnamed) to cover each of the combinations with
> constraints that work for those predicates...

You must have only one mov pattern for each mode.  Moves are special. 
Reload needs to be able to rewrite them without recognizing them in
order to generate reloads.  So what you are proposing won't work.

> Reload runs anything it creates through recog() to make sure its
> valid RTL where the condition to count the extension words will fail,
> right?

Probably not.  reload really only looks at the constraints.  It doesn't
look at predicates, and it doesn't really look at conditions.

When reload emits an instruction, it will use a named pattern, or try to
recog it.  But when reload rewrites an instruction, it assumes it will
be valid if the constraints are satisfied.

Hence the approach of defining new constraints might be better than
adding a condition to count extension words.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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