search for: vectorabi

Displaying 8 results from an estimated 8 matches for "vectorabi".

2016 Mar 02
4
Proposal for function vectorization and loop vectorization with function calls
...========================== Intel Corporation (3/2/2016) This is a proposal for an initial work towards Clang and LLVM implementation of vectorizing a function annotated with OpenMP 4.5's "#pragma omp declare simd" (named SIMD-enabled function) and its associated clauses based on the VectorABI [2]. On the caller side, we propose to improve LLVM loopVectorizer such that the code that calls the SIMD-enabled function can be vectorized. On the callee side, we propose to add Clang FE support for "#pragma omp declare simd" syntax and a new pass to transform the SIMD-enabled function...
2016 Mar 02
2
Proposal for function vectorization and loop vectorization with function calls
...for all possible vector types, and then implement only used ones? If not, how does frontend know which vector-width to use? If the dowork function and its caller are in different modules, how does compiler communicate what vector width are needed? Yes, you are right in general, that is defined by VectorABI used by GCC and ICC. E.g. GCC generation 7 versions by default for x86 (scalar, SSE(mask, nomask), AVX(mask, nomask), AVX2 (mask, nomask). There are several options we can optimize to reduce the # of version we need to generate w.r.t compile-time and code-size. We can provide detailed info. >...
2016 Dec 08
6
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
Hi Francesco, a bit more information. GCC veclib is implemented based on GCC VectorABI for declare simd as well. For name mangling, we have to follow certain rules of C/C++ (e.g. prefix needs to _ZVG ....). David Majnemer who is the owner and stakeholder for approval for Clang and LLVM. Also, we need to pay attention to GCC compatibility. I would suggest you look into how GCC V...
2016 Dec 12
0
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
...urn value of the TLII::mangle() method. None of the underlying scalar/vector function matching algorithms have been touched. On 08/12/2016 18:11, "Tian, Xinmin" <xinmin.tian at intel.com> wrote: >Hi Francesco, a bit more information. GCC veclib is implemented based on >GCC VectorABI for declare simd as well. > >For name mangling, we have to follow certain rules of C/C++ (e.g. prefix >needs to _ZVG ....). David Majnemer who is the owner and stakeholder for >approval for Clang and LLVM. Also, we need to pay attention to GCC >compatibility. I would suggest you...
2016 Dec 08
0
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
...ists.llvm.org> wrote: > For name mangling, we have to follow certain rules of C/C++ (e.g. prefix needs to _ZVG ....). David Majnemer who is the owner and stakeholder for approval for Clang and LLVM. Also, we need to pay attention to GCC compatibility. I would suggest you look into how GCC VectorABI can be extended support your Arch. Hi Xinmin, I only began to review this proposal, and like yours, I think this is a really important feature to get in. I agree with you on the name mangling need for C++, as well as compatibility with GCC, but according to Francesco, there are some problems tha...
2016 Mar 02
5
RFC: Implementing the Swift calling convention in LLVM and Clang
> On Mar 2, 2016, at 1:33 AM, Renato Golin <renato.golin at linaro.org> wrote: > > On 2 March 2016 at 01:14, John McCall via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Hi, all. >> - We sometimes want to return more values in registers than the convention normally does, and we want to be able to use both integer and floating-point registers. For
2016 Nov 30
5
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
Dear all, I have just created a couple of differential reviews to enable the vectorisation of loops that have function calls to routines marked with “#pragma omp declare simd”. They can be (re)viewed here: * https://reviews.llvm.org/D27249 * https://reviews.llvm.org/D27250 The current implementation allows the loop vectorizer to generate vector code for source file as: #pragma omp declare
2019 Jun 03
6
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
Hi All, The original intend of this thread is to "Expose user provided vector function for auto-vectorization.” I originally proposed to use OpenMP `declare variant` for the sake of using something that is defined by a standard. The RFC itself is not about fully implementing the `declare variant` directive. In fact, given the amount of complication it is bringing, I would like to move the