mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-21 23:10:54 +00:00
97f0c63783
In the original design, we levarage _mt intrinsics to define macros for _m intrinsics. Such as, ``` __builtin_rvv_vadd_vv_i8m1_mt((vbool8_t)(op0), (vint8m1_t)(op1), (vint8m1_t)(op2), (vint8m1_t)(op3), (size_t)(op4), (size_t)VE_TAIL_AGNOSTIC) ``` However, we could not define generic interface for mask intrinsics any more due to clang_builtin_alias only accepts clang builtins as its argument. In the example, ``` __rvv_overloaded __attribute__((clang_builtin_alias(__builtin_rvv_vadd_vv_i8m1_mt))) vint8m1_t vadd(vbool8_t op0, vint8m1_t op1, vint8m1_t op2, vint8m1_t op3, size_t op4, size_t op5); ``` op5 is the tail policy argument. When users want to use vadd generic interface for masked vector add, they need to specify tail policy in the previous design. In this patch, we define _m intrinsics as clang builtins to solve the problem. Differential Revision: https://reviews.llvm.org/D110684 |
||
---|---|---|
.. | ||
ABITest | ||
analyzer | ||
check_cfc | ||
CIndex | ||
ClangVisualizers | ||
hmaptool | ||
perf-training | ||
TableGen | ||
TestUtils | ||
valgrind | ||
VtableTest | ||
bash-autocomplete.sh | ||
builtin-defines.c | ||
CaptureCmd | ||
ClangDataFormat.py | ||
clangdiag.py | ||
CmpDriver | ||
convert_arm_neon.py | ||
creduce-clang-crash.py | ||
find-unused-diagnostics.sh | ||
FindSpecRefs | ||
FuzzTest | ||
make-ast-dump-check.sh | ||
modfuzz.py | ||
module-deps-to-rsp.py | ||
token-delta.py |