‐‐‐‐‐‐‐ 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