[PATCH] D53927: [AArch64] Enable libm vectorized functions via SLEEF
Stefan Teleman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 11 20:49:49 PST 2018
steleman added a comment.
In D53927#1328001 <https://reviews.llvm.org/D53927#1328001>, @shibatch wrote:
> The RFC for reimplementing -fveclib with OpenMP is titled "OpenMP" because the corresponding code for ARM HPC compiler requires OpenMP.
> However, the proposal in RFC does not require OpenMP, as quoted below.
>
> > The new proposed `#pragma` directive are:
> >
> > 1. `#pragma veclib declare simd`.
> > 2. `#pragma veclib declare variant`.
> >
> > Both directive follows the syntax of the `declare simd` and the `declare variant` directives of OpenMP, with the exception that `declare variant` is used only for the `simd` context.
1. Where, when, how and by whom are these #pragmas inserted? Are they silently inserted by clang? Do they have to be manually inserted in existing code?
2. What is the effect of these #pragmas? The ARM closed-source commercial compiler requires OpenMP. How will these #pragmas be implemented in the open-source clang? Will they import OpenMP interfaces in the open-source clang as well?
3. If importing OpenMP interfaces is //not// triggered by the insertion of these #pragmas, why is the argument to -fveclib called 'openmp'? I would find it baffling to have to type -fveclib=openmp on compile-line, but ending up //not// using OpenMP.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D53927/new/
https://reviews.llvm.org/D53927
More information about the llvm-commits
mailing list