public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: GNU Fortran 90?
@ 2000-11-15 22:25 Mike Stump
  2000-11-16  2:33 ` Bernd Schmidt
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Stump @ 2000-11-15 22:25 UTC (permalink / raw)
  To: jfm2; +Cc: gcc

> From: jfm2@club-internet.fr
> To: dje@watson.ibm.com
> Cc: toon@moene.indiv.nluug.nl, shebs@apple.com, gcc@gcc.gnu.org
> Date: Wed, 15 Nov 2000 23:34:20 +0100 (CET)

> > 	All of the work may need to be completely restructured to fit into
> > the MMX/SSE vector support that has been added to GCC for x86 instead of
> > having multiple user-level interfaces to the same functionality.

> I don't remember seeing anything in the doc about MMX/SSE in gcc.

:-)  Feel free to write some!

> Could I have some details?

Sure, gcc now implements the annex in the Intel documentation that
describes the C binding layer for SSE.  See their web site for
details, potential applications, sample code and so on.

> Like minimal version,

cvs, top of tree, or, if you prefer 3.0.  :-)

> parms to use and URLs to code who would benefit from use of MX/SSE.

:-) Use your imagination.


I did miss Bernd sneaking it into the tree.  :-(  Congradulation Bernd.

Now, if someone wants to do up an autovectorizing pass to gcc, we'd be
set!  Torbjorn?  Doing anything important?  Think of it, 4 divmods at
once.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 22:25 GNU Fortran 90? Mike Stump
@ 2000-11-16  2:33 ` Bernd Schmidt
  0 siblings, 0 replies; 14+ messages in thread
From: Bernd Schmidt @ 2000-11-16  2:33 UTC (permalink / raw)
  To: Mike Stump; +Cc: jfm2, gcc

On Wed, 15 Nov 2000, Mike Stump wrote:

> Sure, gcc now implements the annex in the Intel documentation that
> describes the C binding layer for SSE.

Not entirely yet.  We're still missing some stack alignment bits, and
there's an unresolved problem with emitting debug information.


Bernd

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-17 21:13           ` Zack Weinberg
@ 2000-11-18  7:36             ` Toon Moene
  0 siblings, 0 replies; 14+ messages in thread
From: Toon Moene @ 2000-11-18  7:36 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Stan Shebs, gcc

Zack Weinberg wrote:

> On Thu, Nov 16, 2000 at 09:24:52PM +0100, Toon Moene wrote:

> > So from my point of view it could well be that automatic vectorisation
> > is added to GCC before g77 is removed.  In that case g77 would benefit
> > from this as well - although not as much as I would want, because RTH
> > recently discovered that John Carr's alias analysis just doesn't work
> > perfectly for g77 (expletives elided).
> 
> The thing is, I got to listen to a discussion on how we could
> implement autovectorization, not so long ago, and the consensus was we
> don't want to do it in RTL.  Instead, we want to reimplement general
> loop optimization - including unrolling and vectorization - at the
> tree level.  That of course requires we have function-at-a-time mode
> in every front end that uses the new optimizer.  And I don't think
> anyone wants to implement function-at-a-time mode in g77; the effort
> would be far better spent finishing g95 sooner.

Oh - yes - in this respect I fully agree with you.  If we don't do
autovectorisation in RTL, it'll never benefit g77 for the reason you
mention.

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-16 13:29         ` Toon Moene
  2000-11-16 13:47           ` Geoff Keating
@ 2000-11-17 21:13           ` Zack Weinberg
  2000-11-18  7:36             ` Toon Moene
  1 sibling, 1 reply; 14+ messages in thread
From: Zack Weinberg @ 2000-11-17 21:13 UTC (permalink / raw)
  To: Toon Moene; +Cc: Stan Shebs, gcc

On Thu, Nov 16, 2000 at 09:24:52PM +0100, Toon Moene wrote:
> Zack Weinberg wrote:
> 
> > I hope you are not still intending to keep g77 around after g95 is
> > complete.
> 
> No, but the operative word here is "complete".  g95 is *not* "complete
> as a replacement for g77* IMHO, until it implements all language
> features that g77 now offers.
...

