Related articles |
---|
MMX/3Dnow!/SSE/SSE2 compilers curtisdisa@mindspring.com (Curtis and Disa) (2002-04-21) |
Re: MMX/3Dnow!/SSE/SSE2 compilers a.richards@codeplay.com (Andrew Richards) (2002-04-23) |
Re: MMX/3Dnow!/SSE/SSE2 compilers a.richards@codeplay.com (Andrew Richards) (2002-04-24) |
Re: MMX/3Dnow!/SSE/SSE2 compilers snowwolf@diku.dk (Allan Sandfeld Jensen) (2002-04-24) |
Re: MMX/3Dnow!/SSE/SSE2 compilers dave@icmfp.com (2002-04-29) |
Re: MMX/3Dnow!/SSE/SSE2 compilers jgd@cix.co.uk (2002-04-29) |
Re: MMX/3Dnow!/SSE/SSE2 compilers jacob@jacob.remcomp.fr (jacob navia) (2002-05-01) |
Re: MMX/3Dnow!/SSE/SSE2 compilers a.richards@codeplay.com (Andrew Richards) (2002-05-01) |
Re: MMX/3Dnow!/SSE/SSE2 compilers cparpart@surakware.net (Christian Parpart) (2002-05-03) |
Re: MMX/3Dnow!/SSE/SSE2 compilers marcov@toad.stack.nl (Marco van de Voort) (2002-05-04) |
Re: MMX/3Dnow!/SSE/SSE2 compilers a.richards@codeplay.com (Andrew Richards) (2002-05-08) |
Re: MMX/3Dnow!/SSE/SSE2 compilers snowwolf@diku.dk (Allan Sandfeld Jensen) (2002-05-12) |
Re: MMX/3Dnow!/SSE/SSE2 compilers jacob@jacob.remcomp.fr (jacob navia) (2002-05-23) |
Re: MMX/3Dnow!/SSE/SSE2 compilers jgd@cix.co.uk (2002-05-23) |
[2 later articles] |
From: | Andrew Richards <a.richards@codeplay.com> |
Newsgroups: | comp.compilers |
Date: | 1 May 2002 23:20:09 -0400 |
Organization: | blueyonder (post doesn't reflect views of blueyonder) |
References: | 02-04-126 02-04-161 |
Keywords: | optimize, arithmetic |
Posted-Date: | 01 May 2002 23:20:08 EDT |
John Dallman wrote:
> Quite a bit of the library's work is with 3-D points, consisting of
>
> typedef struct { double x, y, z; } vector;
>
> Intel's compiler currently doesn't try to turn:
>
> vector a, b; /* initialise them */
> vector c;
> c.x = a.x + b.x;
> c.y = a.y + b.y;
> c.x = a.z + b.z;
>
> Into two paired loads, a paired add, a paired store, and the same
> unpaired. I believe that it only tries to use paired double-precision
> operations (or quadruple single-precision operations) if it's
> unrolling a loop.
This is the kind of thing that VectorC does, because it is designed
for graphics and games.
Scientific programs tend to use large arrays and so this is where most
vectorization research has been and why we developed VectorC (because
games and graphics use small 3 or 4-dimensional vectors).
--
Andrew Richards
Codeplay
Tel: +44 (0)20 7482 3382
140-142 Kentish Town Rd, London, NW1 9QB
http://www.codeplay.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.