public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
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.


  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).