This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: vectorizing optimization


>>>>> "Andrea" == Andrea 'Fyre Wyzard' Bocci <fwyzard@inwind.it> writes:

 > Hi everybody.
 > It's been some times now, I've got this recurrent idea:
 > Implementing an automatic vectorizing optimization pass would (if it
 > worked) A Good Thing.
 > And, from my
 > this-is-the-first-time-I-look-at-something-as-complex-as-gcc point of
 > view, quite hard to do.
 > Anyway, as I hope to have much spare time by a week (I'm graduating at
 > the beginning of December), I'd like spend some of it learning the gcc
 > intenals and trying to implement it.
 > Now, my questions:
 > 1) I've seen that vector instructions support is being added to the
 > 3.1 branch. Is anybody already working on a vectorizing pass?
 > 2) At what level it would be better implemented ? tree or RTL ? In a
 > branch from the main tree, or in conjunction withe the AST branch ?
 > 3) In a machine independent fashion, or for a specific architecture
 > (eg., 386) ?

It's probably not incredibly hard to get a prototype going, but quite
time consuming to implement correctly in a target independent matter.

For the "Exploiting superword level parallelism with multimedia
instruction sets" paper, you'll need a loop unroller at the tree
level, something which we don't have.  You'll also have to deal with
alignment issues, which the paper briefly skims over.  ..just to name
a few of the issues.

You should do it at the tree level.

Aldy


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]