[all-commits] [llvm/llvm-project] 1c50a5: [PowerPC] Implement partial vector ld/st builtins ...
Nemanja Ivanovic via All-commits
all-commits at lists.llvm.org
Mon Jul 26 11:20:10 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1c50a5da364fd57905ec170ed9ba64d3c7e416f3
https://github.com/llvm/llvm-project/commit/1c50a5da364fd57905ec170ed9ba64d3c7e416f3
Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Date: 2021-07-26 (Mon, 26 Jul 2021)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/altivec.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtins-ppc-ld-st-rmb.c
M clang/test/CodeGen/builtins-ppc-xlcompat-pwr8.c
A clang/test/CodeGen/builtins-ppc-xlcompat-vec-error.c
Log Message:
-----------
[PowerPC] Implement partial vector ld/st builtins for XL compatibility
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.
Differential revision: https://reviews.llvm.org/D106757
More information about the All-commits
mailing list