public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Aldy Hernandez <aldyh@cygnus.com>
To: "Joseph S. Myers" <jsm28@cam.ac.uk>
Cc: Aldy Hernandez <aldyh@redhat.com>, gcc@gcc.gnu.org
Subject: Re: front end changes for altivec
Date: Mon, 26 Nov 2001 16:39:00 -0000	[thread overview]
Message-ID: <20011126163925.55335@taarna.cygnus.com> (raw)
Message-ID: <20011126163900.7J8XKBGJmVeoWLXYRd4TX5Jau5K9ltkVdHf1SELyY98@z> (raw)
In-Reply-To: <Pine.LNX.4.33.0111262334290.29435-100000@kern.srcf.societies.cam.ac.uk>

> >     __vector keyword:
> >     
> >     	__vector int	=> mode(V4SI)
> >     	__vector char	=> mode(V16QI)
> >     	etc etc
> 
> Precise rules?  Is __vector a type specifier that can be added to the
> various lists of keyword type specifiers that can be used?  Which of the
> type specifiers listed in C99 6.7.2#2 can it be used with?  I take it it

i believe it can only be used with signed, unsigned, int, short, float,
and char.  you can't use it with typedefs or enums.

> can't be used with typedefs, structs or unions.  Can it be used with

but they can be used as fields in a struct.

> enums?  Why those particular sizes of vectors rather than others?  Will
> __vector on its own imply __vector int?

__vector must be first among type specifiers.  the specs are rather skekchy,
but it seems like you need to specifically mention int.  you can also
have pointers to these types (vector int *).

> 
> Given proper answers, thorough documentation and testcases and a design of
> an architecture-independent __vector keyword that allows for the variety
> of vector types on different architectures, this is comparatively harmless

ok, but how would we differentiate between the diff vector sizes.
altivec has "vector int" being V4SI, but vector int could mean V2SI in
mmx.  suggestion welcome while i think through this.

> - as long as there are no implicit conversions between these types and any
> other type in either direction and no operations can be applied to these

correct.  you can't convert between any of the vector types.  the following
just does a straight copy, no conversion (nop):

  vector short b;
  vector int a = (vector int) b;

> types other than passing to and returning from functions, and any explicit
> conversions available are properly documented and justified.
> 
> >     vector constant initializers:
> >     
> >     	__vector int foo = (5, 8, 3, 2);
> >     
> >     (yes, those are parentheses, not curlys :-()
> 
> Obviously a bad idea - (5, 8, 3, 2) has a defined meaning that does not
> depend on the context here.  This is worse than was suggested in July
> (which was (vector float) (1.0, 2.0, 3.0, 4.0)) though that still ought to
> be a compound literal instead.

oh sorry, it has to be casted and it has to have an extra set of ()'s so
it might not be too bad:

	vector int foo = ((vector int)(1,2,3,4));

this kinda sucks all together because i don't think gcc has vector constants
at all, do we?  we could pass it as a BLKmode or as a struct right?

this might not be too bad if we come up with a mechanism for all simd 
processors.  i'm still wondering how to manage the diff sizes.

does this make it clearer?

aldy

  reply	other threads:[~2001-11-26 16:39 UTC|newest]

Thread overview: 231+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-16  9:10 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011126163925.55335@taarna.cygnus.com \
    --to=aldyh@cygnus.com \
    --cc=aldyh@redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=jsm28@cam.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).