Re: MMX/3Dnow!/SSE/SSE2 compilers

Andrew Richards <a.richards@codeplay.com>
1 May 2002 23:20:09 -0400

          From comp.compilers

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]
| List of all articles for this month |

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


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.