From: Richard Earnshaw <rearnsha@arm.com>
To: Denis Chertykov <chertykov@gmail.com>
Cc: Georg-Johann Lay <avr@gjlay.de>,
gcc-patches@gcc.gnu.org, Anatoly Sokolov <aesok@post.ru>,
Eric Weddington <eric.weddington@atmel.com>
Subject: Re: [Patch,AVR]: FIX ICE in optabs due to bad rotate expander.
Date: Tue, 19 Apr 2011 13:15:00 -0000 [thread overview]
Message-ID: <1303216094.17819.50.camel@e102346-lin.cambridge.arm.com> (raw)
In-Reply-To: <BANLkTikf-ssEepd-17W3pRqXRctjYgDkyQ@mail.gmail.com>
On Tue, 2011-04-19 at 15:17 +0400, Denis Chertykov wrote:
> 2011/4/19 Georg-Johann Lay <avr@gjlay.de>:
> > Denis Chertykov schrieb:
> >> 2011/4/19 Georg-Johann Lay <avr@gjlay.de>:
> >>> How can add, sub etc. be split? This would need an explicit
> >>> representation of carry.
> >>
> >> Yes.
> >>
> >> Look at http://gcc.gnu.org/ml/gcc/2005-03/msg00871.html
> >
> > Just skimmed the conversation. I thought about making AVR ISA's
> > effects on SREG explicit several times, but I always got stuck at some
> > point.
> >
> > - It's not only about scheduling (which does not happen for avr) but
> > also about moving instructions across jumps.
> >
> > - Many transformations would happen before reload, but at these stages
> > the effect on SREG is not yet known in many cases. There is
> > sophisticated instruction output for many patterns, and their impact
> > on SREG/CC is not known before reload.
> >
> > - Making CC explicit would render many single_set insns to PARALLELs
> > making the optimizers' live much harder or impossible. Imagine
> > instructions that could be combined. Explicit CC would clutter up
> > insns and combine won't try to transform the bulky patterns.
> >
> > - Backend would be much more complicated, harder to maintain and
> > understand. Almost any insn would have to be changed.
>
> Generally, I'm agree with you, the AVR port uses CC0 because of that.
Thumb-1 support in the ARM compiler has similar flag-setting properties
(ie most instructions set the condition codes). It doesn't use CC0. It
works because it doesn't model the condition code register at all, but
treats compare/branch sequences as indivisible operations.
R.
next prev parent reply other threads:[~2011-04-19 12:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-14 10:25 Georg-Johann Lay
2011-04-14 16:21 ` Denis Chertykov
2011-04-14 17:20 ` Georg-Johann Lay
2011-04-14 18:15 ` Denis Chertykov
2011-04-15 17:56 ` Georg-Johann Lay
2011-04-17 10:23 ` Denis Chertykov
2011-04-17 19:43 ` Denis Chertykov
2011-04-18 11:10 ` Georg-Johann Lay
2011-04-18 16:35 ` Denis Chertykov
2011-04-18 16:46 ` Denis Chertykov
2011-04-19 9:46 ` Georg-Johann Lay
2011-04-19 10:16 ` Denis Chertykov
2011-04-19 10:36 ` Georg-Johann Lay
2011-04-19 12:07 ` Denis Chertykov
2011-04-19 13:15 ` Richard Earnshaw [this message]
2011-04-20 17:44 ` Richard Henderson
2011-04-20 11:25 ` Georg-Johann Lay
2011-04-20 12:56 ` Denis Chertykov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1303216094.17819.50.camel@e102346-lin.cambridge.arm.com \
--to=rearnsha@arm.com \
--cc=aesok@post.ru \
--cc=avr@gjlay.de \
--cc=chertykov@gmail.com \
--cc=eric.weddington@atmel.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).