[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