Let's kill c-iterate.c

Marc Espie espie@quatramaran.ens.fr
Thu Sep 30 23:58:00 GMT 1999


In article < 37D6CE7F.CE8EDEBB@moene.indiv.nluug.nl > you write:
>Jim Wilson wrote:

>> Iterators provide a simple vector notation.  If we had vector support in
>> the compiler, then this would be useful.


>> Other languages have added vector notations, in particular Fortran 95 (?),
>> so the concept has value.

>In fact, vector notation was already in Fortran 90.  It's interesting to
>see that gcc contained some infrastructure for dealing with it.  I
>wasn't aware of this aspect of c-iterate.c.

>When we (my previous employer) bought a Cray YMP in 1990 (i.e. 2 years
>before the Fortran 90 Standard became official), the Cray Fortran
>manuals explained how the compiler would treat the (at that time an
>extension) vector notation by first converting all of it in ordinary do
>loops, and then use the algorithms designed for the Fortran 77 compiler
>to turn those do loops into (loops over) vector instructions ...

>So they were quite sceptical about the effectiveness of direct vector
>notation for efficient code generation (of course, the expressive power
>of vector notation is definitely useful).

There is some on-going work in C++ numerical groups to provide similar
capabilities...   all sorts of new techniques have flowered recently,
some of which you will see in Gaby's valarray implementation.

http://extreme.indiana.edu/~tveldhui/papers/DrDobbs2/drdobbs2.html
is interesting information in that regard, as is Todd's blitz++ project.

Those were what pushed me towards egcs in the first place, as those stunts
do need quite extensive template support...



More information about the Gcc-patches mailing list