[llvm-dev] Proposal: Make the VE target official

Simon Moll via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 3 05:51:06 PDT 2021


Hi all,

NEC have been building up target support for SX-Aurora TSUBASA in LLVM
upstream - the VE target (Vector Engine) [1].  Today VE support in
upstream is sufficient for scalar code generation from C code with
target-specific vector intrinsics.

We propose the switch from 'experimental' backend status to 'official',
throwing into the ring:

* The staging builder (clang-ve-ninja) [2].  This builder builds and
  checks LLVM+Clang and compiler-rt. The functional compiler-rt tests
  run C code on a VE device.
  We will extend this builder to test all other runtime libraries
(libcxxabi, libcxx, ..) for VE as continue upstreaming.
* LIT tests.  VE has extensive lit tests (test/CodeGen/VE) for scalar
  code generation and vector intrinsics.
* D113093 [3] has the changes to make all compiler-rt tests pass on VE.
  Remaining failures are due to denormal support, alignment
  requirements and subtle differences in syscalls.
* The downstream reference implementation (LLVM-VE [4]).  This includes
  compiler-rt,libcxxabi,libcxx and openmp target offloading and will be
  the basis for upstreaming.

What do you say?

- Simon

[1] Vector Engine:
https://www.nec.com/en/global/solutions/hpc/sx/vector_engine.html
[2] clang-ve-ninja (recent run):
https://lab.llvm.org/staging/#/builders/24/builds/6594
[3] compiler-rt patch: https://reviews.llvm.org/D113093
[4] llvm-ve source: https://github.com/sx-aurora-dev/llvm-project.git



More information about the llvm-dev mailing list