[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