forked from OSchip/llvm-project
969034b860
Summary: This patch implements the following intrinsics: uint8x16_t __arm_vcx1q_u8 (int coproc, uint32_t imm); T __arm_vcx1qa(int coproc, T acc, uint32_t imm); T __arm_vcx2q(int coproc, T n, uint32_t imm); uint8x16_t __arm_vcx2q_u8(int coproc, T n, uint32_t imm); T __arm_vcx2qa(int coproc, T acc, U n, uint32_t imm); T __arm_vcx3q(int coproc, T n, U m, uint32_t imm); uint8x16_t __arm_vcx3q_u8(int coproc, T n, U m, uint32_t imm); T __arm_vcx3qa(int coproc, T acc, U n, V m, uint32_t imm); Most of them are polymorphic. Furthermore, some intrinsics are polymorphic by 2 or 3 parameter types, such polymorphism is not supported by the existing MVE/CDE tablegen backends, also we don't really want to have a combinatorial explosion caused by 1000 different combinations of 3 vector types. Because of this some intrinsics are implemented as macros involving a cast of the polymorphic arguments to uint8x16_t. The IR intrinsics are even more restricted in terms of types: all MVE vectors are cast to v16i8. Reviewers: simon_tatham, MarkMurrayARM, dmgreen, ostannard Reviewed By: MarkMurrayARM Subscribers: kristof.beyls, hiraditya, danielkiss, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76299 |
||
---|---|---|
.. | ||
ABITest | ||
CIndex | ||
ClangVisualizers | ||
TableGen | ||
TestUtils | ||
VtableTest | ||
analyzer | ||
check_cfc | ||
hmaptool | ||
perf-training | ||
valgrind | ||
CaptureCmd | ||
ClangDataFormat.py | ||
CmpDriver | ||
FindSpecRefs | ||
FuzzTest | ||
bash-autocomplete.sh | ||
builtin-defines.c | ||
clangdiag.py | ||
convert_arm_neon.py | ||
creduce-clang-crash.py | ||
find-unused-diagnostics.sh | ||
make-ast-dump-check.sh | ||
modfuzz.py | ||
token-delta.py |