This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AVR: CC0 to CCmode conversion
- From: Denis Chertykov <denisc at overta dot ru>
- To: Paul Schlie <schlie at comcast dot net>
- Cc: Denis Chertykov <denisc at overta dot ru>, <gcc at gcc dot gnu dot org>, Jan-Benedict Glaw <jbglaw at lug-owl dot de>
- Date: 18 Mar 2005 23:41:50 +0300
- Subject: Re: AVR: CC0 to CCmode conversion
- References: <BE607258.9824%schlie@comcast.net>
Paul Schlie <schlie@comcast.net> writes:
> > Denis wrote:
> > I have converted the AVR port from CC0 to CCmode.
> > But may be I have converted the port in wrong way.
> > (It's because I was interested in *this* way.)
> >
> > I have used CCmode register and havn't added the
> > '(clobber (reg:QI CC_REGNUM))' to any insn that really clobber the
> > CC_REGNUM just because AVR is'n needed in scheduling.
> > I think that sequence of compare + cond-jump will exists in any
> > compiler pass.
> > The port was successfully tested without new regressions.
> > What do you (MAINTAINERS) think about this ?
>
> Interesting:
>
> - might you be able to post the resulting port files for review?
patch against cvs:
http://home.overta.ru/users/denisc/cc0-ccmode/cc0-ccmode.patch.gz
new port:
http://home.overta.ru/users/denisc/cc0-ccmode/avr.tgz
> - are you proposing that all conditional branches then required to be
> explicitly paired with a corresponding immediately previous compare
> instruction?
I founded that GCC isn't break cmp+jump sequences.
(My port havn't scheduling.)
> (if so, how is this a good thing observing that it's fairly typical
> for most conditional branches to be naturally based on comparisons
> against 0 resulting from the immediately preceding operation, which
> would have otherwise not required an explicit compare?)
I think that it's not good.
Denis.