On 2/27/20 12:48 PM, GT wrote:
‐‐‐‐‐‐‐ 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?

No, and I'll withdraw the suggestion.  It seems rather arbitrary in any event.

Thanks for the updates!

Bill


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