This is the mail archive of the 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]

SIMD support (was Re: [tree-ssa] Minor update for project web page- vectorization)

> This draft is currently linked through my old university account; I hope it
> would be possible to include it in the gcc web pages.
In relation to this I'm looking at working on extending the current SIMD
support offered by GCC and the provision of information on the hardware
to the rest of the compiler.

This breaks down (as I see it) to the following tasks.  Comments,
suggestions, correction, et al. greatfully appreciated.

1. Add support for SIMD instructions on some other architectures -
probabily starting with SPARC/VIS.  I'd also like to look at hppa, alpha
and MIPS althought I don't personally own suitable development
machines.  As I see it this can be done by just altering the relevant
machine descriptions, please let me know if this isn't the case.

2. Look at altering the current generic SIMD code to make the best use
of these instructions (IE breaking v4sf to 2 v2sf, etc.)  again this I
see as a comparitively minor change.

3. Look at adding some new standard RTL operations to handle some of the
more complex vector operations (IE sum and mac).  This is going to be a
harder change to make as it will require changes to all machine
definitions, the generic SIMD code and the RTL generation phase.  Also
it may require altering the semantics of the vector data types.

4. Try to build up a standard (IE architecture independant) set of
vector operations and functions.  Again I see this as a larger change as
it will require changes to several parts of the compiler.

5. Try to develop a system that can be used in other parts of the
compile (IE the autovectoriser) to work out the cost of various vector
operations (IE if hardware support is available).

All suggestions welcome.

 - Martin
<< .sig file removed for cleaning >>

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