public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dorit Nuzman <DORIT@il.ibm.com>
To: "Daniel Berlin" <dberlin@dberlin.org>
Cc: "Eric Botcazou" <ebotcazou@libertysurf.fr>,
	gcc@gcc.gnu.org,         "H. J. Lu" <hjl@lucon.org>,
	"Ian Lance Taylor" <iant@google.com>,
	        Ira Rosen <IRAR@il.ibm.com>,
	        "Vladimir N. Makarov" <vmakarov@redhat.com>
Subject: Re: Some thoughts about steerring commitee work
Date: Mon, 18 Jun 2007 10:59:00 -0000	[thread overview]
Message-ID: <OFDEFAE7BA.C1A03A58-ONC22572FD.006518C3-C22572FE.003B7C5D@il.ibm.com> (raw)
In-Reply-To: <4aca3dc20706170818w1d0fd01dj3d13c5646f66df80@mail.gmail.com>

"Daniel Berlin" <dberlin@dberlin.org> wrote on 17/06/2007 18:18:19:

...
>
> The whole purpose of SLP was to enable straight line code
> vectorization outside of loops.

I wouldn't say that's the whole purpose of SLP. I think the purpose and
beauty of SLP is that it's a simple algorithm that makes vectorization
(including vectorization of loops) easier by removing the need to prove all
kinds of properties about the loop as a whole, as well as the need to
transform loops to make them vectorizable. The fact that this scheme also
works out of loops is a neat property because it makes loop-vectorization a
special case of SLP. However, as far as I know (also from talking with the
SLP authors) pretty much all the opportunities they had found at the time
were in loops. Also, a lot of the SLP based work that followed it focused
on loops, and analysis to determine by how much to unroll loops in order to
accommodate SLP. So, in reality, as always, there are no free meals - you
often really have to compensate for the simple loop-ignorant SLP analysis
by doing a lot of loop-level analysis and transformations before hand.

While it cannot replace the classic SLP algorithm out-of-loops (e.g. for
completely unrolled loops), doing SLP in loops actually makes a lot of
sense, IMHO. It lets us leverage already existing infrastructure (the slp
patch recently committed to autovect-branch is really not big), and opens
up a lot of opportunities we couldn't vectorize before (partially unrolled
loops, partially vectorizable loops, accesses to consecutive struct fields,
and in the future also permutations), while taking advantage of the
loop-context when it helps you do things more efficiently. In any case,
we'll have to have a much better cost model before we start packing random
sequences of stmts out of loops.

> Simply because you can't find cases in SPEC2000 doesn't mean it's not
useful.

I don't know where you're taking this from. SPEC2000 is really not so
interesting vectorization wise, inside or outside loops.

dorit

  reply	other threads:[~2007-06-18 10:47 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-17 13:59 Ira Rosen
2007-06-17 16:11 ` Daniel Berlin
2007-06-18 10:59   ` Dorit Nuzman [this message]
2007-06-18 12:01     ` Daniel Berlin
2007-06-18 12:53       ` Dorit Nuzman
2007-06-18 17:57         ` Sebastian Pop
2007-06-18 18:10           ` Daniel Berlin
2007-06-18 20:54     ` Jagasia, Harsha
  -- strict thread matches above, loose matches on Subject: below --
2007-06-25 13:07 Mircea Namolaru
2007-06-18 17:16 Devang Patel
2007-06-16  2:03 J.C. Pizarro
2007-06-16  2:43 ` Ian Lance Taylor
2007-06-16  3:32 ` Richard Kenner
2007-06-16 19:08 ` Joe Buck
2007-06-14 10:37 Diego Novillo appointed middle-end maintainer and non-algorithmic GWP David Edelsohn
2007-06-15 12:49 ` Some thoughts about steerring commitee work Vladimir N. Makarov
2007-06-15 13:05   ` Richard Kenner
2007-06-15 13:58     ` Vladimir N. Makarov
2007-06-15 17:07   ` Joe Buck
2007-06-15 17:48     ` Vladimir N. Makarov
2007-06-15 17:56       ` Joe Buck
2007-09-09 20:24       ` Gerald Pfeifer
2007-06-15 18:43   ` Ian Lance Taylor
2007-06-15 19:28     ` Vladimir N. Makarov
2007-06-15 19:41       ` Ian Lance Taylor
2007-06-15 20:55         ` Vladimir N. Makarov
2007-06-15 21:08           ` Eric Botcazou
2007-06-15 21:13             ` Daniel Berlin
2007-06-15 21:43               ` Eric Botcazou
2007-06-15 22:16                 ` Vladimir N. Makarov
2007-06-15 23:04               ` Richard Kenner
2007-06-15 21:36             ` Vladimir N. Makarov
2007-06-16  0:51               ` Tobias Burnus
2007-06-17 14:33               ` Paolo Bonzini
2007-06-16  1:43             ` Ian Lance Taylor
2007-06-16  2:02               ` H. J. Lu
2007-06-16  2:19                 ` Andrew Pinski
2007-06-16 13:25                   ` H. J. Lu
2007-06-16  3:33                 ` Vladimir N. Makarov
2007-06-16 15:04                   ` H. J. Lu
2007-06-16 16:13                     ` Dorit Nuzman
2007-06-17  0:48                       ` H. J. Lu
2007-06-17  1:16                         ` Tim Prince
2007-06-17  8:30                           ` Dorit Nuzman
2007-06-16 15:53                   ` Dorit Nuzman
2007-06-16 16:46                     ` Daniel Berlin
2007-06-16 15:29                 ` Dorit Nuzman
2007-06-16 23:59                 ` Ryan Hill
2007-06-17 10:44                   ` Dorit Nuzman
2007-06-17 14:52                     ` Ryan Hill
2007-06-18 10:47                       ` Dorit Nuzman
2007-06-16  3:08               ` Vladimir N. Makarov
2007-06-16  3:36                 ` Richard Kenner
2007-06-16  1:54           ` Ian Lance Taylor
2007-06-16  3:28             ` Vladimir N. Makarov
2007-06-16  3:45               ` Richard Kenner
2007-06-16 15:20                 ` Joel Sherrill
2007-06-18 23:12                   ` Mark Mitchell
2007-06-19 21:01                     ` Toon Moene

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=OFDEFAE7BA.C1A03A58-ONC22572FD.006518C3-C22572FE.003B7C5D@il.ibm.com \
    --to=dorit@il.ibm.com \
    --cc=IRAR@il.ibm.com \
    --cc=dberlin@dberlin.org \
    --cc=ebotcazou@libertysurf.fr \
    --cc=gcc@gcc.gnu.org \
    --cc=hjl@lucon.org \
    --cc=iant@google.com \
    --cc=vmakarov@redhat.com \
    /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).