This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A bit of vector extension documentation
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: A bit of vector extension documentation
- From: Daniel Berlin <dan at cgsoftware dot com>
- Date: Fri, 28 Sep 2001 11:48:31 -0400
- Cc: Daniel Egger <degger at fhm dot edu>, gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
On Friday, September 28, 2001, at 04:32 AM, Richard Henderson wrote:
> On Fri, Sep 28, 2001 at 10:00:05AM +0200, Daniel Egger wrote:
>> Although being able to hack OO languages like C++ and Java
>> I prefer C for my daily work and it's not acceptable for
>> some project to introduce C++ - especially for the sole purpose
>> of only being compilable with most recent GCC versions and
>> C++ frontend;
>
> Judicious local use of macros or static inline functions can
> rid you of some of the uglier "__builtin" parts.
>
>> ... though you clearly demonstrate what I would expect
>> to have in the gcc compilersuite somewhere in a templateized
>> version for general use.
>
> Yes, we should definitely distribute something of the sort.
>
>> For the future I'd expect to have something like a heuristic that
>> figures out that loops are trying to do some operations on MD that
>> is parallelizable and generate good SIMD code for it ...
>
> This is on the wish list. But even if someone were to start on
> it now, I can't see it being complete for at least a year. Some
> of the prerequisites are being worked on though -- see the AST
> branch.
>
A year, eh?
I actually have it half-done (I only did it for integer calculations),
and working (though not thoroughly tested).
It's based on the algorithms in the paper "Exploiting superword level
parallelism with multimedia instruction sets"
http://www.acm.org/pubs/citations/proceedings/pldi/349299/p145-larsen/
It's not tricky at all to do, it just requires proper dependence and
alignment analysis.
I'll happily hand it off to someone who wants to complete it.
>
> r~