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.