On Thu, Feb 08, 2007 at 04:22:12PM +0800, ???? wrote: > Thanks. But what does it mean by saying: > "Sometimes an insn can match more than one instruction pattern. Then > the pattern that appears first in the machine description is the one > used."
It means what it says. The detail you're missing is that the operand constraints don't determine if your insn patterns matches or not. So, your *ld_movqi_internal pattern will match instructions like (set (mem:QI ...) (reg:QI ...)) (set (reg:QI ...) (reg:QI ...)) (set (reg:QI ...) (const_int ...)) which is probably not what you want (although reload will handle the third example. Notice how I omit the word "fine" here). You need to read about operand predicates and insn conditions. -- Rask Ingemann Lambertsen