Re: constraints and predicates

2010-08-05 Thread Richard Sandiford
Georg Lay writes: > roy rosen schrieb: >> What might be the problem here? > > Define and use proper constraint(s). Right. doloop_end is a notoriously difficult case though, because jump insns aren't allowed to have output reloads. Something like: (define_insn "doloop_end_internal" [(set (pc)

Re: constraints and predicates

2010-08-05 Thread Georg Lay
roy rosen schrieb: > Hi All, > > If I don't use a constraint, is it possible that during ira I get a > register which is not acceptable by the predicate? > In my port I have the following to support HW loops: > > (define_predicate "lc_operand" > (match_operand 0 "register_operand") > { >

Re: constraints and predicates

2010-08-05 Thread roy rosen
I haven't mentioned that I am using gcc 4.6 latest version. To generalize the question. If I use an operand like lc_operand (below) and leave the constraint open, is it guaranteed that the register that would be chosen would be of class lc? 2010/8/3 roy rosen : > Hi All, > > If I don't use a const

constraints and predicates

2010-08-03 Thread roy rosen
Hi All, If I don't use a constraint, is it possible that during ira I get a register which is not acceptable by the predicate? In my port I have the following to support HW loops: (define_predicate "lc_operand" (match_operand 0 "register_operand") { unsigned int regno; if (GET