llvm-project/llvm/lib
Joel Jones 5f533c5fe1 [AArch64] Enable libm vectorized functions via SLEEF
This changeset is modeled after Intel's submission for SVML. 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.
 * In a separate changeset (for clang), 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

Patch by Stefan Teleman
Differential Revision: https://reviews.llvm.org/D53927

llvm-svn: 347510
2018-11-24 06:41:39 +00:00
..
Analysis [AArch64] Enable libm vectorized functions via SLEEF 2018-11-24 06:41:39 +00:00
AsmParser Attempt to fix buildbot after r347489 2018-11-23 11:28:58 +00:00
BinaryFormat Revert r347490 as it breaks address sanitizer builds 2018-11-23 17:13:06 +00:00
Bitcode [DebugInfo] DISubprogram flags get their own flags word. NFC. 2018-11-19 18:29:28 +00:00
CodeGen [DAG] consolidate shift simplifications 2018-11-23 20:05:12 +00:00
DebugInfo Revert r347490 as it breaks address sanitizer builds 2018-11-23 17:13:06 +00:00
Demangle [MS Demangler] Print public:, protected:, private: if set in FunctionClass or a variable's StorageClass. 2018-11-13 20:18:26 +00:00
ExecutionEngine [ExecutionEngine][Interpreter] Fix out-of-bounds array access. 2018-11-20 01:01:26 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [ThinLTO] Assembly representation of ReadOnly attribute 2018-11-23 10:54:51 +00:00
IRReader
LTO [ThinLTO] Internalize readonly globals 2018-11-16 07:08:00 +00:00
LineEditor
Linker [ThinLTO] Internalize readonly globals 2018-11-16 07:08:00 +00:00
MC Revert r347490 as it breaks address sanitizer builds 2018-11-23 17:13:06 +00:00
Object Use llvm::copy. NFC 2018-11-17 01:44:25 +00:00
ObjectYAML [WebAssembly] Add support for dylink section in object format 2018-11-14 18:36:24 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes [PM] Port Scalarizer to the new pass manager. 2018-11-21 14:00:17 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support [APInt] Add methods for saturated add and sub 2018-11-20 16:47:59 +00:00
TableGen Reverted r347092 due to the following build fails: 2018-11-17 02:26:34 +00:00
Target [ARM] Add dependency from ARMAsmParser to ARMAsmPrinter after r347494 2018-11-23 23:43:46 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms [InstCombine] Simplify funnel shift with zero/undef operand to shift 2018-11-23 22:45:08 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] Improve FDR trace handling and error messaging 2018-11-09 06:26:48 +00:00
CMakeLists.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
LLVMBuild.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00