[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