[all-commits] [llvm/llvm-project] c4fa50: [AArch64] Enable libm vectorized functions via SLEEF
Dani via All-commits
all-commits at lists.llvm.org
Fri Jan 20 09:52:52 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c4fa504f797f68297c252dc91a24c7d37c1de4df
https://github.com/llvm/llvm-project/commit/c4fa504f797f68297c252dc91a24c7d37c1de4df
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2023-01-20 (Fri, 20 Jan 2023)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/autocomplete.c
M clang/test/Driver/fveclib.c
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/sleef-calls-aarch64.ll
Log Message:
-----------
[AArch64] Enable libm vectorized functions via SLEEF
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
Reviewed By: paulwalker-arm
Differential Revision: https://reviews.llvm.org/D134719
More information about the All-commits
mailing list