This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Aarch64] Vector Function Application Binary Interface Specification for OpenMP
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: "Sekhar, Ashwin" <Ashwin dot Sekhar at cavium dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, "richard dot earnshaw at arm dot com" <richard dot earnshaw at arm dot com>, "marcus dot shawcroft at arm dot com" <marcus dot shawcroft at arm dot com>, <nd at arm dot com>
- Date: Fri, 17 Mar 2017 14:01:39 +0000
- Subject: Re: [Aarch64] Vector Function Application Binary Interface Specification for OpenMP
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=bestguesspass action=none header.from=arm.com;
- Nodisclaimer: True
- References: <BY2PR07MB2421EB8B7FDC1CFFDE065DDE92270@BY2PR07MB2421.namprd07.prod.outlook.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Wed, Mar 15, 2017 at 09:50:18AM +0000, Sekhar, Ashwin wrote:
> Hi GCC Team, Aarch64 Maintainers,
>
>
> The rules in Vector Function Application Binary Interface Specification for
> OpenMP
> (https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt)
> is used in x86 for generating the simd clones of a function.
>
> Is there a similar one defined for Aarch64?
>
> If not, would like to start a discussion on the same for Aarch64. To kick
> start the same, a draft proposal for Aarch64 (on the same lines as x86 ABI)
> is included below. The only change from x86 ABI is in the function name
> mangling. Here the letter 'b' is used for indicating the ASIMD isa.
Hi Ashwin,
Thanks for the question. ARM has defined a vector function ABI, based
on the Vector Function ABI Specification you linked below, which
is designed to be suitable for both the Advanced SIMD and Scalable
Vector Extensions. There has not yet been a release of this document
which I can point you at, nor can I give you an estimate of when the
document will be published.
However, Francesco Petrogalli has recently made a proposal to the
LLVM mailing list ( https://reviews.llvm.org/D30739 ) which I would
note conflicts with your proposal in one way. You choose 'b' for name
mangling for a vector function using Advanced SIMD, while Francesco
uses 'n', which is the agreed character in the Vector Function ABI
Specification we have been working on.
I'd encourage you to wait for formal publication of the ARM Vector
Function ABI to prevent any unexpected divergence between
implementations.
Thanks,
James