public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "Andrew Pinski" <pinskia@gmail.com>
To: gcc-bugzilla@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org
Subject: Re: [Bug middle-end/31249] pseudo-optimzation with sincos/cexpi
Date: Mon, 19 Mar 2007 17:52:00 -0000	[thread overview]
Message-ID: <de8d50360703191052n7766a947sa57c22f9dbcc138d@mail.gmail.com> (raw)
In-Reply-To: <20070319124349.19635.qmail@sourceware.org>

On 19 Mar 2007 12:43:49 -0000, dominiq at lps dot ens dot fr
<gcc-bugzilla@gcc.gnu.org> wrote:
>
> Since sin() and cos() are non trivial functions, I am very surprised
> that a wrong API makes a 50% difference.

Well Here is how it can make a 50% difference (at least on the Cell,
the 970 has less of a restriction and only the dispatch group is
rejected).  Modern PowerPC processors like not to store stuff to the
stack and then load it again with in a number of cycles (cell is
around 50 cycles while the 970 is just within a dispatch group).
Transfering between the integer register set and the floating point
register set can only be done via memory so you will get a LHS or a
LRU reject (depending on what processor you are on).  This can either
cause a 50 cycle delay or reject of the dispatch group (the later can
cause multiple rejects).  The number of cycles used up by this issue
can add up with both sides of the function having this hazard.

Thanks,
Andrew Pinski


  reply	other threads:[~2007-03-19 17:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-17 21:11 [Bug middle-end/31249] New: " dominiq at lps dot ens dot fr
2007-03-18  9:50 ` [Bug middle-end/31249] " pinskia at gcc dot gnu dot org
2007-03-18 10:20 ` dominiq at lps dot ens dot fr
2007-03-19  9:28 ` dominiq at lps dot ens dot fr
2007-03-19 10:43 ` rguenth at gcc dot gnu dot org
2007-03-19 12:44 ` dominiq at lps dot ens dot fr
2007-03-19 17:52   ` Andrew Pinski [this message]
2007-03-19 17:53 ` pinskia at gmail dot com
2007-03-20 11:04 ` rguenth at gcc dot gnu dot org
2007-03-20 13:57 ` dominiq at lps dot ens dot fr
2007-03-20 14:03 ` dominiq at lps dot ens dot fr
2007-03-20 14:26 ` rguenth at gcc dot gnu dot org
2007-03-20 14:58 ` dominiq at lps dot ens dot fr
2007-03-20 15:07 ` rguenth at gcc dot gnu dot org
2007-03-20 16:09 ` dominiq at lps dot ens dot fr
2007-03-20 16:12 ` rguenth at gcc dot gnu dot org
2007-03-20 16:14 ` pinskia at gcc dot gnu dot org
2007-03-21 15:36 ` dominiq at lps dot ens dot fr
2007-03-21 15:57 ` rguenth at gcc dot gnu dot org
2007-03-21 16:09 ` dominiq at lps dot ens dot fr
2009-12-04 17:10 ` [Bug middle-end/31249] pseudo-optimization " dominiq at lps dot ens dot fr

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=de8d50360703191052n7766a947sa57c22f9dbcc138d@mail.gmail.com \
    --to=pinskia@gmail.com \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-bugzilla@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).