This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: altivec triplets: comments?
On Thu, 2001-11-08 at 11:30, Daniel Jacobowitz wrote:
> On Wed, Nov 07, 2001 at 09:36:43PM -0500, Aldy Hernandez wrote:
> > >>>>> "Geoff" == Geoff Keating <geoffk@geoffk.org> writes:
> >
> > > The other problems only happen if you have a call-saved altivec
> > > register, or use them for argument passing. There's nothing that
> > > prevents you from making all the altivec registers call-clobbered, and
> > > prohibiting passing arguments in altivec registers, and then
> > > everything should Just Work, although perhaps a little less efficiently.
> >
> > Vector registers are only used to hold arguments for -mabi=altivec,
> > otherwise they go in the stack. Also, altivec registers are
> > call-saved only for altivec abi. So theoretically it should just
> > work.
>
> Oh, I see that we actually already have 128-bit alignment for our
> stack in SysV. I didn't know that.
>
> Just to clarify my understanding - do the ABI changes include
> anything that would disturb non-Altivec-aware assembly (such as the
> stubs in glibc)? I suppose they could in the presence of
> __attribute__((aligned)) and hard-coded structure offsets, but
> hopefully we don't have that problem very often.
>
> (Is -mabi=altivec orthogonal to -maltivec, or does it imply it?)
-maltivec means use altivec instructions, but no abi changes.
-mabi=altivec means enhance the current abi with altivec extensions, but
does not imply that the compiler will generate altivec instructions.
to actually get something useful you'll probably need both.
-maltivec alone will give you altivec instructions but without the abi
changes, so everything gets passed on the stack, etc.
>
> --
> Daniel Jacobowitz Carnegie Mellon University
> MontaVista Software Debian GNU/Linux Developer
--
Aldy Hernandez E-mail: aldyh@redhat.com
Professional Gypsy
Red Hat, Inc.