search for: _zvgdn2v__z1ff

Displaying 3 results from an estimated 3 matches for "_zvgdn2v__z1ff".

2016 Dec 12
2
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
)On 12 December 2016 at 13:44, Francesco Petrogalli <Francesco.Petrogalli at arm.com> wrote: > I am using “D” for 64-bit NEON and “Q” for 128-bit NEON, which makes NEON > vector symbols look as follows: > > _ZVGQN2v__Z1fd > _ZVGDN2v__Z1ff > _ZVGQN4v__Z1ff Hi Francesco, The ARM AAPCS (A.2.1) says: "For C++ the mangled name for parameters is as though the equivalent type name was used." Clang is already able to mangle NEON vectors of any length (CXXNameMangler::mangleNeonVectorType), you should use that, as this is ve...
2016 Dec 12
0
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
Hi Xinmin, I have updated the clang patch using the standard name mangling you suggested - I was not fully aware of the C++ mangling convention “_ZVG”. I am using “D” for 64-bit NEON and “Q” for 128-bit NEON, which makes NEON vector symbols look as follows: _ZVGQN2v__Z1fd _ZVGDN2v__Z1ff _ZVGQN4v__Z1ff Here “Q” means -> NEON 128-bit, “D” means -> NEON 64-bit Please notice that although I have changed the name mangling in clang [1], there have been no need to update the relative llvm patch [2], as the vectorisation process is _independent_ of the name mangling. Regards, F...
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 VectorABI can