> So from my point of view it could well be that automatic vectorisation
> is added to GCC before g77 is removed.  In that case g77 would benefit
> from this as well - although not as much as I would want, because RTH
> recently discovered that John Carr's alias analysis just doesn't work
> perfectly for g77 (expletives elided).

The thing is, I got to listen to a discussion on how we could
implement autovectorization, not so long ago, and the consensus was we
don't want to do it in RTL.  Instead, we want to reimplement general
loop optimization - including unrolling and vectorization - at the
tree level.  That of course requires we have function-at-a-time mode
in every front end that uses the new optimizer.  And I don't think
anyone wants to implement function-at-a-time mode in g77; the effort
would be far better spent finishing g95 sooner.

We've got good or at least decent low level optimizers, I think the
trend is toward more high level stuff, and RTL is too close to the
bare iron to do that with.

I flipped through some of the documentation for SGI's compilers.
WHIRL looks quite nifty.  Alas, right now what little time I have for
gcc needs to be spent on the garbage collector.

zw

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-16 13:29         ` Toon Moene
@ 2000-11-16 13:47           ` Geoff Keating
  2000-11-17 21:13           ` Zack Weinberg
  1 sibling, 0 replies; 14+ messages in thread
From: Geoff Keating @ 2000-11-16 13:47 UTC (permalink / raw)
  To: Toon Moene; +Cc: gcc

Toon Moene <toon@moene.indiv.nluug.nl> writes:

> So from my point of view it could well be that automatic vectorisation
> is added to GCC before g77 is removed.  In that case g77 would benefit
> from this as well...

More to the point, automatic vectorisation will benefit Fortran 77
code (and F90/F95 code that doesn't use the vectorization primitives),
no matter which frontend it's compiled with.

-- 
- Geoffrey Keating <geoffk@geoffk.org>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 15:42       ` Zack Weinberg
@ 2000-11-16 13:29         ` Toon Moene
  2000-11-16 13:47           ` Geoff Keating
  2000-11-17 21:13           ` Zack Weinberg
  0 siblings, 2 replies; 14+ messages in thread
From: Toon Moene @ 2000-11-16 13:29 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Stan Shebs, gcc

Zack Weinberg wrote:

> On Wed, Nov 15, 2000 at 08:22:45PM +0100, Toon Moene wrote:

> > This means that to be able to use AltiVec, we have to build a
> > vectorising pass into the middle-end of GCC (and then g77 code would
> > profit as well).

> I hope you are not still intending to keep g77 around after g95 is
> complete.

No, but the operative word here is "complete".  g95 is *not* "complete
as a replacement for g77* IMHO, until it implements all language
features that g77 now offers.  Note that this at least means:

1. Completing g95 parser.

2. Coupling parser internal representation to GCC trees.

3. Writing run time library.

4. Adding all that's in g77 but not in Fortran 95.

Especially step 3. could take a long time (i.e. O(1 year)).  My estimate
for a vectorisation pass would be "several months" for someone who's
well versed in loop.[ch] and unroll.c (vectorisation is effectively a
form of loop unrolling coupled with adequate alias analysis).

So from my point of view it could well be that automatic vectorisation
is added to GCC before g77 is removed.  In that case g77 would benefit
from this as well - although not as much as I would want, because RTH
recently discovered that John Carr's alias analysis just doesn't work
perfectly for g77 (expletives elided).

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 12:40     ` Toon Moene
  2000-11-15 13:22       ` David Edelsohn
@ 2000-11-15 15:42       ` Zack Weinberg
  2000-11-16 13:29         ` Toon Moene
  1 sibling, 1 reply; 14+ messages in thread
From: Zack Weinberg @ 2000-11-15 15:42 UTC (permalink / raw)
  To: Toon Moene; +Cc: Stan Shebs, gcc

On Wed, Nov 15, 2000 at 08:22:45PM +0100, Toon Moene wrote:
> 
> This means that to be able to use AltiVec, we have to build a
> vectorising pass into the middle-end of GCC (and then g77 code would
> profit as well).

I hope you are not still intending to keep g77 around after g95 is
complete.

zw

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 13:22       ` David Edelsohn
  2000-11-15 14:23         ` jfm2
@ 2000-11-15 14:28         ` Stan Shebs
  1 sibling, 0 replies; 14+ messages in thread
