Hi Roman,

Roman Zhuykov <zhr...@ispras.ru> writes:

> This patch is stage1 material, right?

Yes

>>
>>> +(define_insn "*doloop_end"
>>> +  [(parallel [(set (pc)
>>> +                   (if_then_else
>>> +                       (ne (reg:SI LR_REGNUM) (const_int 1))
>>> +                     (label_ref (match_operand 0 "" ""))
>>> +                     (pc)))
>>> +              (set (reg:SI LR_REGNUM)
>>> +                   (plus:SI (reg:SI LR_REGNUM) (const_int -1)))])]
>>> +  "TARGET_32BIT && TARGET_HAVE_LOB && !flag_modulo_sched"
>>> +  "le\tlr, %l0")
> I'm not an expert in .md files, but having that "!flag_modulo_sched"
> condition seems wrong to me.  What was the issue on SMS side to add
> that?

With this patch the first insn of the low loop overhead 'doloop_begin'
is expanded by 'doloop_modify' in loop-doloop.c.  The same does not
happen with SMS.  My understanding is that to have it working in that
case too the machine dependent reorg pass should add it later.  Am I
correct on this?

Thanks
  Andrea

Reply via email to