[PATCH] D59881: Initial support for vectorization using MASSV (IBM MASS vector library)

Jeeva P. via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 27 08:06:57 PDT 2019


pjeeva01 created this revision.
pjeeva01 added reviewers: nemanjai, jsji, hfinkel, mmasten, mzolotukhin.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

This patch (first of two patches) enables the vectorizer to recognize the IBM MASS vector library routines. This patch specifically adds support for recognizing the “-vector-library=MASSV” option, and defines mappings from IEEE standard scalar math functions to generic PowerPC MASS vector counterparts.
For instance, the generic PowerPC MASS vector entry for double-precision “cbrt” function is “__cbrtd2_massv”

The second patch will further lower the generic PowerPC vector entries to PowerPC subtarget-specific entries.
For instance, the PowerPC generic entry “__cbrtd2_massv” is lowered to “__cbrtd2_P9” or Power9 subtarget.

The overall support for MASS vector library is presented as such in two patches for ease of review.


Repository:
  rL LLVM

https://reviews.llvm.org/D59881

Files:
  clang/include/clang/Basic/CodeGenOptions.h
  clang/include/clang/Driver/Options.td
  clang/lib/CodeGen/BackendUtil.cpp
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/test/Driver/autocomplete.c
  clang/test/Driver/fveclib.c
  llvm/include/llvm/Analysis/TargetLibraryInfo.h
  llvm/include/llvm/Analysis/VecFuncs.def
  llvm/lib/Analysis/TargetLibraryInfo.cpp
  llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59881.192443.patch
Type: text/x-patch
Size: 64169 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190327/1982eec9/attachment.bin>


More information about the llvm-commits mailing list