public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* front end changes for altivec
@ 2001-11-16  9:10 Aldy Hernandez
  2001-11-16  9:25 ` Andreas Jaeger
                   ` (2 more replies)
  0 siblings, 3 replies; 231+ messages in thread
From: Aldy Hernandez @ 2001-11-16  9:10 UTC (permalink / raw)
  To: gcc

hi guys!

the altivec specs require changes to the gcc front end.  this has been
brought up before but no one has really commented.  now before everyone
start raising shields and going "yuck, no way", hear me out.

i would really hate to perpetually maintain a set of front end patches,
so i'm wondering if there's any sensible, least intrusive way to
implement these changes and have them incorporated into mainline gcc.

i am not a fan at all of these front end changes, but the specs are
already out there and a variety of other compilers already conform to
them.

the changes are very few and are outlined below:

    __vector keyword:
    
    	__vector int	=> mode(V4SI)
    	__vector char	=> mode(V16QI)
    	etc etc
    	
        (it could really be __altivec_vector for all i care because the
        specs allow part of the definitions to be in a separate include
        file (altivec.h?), so we could have
        
        #define __vector __altivec_vector
        
	   ...in a separate file.
    
    vector constant initializers:
    
    	__vector int foo = (5, 8, 3, 2);
    
    (yes, those are parentheses, not curlys :-()
    
i'd first like to discuss the feasability of incorporating these changes
with irritating the least amount of people, and having them accepted.

failing this, i have a few thoughts on extending the lexical analyzer to
include some sort of front end plugin support.-- but i'd like to discuss
the previous option first.

bomb away.

-- 
Aldy Hernandez			E-mail: aldyh@redhat.com
Professional Gypsy
Red Hat, Inc.

^ permalink raw reply	[flat|nested] 231+ messages in thread
* Re: front end changes for altivec
@ 2001-11-20 11:07 mike stump
  2001-11-27 19:00 ` mike stump
  0 siblings, 1 reply; 231+ messages in thread
From: mike stump @ 2001-11-20 11:07 UTC (permalink / raw)
  To: rth, shebs; +Cc: aldyh, gcc, jsm28

> Date: Tue, 27 Nov 2001 14:50:22 -0800
> From: Stan Shebs <shebs@apple.com>
> To: Richard Henderson <rth@redhat.com>

> You mean like how we don't have machine-dependent sizes for int
> and long int?

If in the end we have a portable thing that users can use in a fairly
simple and straight forward way, that allows them to switch from a mmx
machine to an sse machine, to an sse2 machine, to a ...  machine, we
win.  A good design is also forward compatible with strange hardware
that might come up in the future, or strange new operations...

On a good number of machines, almost all that matter, int is 32 bits,
long int is 32 bits.  I can't help but wonder if C would have been a
better standard, if they had just outright said, ints are 32 bits,
period.  It would have removed one major source of confusion and
increased (in a theoretical sense only) the portability of user code.

I can't help but think that code that does:

vector<int[4]> a, b;

int foo() { a += b; }

is intrinsically better than

vector<int> a, b;

int foo() { a += b; }

We can engineer gcc to have the first work on all machines, quickly on
some, `normal' speed on the rest.  C++ people, don't let the second
confuse you into thinking of std::vector, it is totally different.
Think gnu::gcc::vector.

In reading code like:

vector<int[32]> a, b;

int foo() { a += b; }

I can say, wow, someone has an arm core with a beefy vector unit
attached on an ASIC and I bet this puppy smokes.  I can also know that
I could compile it up as portable C code, and it would run on anything
GNU C supports, though, I might want a faster box in the end (bearing
in mind that sizeof(int)==4).

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

end of thread, other threads:[~2001-12-04 19:25 UTC | newest]

Thread overview: 231+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-16  9:10 front end changes for altivec Aldy Hernandez
2001-11-16  9:25 ` Andreas Jaeger
2001-11-26  2:55   ` Andreas Jaeger
2001-11-18  3:56 ` Joseph S. Myers
2001-11-18  4:24   ` Aldy Hernandez
2001-11-18  5:09     ` Joseph S. Myers
2001-11-18  6:10       ` Aldy Hernandez
2001-11-18  7:35         ` Richard Henderson
2001-11-26 19:50           ` Richard Henderson
2001-11-26 18:19         ` Aldy Hernandez
2001-11-18 12:41       ` Aldy Hernandez
2001-11-18 13:38         ` Andreas Jaeger
2001-11-18 15:32           ` Aldy Hernandez
2001-11-18 16:49             ` Bernd Schmidt
2001-11-18 17:06               ` Aldy Hernandez
2001-11-27  8:29                 ` Aldy Hernandez
2001-11-27  8:00               ` Bernd Schmidt
2001-11-27  7:55             ` Aldy Hernandez
2001-11-27  7:50           ` Andreas Jaeger
2001-11-19  8:02         ` Richard Henderson
2001-11-19  8:35           ` Aldy Hernandez
2001-11-19  9:19             ` Richard Henderson
2001-11-19 11:51               ` Stan Shebs
2001-11-19 13:41                 ` Richard Henderson
2001-11-19 16:13                   ` Aldy Hernandez
2001-11-19 17:51                     ` Richard Henderson
2001-11-19 19:15                       ` Aldy Hernandez
2001-11-19 20:50                         ` Richard Henderson
2001-11-27 17:14                           ` Richard Henderson
2001-11-27 17:10                         ` Aldy Hernandez
2001-11-21 13:08                       ` Alexandre Oliva
2001-11-21 13:12                         ` Daniel Berlin
2001-11-21 13:29                           ` Alexandre Oliva
2001-11-21 13:31                             ` Daniel Berlin
2001-11-21 13:41                               ` Jack Lloyd
2001-11-28 23:44                                 ` Jack Lloyd
2001-11-28 23:00                               ` Daniel Berlin
2001-11-28 22:34                             ` Alexandre Oliva
2001-11-21 13:33                           ` Richard Henderson
2001-11-21 13:49                             ` Daniel Berlin
2001-11-29  4:45                               ` Daniel Berlin
2001-11-28 23:16                             ` Richard Henderson
2001-11-28 22:21                           ` Daniel Berlin
2001-11-21 13:24                         ` Per Bothner
2001-11-28 22:25                           ` Per Bothner
2001-11-28 21:07                         ` Alexandre Oliva
2001-11-27 17:03                       ` Richard Henderson
2001-11-27 16:57                     ` Aldy Hernandez
2001-11-27 15:16                   ` Richard Henderson
2001-11-27 14:50                 ` Stan Shebs
2001-11-19 15:25               ` Aldy Hernandez
2001-11-19 17:46                 ` Richard Henderson
2001-11-19 21:39                   ` Aldy Hernandez
2001-11-20  1:05                     ` Dale Johannesen
2001-11-20  2:23                       ` Richard Henderson
2001-11-27 17:45                         ` Richard Henderson
2001-11-27 17:40                       ` Dale Johannesen
2001-11-20  2:46                     ` Richard Henderson
2001-11-20  2:56                       ` front end changes for altivec-- conclusion Aldy Hernandez
2001-11-27 18:00                         ` Aldy Hernandez
2001-11-27 17:50                       ` front end changes for altivec Richard Henderson
2001-11-27 17:24                     ` Aldy Hernandez
2001-11-27 17:02                   ` Richard Henderson
2001-11-27 16:50                 ` Aldy Hernandez
2001-11-27 14:01               ` Richard Henderson
2001-11-27 13:52             ` Aldy Hernandez
2001-11-27 13:40           ` Richard Henderson
2001-11-27  7:24         ` Aldy Hernandez
2001-11-26 17:04       ` Joseph S. Myers
2001-11-26 16:39     ` Aldy Hernandez
2001-11-18  6:40   ` Target-specific Front-Ends? (Was: front end changes for altivec) Ziemowit Laski
2001-11-18  6:33     ` Aldy Hernandez
2001-11-26 18:46       ` Aldy Hernandez
2001-11-18  8:19     ` Stan Shebs
2001-11-18  9:13       ` Ira Ruben
2001-11-18 12:26         ` Aldy Hernandez
2001-11-19  4:45           ` Ira Ruben
2001-11-19  6:04             ` Geoff Keating
2001-11-19  7:28               ` Ira Ruben
2001-11-19 12:04                 ` Phil Edwards
2001-11-27 14:58                   ` Phil Edwards
2001-11-27 12:47                 ` Ira Ruben
2001-11-27 12:10               ` Geoff Keating
2001-11-19  7:50             ` Aldy Hernandez
2001-11-27 13:12               ` Aldy Hernandez
2001-11-27 10:53             ` Target-specific Front-Ends? (Was: front end changes foraltivec) Ira Ruben
2001-11-19  6:26           ` Target-specific Front-Ends? (Was: front end changes for altivec) Ziemowit Laski
2001-11-19  7:53             ` Aldy Hernandez
2001-11-19  7:56               ` Ziemowit Laski
2001-11-27 13:21                 ` Ziemowit Laski
2001-11-27 13:13               ` Aldy Hernandez
2001-11-27 12:41             ` Ziemowit Laski
2001-11-27  6:46           ` Aldy Hernandez
2001-11-18 18:51         ` Per Bothner
2001-11-27  9:20           ` Per Bothner
2001-11-18 23:55         ` Stan Shebs
2001-11-19  4:18           ` Ira Ruben
2001-11-19  4:48             ` Per Bothner
2001-11-19  5:28               ` Daniel Berlin
2001-11-27 11:35                 ` Daniel Berlin
2001-11-19  6:26               ` Ziemowit Laski
2001-11-20  0:33                 ` Per Bothner
2001-11-20  3:16                   ` Ziemowit Laski
2001-11-20  6:33                     ` Per Bothner
2001-11-27 18:27                       ` Per Bothner
2001-11-20 11:05                     ` Stan Shebs
2001-11-27 18:35                       ` Stan Shebs
2001-11-27 18:06                     ` Ziemowit Laski
2001-11-20  3:19                   ` Stan Shebs
2001-11-20  5:25                     ` Joseph S. Myers
2001-11-27 18:24                       ` Joseph S. Myers
2001-11-20 11:27                     ` Per Bothner
2001-11-27 19:59                       ` Per Bothner
2001-11-20 11:37                     ` Mark Mitchell
2001-11-20 17:03                       ` Aldy Hernandez
2001-11-20 18:25                         ` Mark Mitchell
2001-11-28  9:45                           ` Target-specific Front-Ends? (Was: front end changes foraltivec) Mark Mitchell
2001-11-28  7:11                         ` Target-specific Front-Ends? (Was: front end changes for altivec) Aldy Hernandez
2001-11-20 19:20                       ` Stan Shebs
2001-11-20 20:24                         ` Mark Mitchell
2001-11-20 23:47                           ` Target-specific Front-Ends? (Was: front end changes for Joe Buck
2001-11-28 12:43                             ` Joe Buck
2001-11-28 11:31                           ` Target-specific Front-Ends? (Was: front end changes foraltivec) Mark Mitchell
2001-11-20 20:27                         ` Target-specific Front-Ends? (Was: front end changes for altivec) Dale Johannesen
2001-11-20 20:38                           ` Stan Shebs
2001-11-21  4:47                             ` Syd Polk
2001-11-21 12:31                               ` Tim Hollebeek
2001-11-28 16:15                                 ` Tim Hollebeek
2001-11-28 14:12                               ` Syd Polk
2001-11-28 11:55                             ` Stan Shebs
2001-11-28 11:44                           ` Dale Johannesen
2001-11-28 11:19                         ` Stan Shebs
2001-11-27 20:40                       ` Target-specific Front-Ends? (Was: front end changes foraltivec) Mark Mitchell
2001-11-27 18:09                     ` Target-specific Front-Ends? (Was: front end changes for altivec) Stan Shebs
2001-11-27 17:35                   ` Per Bothner
2001-11-27 12:34                 ` Ziemowit Laski
2001-11-27 11:16               ` Per Bothner
2001-11-27 10:47             ` Target-specific Front-Ends? (Was: front end changes foraltivec) Ira Ruben
2001-11-19  6:19           ` Target-specific Front-Ends? (Was: front end changes for altivec) Ziemowit Laski
2001-11-19  7:13             ` Joseph S. Myers
2001-11-19  7:34               ` Stan Shebs
2001-11-19  8:01                 ` Joseph S. Myers
2001-11-19  9:18                   ` Aldy Hernandez
2001-11-19 11:23                     ` Dale Johannesen
2001-11-27 14:46                       ` Dale Johannesen
2001-11-27 13:56                     ` Aldy Hernandez
2001-11-27 13:27                   ` Joseph S. Myers
2001-11-27 12:57                 ` Stan Shebs
2001-11-19  7:56               ` Ziemowit Laski
2001-11-19  8:31                 ` Richard Henderson
2001-11-27 13:44                   ` Richard Henderson
2001-11-19 10:23                 ` Mark Mitchell
2001-11-19 11:55                   ` Target-specific Front-Ends? (Was: front end changes for Joe Buck
2001-11-19 14:03                     ` Mark Mitchell
2001-11-19 14:46                       ` Joe Buck
2001-11-27 16:13                         ` Joe Buck
2001-11-20  0:56                       ` Devang Patel
2001-11-27 17:37                         ` Devang Patel
2001-11-20  5:17                       ` Aldy Hernandez
2001-11-20 11:15                         ` Ziemowit Laski
2001-11-20 17:09                           ` Aldy Hernandez
2001-11-20 17:26                             ` Joe Buck
2001-11-20 17:57                               ` Aldy Hernandez
2001-11-20 19:16                                 ` Neil Booth
2001-11-20 21:10                                   ` Input Stream Rewriting (Was: Target-specific Front-Ends?) Ziemowit Laski
2001-11-21  0:24                                     ` Neil Booth
2001-11-21  1:05                                       ` Ziemowit Laski
2001-11-21  4:38                                         ` Neil Booth
2001-11-28 13:57                                           ` Neil Booth
2001-11-28 13:25                                         ` Ziemowit Laski
2001-11-28 12:45                                       ` Neil Booth
2001-11-28 12:01                                     ` Ziemowit Laski
2001-11-28 11:06                                   ` Target-specific Front-Ends? (Was: front end changes for Neil Booth
2001-11-28  9:16                                 ` Aldy Hernandez
2001-11-28  9:11                               ` Joe Buck
2001-11-20 20:53                             ` Ziemowit Laski
2001-11-20 22:08                               ` Joe Buck
2001-11-28 12:26                                 ` Joe Buck
2001-11-20 23:37                               ` Per Bothner
2001-11-21  3:14                                 ` Ziemowit Laski
2001-11-21 12:32                                   ` David Edelsohn
2001-11-21 12:44                                     ` Ziemowit Laski
2001-11-28 18:40                                       ` Ziemowit Laski
2001-11-28 18:29                                     ` David Edelsohn
2001-11-28 13:36                                   ` Ziemowit Laski
2001-11-28 12:36                                 ` Per Bothner
2001-11-28 11:55                               ` Ziemowit Laski
2001-11-28  7:33                             ` Aldy Hernandez
2001-11-27 19:40                           ` Ziemowit Laski
2001-11-20 19:17                         ` Devang Patel
2001-11-28 11:09                           ` Devang Patel
2001-11-27 18:21                         ` Aldy Hernandez
2001-11-27 15:32                       ` Mark Mitchell
2001-12-04  0:14                       ` Alex Rosenberg
2001-12-04  0:33                         ` Mark Mitchell
2001-12-04 11:25                         ` Aldy Hernandez
2001-11-27 14:53                     ` Joe Buck
2001-11-27 14:36                   ` Target-specific Front-Ends? (Was: front end changes foraltivec) Mark Mitchell
2001-11-27 13:19                 ` Target-specific Front-Ends? (Was: front end changes for altivec) Ziemowit Laski
2001-11-27 12:44               ` Joseph S. Myers
2001-11-19  8:34             ` Aldy Hernandez
2001-11-19 12:54               ` Stan Shebs
2001-11-19 15:41                 ` Aldy Hernandez
2001-11-19 19:08                   ` Dale Johannesen
2001-11-19 19:15                     ` Aldy Hernandez
2001-11-27 17:10                       ` Aldy Hernandez
2001-11-27 17:06                     ` Dale Johannesen
2001-11-27 16:56                   ` Aldy Hernandez
2001-11-27 15:06                 ` Stan Shebs
2001-11-27 13:44               ` Aldy Hernandez
2001-11-19  9:26             ` Bernd Schmidt
2001-11-19  9:53               ` Ziemowit Laski
2001-11-19 10:59                 ` Bernd Schmidt
2001-11-19 14:12                   ` Ziemowit Laski
2001-11-27 15:37                     ` Ziemowit Laski
2001-11-27 14:41                   ` Bernd Schmidt
2001-11-27 14:30                 ` Ziemowit Laski
2001-11-27 14:13               ` Bernd Schmidt
2001-11-19  9:40             ` Stan Shebs
2001-11-19 11:27               ` Ziemowit Laski
2001-11-27 14:50                 ` Ziemowit Laski
2001-11-27 14:20               ` Stan Shebs
2001-11-27 12:24             ` Ziemowit Laski
2001-11-27  9:48           ` Stan Shebs
2001-11-26 23:45         ` Target-specific Front-Ends? (Was: front end changes foraltivec) Ira Ruben
2001-11-26 22:22       ` Target-specific Front-Ends? (Was: front end changes for altivec) Stan Shebs
2001-11-26 18:47     ` Ziemowit Laski
2001-11-26 15:45   ` front end changes for altivec Joseph S. Myers
2001-11-26  2:51 ` Aldy Hernandez
2001-11-20 11:07 mike stump
2001-11-27 19:00 ` mike stump

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).