[cfe-commits] [patch] Make ARM NEON polynomial types unsigned
Bob Wilson
bob.wilson at apple.com
Mon Jan 14 09:45:50 PST 2013
On Jan 14, 2013, at 4:00 AM, Tim Northover <Tim.Northover at arm.com> wrote:
> Hi,
>
> As suggested by John in his review of the AArch64 backend, I'm splitting this
> change into a separate thread.
>
> I'd like to make the ARM NEON polynomial types be based on unsigned variants
> (unsigned char, unsigned short) rather than the present signed ones.
>
> The AArch32 (i.e. "ARM") procedure call standard leaves this detail
> unspecified, merely saying that they represent polynomials over GF(2).
> However, the AArch64 PCS says that they correspond to unsigned types.
>
> Since the 32-bit ABI is compatible with this, I think it would be better to
> bring them into alignment rather than adding unnecessary target
> conditionalisation to Clang.
>
> Ok to commit?
This makes me a little nervous. What do GCC and other ARM compilers use? If all the other ARM compilers use unsigned poly types, then it is probably a good thing to bring Clang in sync with them. If other compilers use signed poly types, then I think it would be better to conditionalize this for AArch64.
This will also break compatibility due the C++ mangling. The poly vector mangling won't be affected, but any poly8_t and poly16_t types will change.
More information about the cfe-commits
mailing list