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: "error: unable to generate reloads for...", any hints?


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


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