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