llvm-project/clang/utils
Simon Tatham d173fb5d28 [ARM,MVE] Add intrinsics to deal with predicates.
Summary:
This commit adds the `vpselq` intrinsics which take an MVE predicate
word and select lanes from two vectors; the `vctp` intrinsics which
create a tail predicate word suitable for processing the first m
elements of a vector (e.g. in the last iteration of a loop); and
`vpnot`, which simply complements a predicate word and is just
syntactic sugar for the `~` operator.

The `vctp` ACLE intrinsics are lowered to the IR intrinsics we've
already added (and which D70592 just reorganized). I've filled in the
missing isel rule for VCTP64, and added another set of rules to
generate the predicated forms.

I needed one small tweak in MveEmitter to allow the `unpromoted` type
modifier to apply to predicates as well as integers, so that `vpnot`
doesn't pointlessly convert its input integer to an `<n x i1>` before
complementing it.

Reviewers: ostannard, MarkMurrayARM, dmgreen

Reviewed By: dmgreen

Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D70485
2019-12-02 16:20:30 +00:00
..
ABITest Portable Python script across Python version 2018-12-18 16:07:37 +00:00
CIndex Portable Python script across Python version 2018-12-18 16:07:37 +00:00
ClangVisualizers Improve MSVC visualizations so the parser shows where we are in the code 2019-08-06 13:29:35 +00:00
TableGen [ARM,MVE] Add intrinsics to deal with predicates. 2019-12-02 16:20:30 +00:00
TestUtils Portable Python script across Python version 2018-12-18 16:07:37 +00:00
VtableTest
analyzer [analyzer] exploded-graph-rewriter: Rename Environment to Expressions. 2019-10-18 20:15:41 +00:00
check_cfc Portable Python script across Python version 2019-01-03 14:27:05 +00:00
hmaptool [clang] [cmake] Add distribution install targets for remaining components 2019-10-04 05:43:20 +00:00
perf-training Revert "NFC: utils/perf-training: Python 3 compatibility for lit.cfg" 2019-07-24 22:42:50 +00:00
valgrind
CaptureCmd
ClangDataFormat.py
CmpDriver
FindSpecRefs
FuzzTest
bash-autocomplete.sh [bash-completion] Fix tab separation on macOS 2018-05-24 16:25:40 +00:00
builtin-defines.c This reverts commit 632a36bfcfc8273c1861f04ff6758d863c47c784. 2019-07-13 06:27:35 +00:00
clangdiag.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00
convert_arm_neon.py Recommit ARM-NEON: make type modifiers orthogonal and allow multiple modifiers. 2019-11-26 09:21:47 +00:00
creduce-clang-crash.py [creduce] Fixed a typo in the error message we're looking for. 2019-11-07 17:16:51 -08:00
find-unused-diagnostics.sh Unused diagnostics can occur in tblgen. 2018-01-25 15:57:22 +00:00
make-ast-dump-check.sh Add script to update OpenMP -ast-dump test expectations, and use it to 2019-06-02 04:00:38 +00:00
modfuzz.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00
token-delta.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00