[PATCH] D134719: [AArch64] Enable libm vectorized functions via SLEEF
Daniel Kiss via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 27 01:44:10 PDT 2022
danielkiss created this revision.
danielkiss added reviewers: renatoriolino, hfinkel, ABataev, rnk, chandlerc, rsmith, joel_k_jones, steleman, fpetrogalli, t.p.northover.
Herald added subscribers: ormris, hiraditya, kristof.beyls.
Herald added a project: All.
danielkiss requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, MaskRay.
Herald added a project: LLVM.
It enables trigonometry functions vectorization via SLEEF: http://sleef.org/.
- A new vectorization library enum is added to TargetLibraryInfo.h: SLEEF.
- A new option is added to TargetLibraryInfoImpl - ClVectorLibrary: SLEEF.
- A comprehensive test case is included in this changeset.
- A new vectorization library argument is added to -fveclib: -fveclib=SLEEF.
Trigonometry functions that are vectorized by sleef:
acos
asin
atan
atanh
cos
cosh
exp
exp2
exp10
lgamma
log10
log2
log
sin
sinh
sqrt
tan
tanh
tgamma
Co-authored-by: Stefan Teleman
https://reviews.llvm.org/D134719
Files:
clang/include/clang/Basic/CodeGenOptions.h
clang/include/clang/Driver/Options.td
clang/lib/CodeGen/BackendUtil.cpp
clang/lib/Driver/ToolChains/Clang.cpp
clang/test/Driver/autocomplete.c
llvm/include/llvm/Analysis/TargetLibraryInfo.h
llvm/include/llvm/Analysis/VecFuncs.def
llvm/lib/Analysis/TargetLibraryInfo.cpp
llvm/test/Transforms/LoopVectorize/AArch64/sleef-calls-aarch64.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134719.463149.patch
Type: text/x-patch
Size: 45512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220927/fc87a39f/attachment.bin>
More information about the llvm-commits
mailing list