This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, powerpc], Fix PR48857, pass/return V2DI as other vector types
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: "Meissner, Michael" <meissner at linux dot vnet dot ibm dot com>, David Edelsohn <dje dot gcc at gmail dot com>
- Date: Thu, 5 May 2011 22:46:54 +0200
- Subject: Re: [PATCH, powerpc], Fix PR48857, pass/return V2DI as other vector types
Hello!
> In this case, GCC wasn't following the ABI. My patch will have GCC follow the
> ABI. The XL compiler also follows the ABI. So we have to decide whether to
> keep the current calling sequence which violates the ABI, or change the
> compiler to follow the ABI, and break backwards compatiblity.
>
> Given the machine doesn't have native VD2Imode operations, except for
> conversion to/from floating point, and the bitwise operations, I suspect not to
> many people use the data type. Note, V2DImode was added in GCC 4.5 when the
> VSX support was added. It was not in the earlier Altivec support.
IMO, the compiler should emit a note in this case, something like
[unfortunately, many...] examples in i386.c:
static bool warned;
if (!warned && warn_psabi)
{
warned = true;
inform (input_location,
"the ABI of passing struct with"
" a flexible array member has"
" changed in GCC 4.4");
}
Uros.