‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, February 27, 2020 9:26 AM, Bill Schmidt <wschm...@linux.ibm.com> 
wrote:

>
> Upon reflection, I agree.  Bert, we need to make changes to the document to
> reflect this:
>
> (1) "Calling convention" should refer to ELFv1 for powerpc64 and ELFv2 for
> powerpc64le.

Done. Have provided names and links to respective ABI documents but no longer
explicitly refer to ELF version.

> (2) "Vector Length" should remove bullet 3, strike the word
> "nonhomogeneous" in bullet 4, and strike the parenthetical clause in
> bullet 4.
> (3) "Ordering of Vector Arguments" should remove the example involving
> homogeneous aggregates.
>

Done.

> It also occurs to me that for bullets 4 and 5 in "Vector Length", the
> CDT should be long long, not int, since we pass aggregates in pieces in
> 64-bit registers and/or chunks of memory.
>

That determination of Vector Length is common for all architectures and is
implemented in function simd_clone_compute_base_data_type. If we do really
need PPC64 to be different, we'll have to allow the function to be replaced
by architecture-specific versions. Before we do that, do you have
an example of code which ends up with incorrect vectorization with the
existing CDT of int?

> Other small bugs:
>  - Bullet 4 says "the CDT determine by a) or b) above", but the referents
> should be "(1) or (2)" instead.
>  - First line of "Compiler generated variants of vector functions" has
> a typo ("umasked").
>

Done.

The updated document is at:
https://sourceware.org/glibc/wiki/HomePage?action=AttachFile&do=view&target=powerarchvectfuncabi.html

Reply via email to