[PATCH] D106757: [PowerPC] Implement partial vector ld/st builtins for XL compatibility
Nemanja Ivanovic via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Jul 24 12:45:25 PDT 2021
nemanjai created this revision.
nemanjai added a reviewer: PowerPC.
Herald added subscribers: shchenz, kbarton.
nemanjai requested review of this revision.
Herald added a project: clang.
XL provides functions `__vec_ldrmb/__vec_strmb` for loading/storing a sequence of 1 to 16 bytes in big endian order, right justified in the vector register (regardless of target endianness).
This is equivalent to `vec_xl_len_r/vec_xst_len_r` which are only available on Power9.
This patch simply uses the Power9 functions when compiled for Power9, but provides a more general implementation for Power8.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D106757
Files:
clang/include/clang/Basic/BuiltinsPPC.def
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/Headers/altivec.h
clang/lib/Sema/SemaChecking.cpp
clang/test/CodeGen/builtins-ppc-ld-st-rmb.c
clang/test/CodeGen/builtins-ppc-xlcompat-pwr8.c
clang/test/CodeGen/builtins-ppc-xlcompat-vec-error.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106757.361476.patch
Type: text/x-patch
Size: 158438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210724/d6bff543/attachment-0001.bin>
More information about the cfe-commits
mailing list