public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Hubicka <hubicka@ucw.cz>
To: Jakub Jelinek <jakub@redhat.com>
Cc: Jan Hubicka <hubicka@ucw.cz>, "H.J. Lu" <hjl.tools@gmail.com>,
		Jan Hubicka <jh@suse.cz>,
	discuss@x86-64.org, GCC <gcc@gcc.gnu.org>,
		"Girkar, Milind" <milind.girkar@intel.com>,
		"Dmitriev, Serguei N" <serguei.n.dmitriev@intel.com>,
		"Kreitzer, David L" <david.l.kreitzer@intel.com>
Subject: Re: RFC: Extend x86-64 psABI for 256bit AVX register
Date: Tue, 10 Jun 2008 11:32:00 -0000	[thread overview]
Message-ID: <20080610113220.GD13869@atrey.karlin.mff.cuni.cz> (raw)
In-Reply-To: <20080610113921.GX3726@sunsite.mff.cuni.cz>

> 
> I don't understand why you want to pass __m256 and 256-bit vector values
> to anonymous arguments in registers.  The only thing the vararg functions
> would do with it would be save it somewhere on the stack.
> Given the x86_64 ABI, you can't expect calling an implicitly
> prototyped or non-vararg prototyped function which is actually
> defined as vararg function (as %rax wouldn't be properly initialized),

Unprototyped functions calls all get rax set. If calle is variadic,
things still work.  Sure, for __m256 we can also declare prototypes for
variadic functions mandatory and simply pass things on stack.

Honza
> which means you need a prototype for all vararg functions and
> at that point the caller can just do the job for the callee and push stuff
> on the stack.  Then vararg prologue doesn't need to save %ymm* registers
> at all and va_arg will handle __m256 just fine.
> 
> 	Jakub

  reply	other threads:[~2008-06-10 11:32 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-05 14:31 H.J. Lu
2008-06-05 14:49 ` Richard Guenther
2008-06-05 15:52   ` H.J. Lu
2008-06-05 15:15 ` Jan Hubicka
2008-06-05 16:14   ` H.J. Lu
2008-06-06  8:29     ` Jan Hubicka
2008-06-06 13:50       ` H.J. Lu
2008-06-06 14:28         ` H.J. Lu
2008-06-06 14:31           ` Richard Guenther
2008-06-06 14:41             ` H.J. Lu
2008-06-06 14:44               ` Richard Guenther
2008-06-09 14:41           ` Jan Hubicka
2008-06-10 11:24             ` Jakub Jelinek
2008-06-10 11:32               ` Jan Hubicka [this message]
2008-06-10 13:48                 ` H.J. Lu
2008-06-10 14:50                   ` Jan Hubicka
2008-06-10 14:57                     ` Jakub Jelinek
2008-06-10 15:41                       ` H.J. Lu
2008-06-10 15:49                         ` Jan Hubicka
2008-06-10 16:18                           ` H.J. Lu
2008-06-11 14:49                           ` H.J. Lu
2008-06-15 22:37                             ` Jakub Jelinek
2008-06-16  1:49                               ` Jan Hubicka
2008-06-18 23:16                                 ` H.J. Lu
2008-06-06 15:01 ` Jakub Jelinek

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=20080610113220.GD13869@atrey.karlin.mff.cuni.cz \
    --to=hubicka@ucw.cz \
    --cc=david.l.kreitzer@intel.com \
    --cc=discuss@x86-64.org \
    --cc=gcc@gcc.gnu.org \
    --cc=hjl.tools@gmail.com \
    --cc=jakub@redhat.com \
    --cc=jh@suse.cz \
    --cc=milind.girkar@intel.com \
    --cc=serguei.n.dmitriev@intel.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).