This is the mail archive of the gcc-patches@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: [PATCH] Add zero-overhead looping for xtensa backend


Thanks for the explanation. I think I am clear about what you are thinking now. 
That's an interesting question. I am not sure about reason why GCC's reload cannot handle a doloop_end insn.
I guess maybe the doloop_end pattern is special? I mean it's a branch insn in a parallel form.



> 
> On Thu, Oct 23, 2014 at 11:40 PM, Yangfei (Felix) <felix.yang@huawei.com>
> wrote:
> > 1. The original xtensa port never generates "loop" instruction at all.
> > 2. A port doesn't need to implement hwloop_pattern_reg hook if it has no
> zero-cost loop instruction.
> >
> > Is that clear?
> 
> We are talking in circles. I understand very well what goes on here.
> 
> My point is:
> 
> 1. Right now, today, GCC generates loops with branch instructions even when the
> trip count is spilled.
> 2. Branch instructions and loop instructions have identical register requirements.
> 
> Therefore:
> 
> 3. loop instructions should be generatable when the trip count is spilled.

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