From: Stan Shebs @ 2000-11-15 14:28 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Toon Moene, gcc

David Edelsohn wrote:
> 
>         Motorola originally developed AltiVec support for GCC and Apple
> has carried it forward.  I believe that there have been problems getting
> Motorola to assign the original work to the FSF so that Apple can
> contribute the current development.

As far as I can tell, Motorola has dropped any effort to assign copyright.

>         All of the work may need to be completely restructured to fit into
> the MMX/SSE vector support that has been added to GCC for x86 instead of
> having multiple user-level interfaces to the same functionality.

Yes, the AltiVec and MMX/SSE bits do overlap in the front- and midde-ends.
This will ease the irritation of the shouldn't-be-necessary rewrite that I
suspect is in my future...

Stan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 13:22       ` David Edelsohn
@ 2000-11-15 14:23         ` jfm2
  2000-11-15 14:28         ` Stan Shebs
  1 sibling, 0 replies; 14+ messages in thread
From: jfm2 @ 2000-11-15 14:23 UTC (permalink / raw)
  To: dje; +Cc: toon, shebs, gcc

> 
> 	All of the work may need to be completely restructured to fit into
> the MMX/SSE vector support that has been added to GCC for x86 instead of
> having multiple user-level interfaces to the same functionality.
> 


I don't remember seeing anything in the doc about MMX/SSE in gcc.
Could I have some details?  Like minimal version, parms to use and
URLs to code who woul benefit from use of MX/SSE.

Also is there support for 3DNow instructions?

-- 
			Jean Francois Martinez

Project Independence: Linux for the Masses
http://www.independence.seul.org

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-15 12:40     ` Toon Moene
@ 2000-11-15 13:22       ` David Edelsohn
  2000-11-15 14:23         ` jfm2
  2000-11-15 14:28         ` Stan Shebs
  2000-11-15 15:42       ` Zack Weinberg
  1 sibling, 2 replies; 14+ messages in thread
From: David Edelsohn @ 2000-11-15 13:22 UTC (permalink / raw)
  To: Toon Moene; +Cc: Stan Shebs, gcc

>>>>> Toon Moene writes:

Toon> 1) Despite extensive Web searches, I haven't been able to hit a
Toon> instruction list/description of AltiVec.  Do you know of a
Toon> pubicly available one ?  TIA.

	http://www.altivec.org/

	Motorola originally developed AltiVec support for GCC and Apple
has carried it forward.  I believe that there have been problems getting
Motorola to assign the original work to the FSF so that Apple can
contribute the current development.

	All of the work may need to be completely restructured to fit into
the MMX/SSE vector support that has been added to GCC for x86 instead of
having multiple user-level interfaces to the same functionality.

David

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-14 18:22   ` Stan Shebs
@ 2000-11-15 12:40     ` Toon Moene
  2000-11-15 13:22       ` David Edelsohn
  2000-11-15 15:42       ` Zack Weinberg
  0 siblings, 2 replies; 14+ messages in thread
From: Toon Moene @ 2000-11-15 12:40 UTC (permalink / raw)
  To: Stan Shebs; +Cc: gcc

Stan Shebs wrote:

> Apparently there are a whole bunch of scientists very jazzed about
> the idea of running OS X on G4s (so sayeth marketing weenies), so
> it's possible that Apple will develop an official interest in making
> sure G95 is available...

I feel we have to tread carefully here ... Do these people assume that
- because Fortran 9x supports array syntax - they can automagically use
the AltiVec instructions of the G4 ?  1)

Note that Andy Vaught decided months ago to decompose all array
arithmetic into its consituent loops in g95 because that makes code
generation much easier.

This means that to be able to use AltiVec, we have to build a
vectorising pass into the middle-end of GCC (and then g77 code would
profit as well).

Hope this helps,

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)

