public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Edelsohn <dje@watson.ibm.com>
To: Paolo Bonzini <bonzini@gnu.org>
Cc: gcc@gcc.gnu.org, lorenz@us.ibm.com
Subject: Re: generic vectors: how should they work?
Date: Wed, 01 Sep 2004 14:49:00 -0000	[thread overview]
Message-ID: <200409011449.i81EnMO30082@makai.watson.ibm.com> (raw)
In-Reply-To: Message from Paolo Bonzini <bonzini@gnu.org>  of "Wed, 01 Sep 2004 09:15:09 +0200." <413576FD.2060209@gnu.org>

>>>>> Paolo Bonzini writes:

>> I think part of the problem is that the term "generic vector" is
>> being used for both arbitrary size vectors and synthetic (portable?) SIMD
>> modes.

Paolo> There are *no* synthetic SIMD modes.  SIMD modes are not used unless 
Paolo> supported by the hardware, and that's the change that prompted my famous
Paolo> patch.

	Either we are not using the term "synthetic SIMD mode" for the
same purpose or that comment is incorrect.

	gcc.dg/compat/vector-2 is failing on PowerPC because the port
cannot handle v16sf mode.  It does not exist in any PowerPC hardware, with
or without Altivec.  That is what I refer to as a synthetic SIMD mode.

	The lack of distinction between synthetic SIMD modes, such as
v16sf, and generic vectors is one of my fundamental concerns about your
current work.  Generic, arbitrary size vectors probably should be 1-D
arrays passed by reference, but that does not mean that all synthetic SIMD
modes should be passed by reference.

	There are two separate issues for the argument passing aspect of
your work:

1) How should synthetic SIMD modes be passed?

2) When should synthetic SIMD modes be converted to generic vectors with a
count?

	In other words, v16sf could be four Altivec v4sf vectors grouped
together, like "long long int" grouping two 32-bit GPRs or could be a 1-D
array.  What is required, and what I expect, is some common controllable
ability to convert synthetic SIMD modes to generic vectors before the back
end has to manipulate them.

	I believe that it is a fundamental interface design flaw for the
backend to have to deal with arbitrary synthetic vector modes in the
argument passing target hooks.  The backend should have explicit control
over generic vectors, be able to specify what synthetic SIMD modes it will
accept, and have the generic vector code convert them to 1-D arrays that
the port can pass by reference using it's default ABI.

David

  reply	other threads:[~2004-09-01 14:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-01  0:35 Janis Johnson
2004-09-01  2:11 ` David Edelsohn
2004-09-01  7:11   ` Paolo Bonzini
2004-09-01 14:49     ` David Edelsohn [this message]
2004-09-01 15:13       ` Paolo Bonzini
2004-09-01 15:35         ` Giovanni Bajo
2004-09-01 16:00           ` Paolo Bonzini
2004-09-01 19:52         ` Richard Henderson
2004-09-01 22:08         ` David Edelsohn
2004-09-02 13:04           ` Paolo Bonzini
2004-09-02 14:06             ` David Edelsohn
2004-09-02 14:27               ` Paolo Bonzini
2004-09-02 18:33             ` Janis Johnson
2004-09-01 23:47       ` Janis Johnson
2004-09-02 17:46         ` Janis Johnson
2004-09-01 20:12 ` James E Wilson
2004-09-01 20:40   ` David Edelsohn
2004-09-01 21:22     ` James E Wilson
2004-09-02  1:07   ` Richard Henderson

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=200409011449.i81EnMO30082@makai.watson.ibm.com \
    --to=dje@watson.ibm.com \
    --cc=bonzini@gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=lorenz@us.ibm.com \
    /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).