What to do when constraint doesn't match
Mohamed Shafi
shafitvm@gmail.com
Thu Mar 15 04:59:00 GMT 2007
Hello all,
Looking at the internals i couldn't find an answer for my problem.
I have a define_expand with the pattern name mov<mode> and a
define_insn mov<mode>_store
The predicate in define_expand is general_operand, so that all
operands are matched.
While in define_insn i have a predicate which allows only two class of
registers say 'a' and 'b'. But the constraint for define_insn only
allows registers of class 'b'.
I also have a pattern for register move from 'a' to 'b', call it
mov<mode>a2b. So if for mov<mode>_store define_insn constraint
doesn't satisfy why is that the compiler is not trying to match the
constraint by generating a mov<mode>a2b pattern? Is there something
that i am missing here?
Regards,
Shafi
More information about the Gcc
mailing list