1) Despite extensive Web searches, I haven't been able to hit a
   instruction list/description of AltiVec.  Do you know of a
   pubicly available one ?  TIA.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-14 14:36 ` Toon Moene
@ 2000-11-14 18:22   ` Stan Shebs
  2000-11-15 12:40     ` Toon Moene
  0 siblings, 1 reply; 14+ messages in thread
From: Stan Shebs @ 2000-11-14 18:22 UTC (permalink / raw)
  To: Toon Moene; +Cc: gcc

Toon Moene wrote:
> 
> AFAIK GNU Fortran 95 is the only thing going in the direction of a GNU
> Fortran 9x compiler (on GNU/Linux).  g95 is in the stage of finalizing
> the parser.  The next stage is converting the internal data structures
> to GCC trees, which would necessitate bringing it into our CVS
> repository (or else make things very difficult for the developers ;-)
>
> There's no sight of a run-time library for this compiler, though.

Apparently there are a whole bunch of scientists very jazzed about
the idea of running OS X on G4s (so sayeth marketing weenies), so
it's possible that Apple will develop an official interest in making
sure G95 is available...

> Are you sure the Apple guys aren't thinking of the (GPL'd) SGI compiler
> (which only works on Itania) ?

Quite possibly somebody bragged about porting it to GNU/Linux over
the weekend or something, and that's how the story got started.  I've
challenged our marketeers to come up with the name of an actual person
running an actual F90 program on Linux, we'll see what they find.

Stan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: GNU Fortran 90?
  2000-11-14 14:01 Stan Shebs
@ 2000-11-14 14:36 ` Toon Moene
  2000-11-14 18:22   ` Stan Shebs
  0 siblings, 1 reply; 14+ messages in thread
From: Toon Moene @ 2000-11-14 14:36 UTC (permalink / raw)
  To: Stan Shebs; +Cc: gcc

Stan Shebs wrote:
> 
> Is there a GNU Fortran 90?  I've never heard of one, the G95 project
> on sourceforge is the closest thing I know of, but a number of people
> at Apple seem to be convinced that there is such a thing on GNU/Linux,
> and want to know when we're going to get it on Mac OS X.
> 
> If anybody can say definitively that there is no such thing, or
> shed some light on how this apparent urban legend got started,
> I would appreciate it very much.

AFAIK GNU Fortran 95 is the only thing going in the direction of a GNU
Fortran 9x compiler (on GNU/Linux).  g95 is in the stage of finalizing
the parser.  The next stage is converting the internal data structures
to GCC trees, which would necessitate bringing it into our CVS
repository (or else make things very difficult for the developers ;-)

There's no sight of a run-time library for this compiler, though.

Are you sure the Apple guys aren't thinking of the (GPL'd) SGI compiler
(which only works on Itania) ?

Cheers,

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* GNU Fortran 90?
@ 2000-11-14 14:01 Stan Shebs
  2000-11-14 14:36 ` Toon Moene
  0 siblings, 1 reply; 14+ messages in thread
From: Stan Shebs @ 2000-11-14 14:01 UTC (permalink / raw)
  To: gcc

Is there a GNU Fortran 90?  I've never heard of one, the G95 project
on sourceforge is the closest thing I know of, but a number of people
at Apple seem to be convinced that there is such a thing on GNU/Linux,
and want to know when we're going to get it on Mac OS X.

If anybody can say definitively that there is no such thing, or
shed some light on how this apparent urban legend got started,
I would appreciate it very much.

Stan

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2000-11-18  7:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-15 22:25 GNU Fortran 90? Mike Stump
2000-11-16  2:33 ` Bernd Schmidt
  -- strict thread matches above, loose matches on Subject: below --
2000-11-14 14:01 Stan Shebs
2000-11-14 14:36 ` Toon Moene
2000-11-14 18:22   ` Stan Shebs
2000-11-15 12:40     ` Toon Moene
2000-11-15 13:22       ` David Edelsohn
2000-11-15 14:23         ` jfm2
2000-11-15 14:28         ` Stan Shebs
2000-11-15 15:42       ` Zack Weinberg
2000-11-16 13:29         ` Toon Moene
2000-11-16 13:47           ` Geoff Keating
2000-11-17 21:13           ` Zack Weinberg
2000-11-18  7:36             ` Toon Moene

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).