llvm-project/clang/utils/TableGen
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
..
CMakeLists.txt Fix file-ordering nit in D67161. 2019-10-25 09:22:07 +01:00
ClangASTEmitters.h [NFC] Add a tablegen node for the root of the AST node hierarchies. 2019-10-25 16:39:21 -07:00
ClangASTNodesEmitter.cpp [NFC] Add a tablegen node for the root of the AST node hierarchies. 2019-10-25 16:39:21 -07:00
ClangAttrEmitter.cpp [NFC] Add a tablegen node for the root of the AST node hierarchies. 2019-10-25 16:39:21 -07:00
ClangCommentCommandInfoEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangCommentHTMLNamedCharacterReferenceEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangCommentHTMLTagsEmitter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangDataCollectorsEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangDiagnosticsEmitter.cpp Fix uninitialized variable warnings. NFCI. 2019-11-02 18:03:21 +00:00
ClangOpcodesEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangOpenCLBuiltinEmitter.cpp [OpenCL] Group builtin functions by prototype 2019-11-05 10:26:47 +00:00
ClangOptionDocEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangSACheckersEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangTypeNodesEmitter.cpp [NFC] Add a tablegen node for the root of the AST node hierarchies. 2019-10-25 16:39:21 -07:00
MveEmitter.cpp [ARM,MVE] Add intrinsics to deal with predicates. 2019-12-02 16:20:30 +00:00
NeonEmitter.cpp Recommit ARM-NEON: make type modifiers orthogonal and allow multiple modifiers. 2019-11-26 09:21:47 +00:00
TableGen.cpp Revert "Use InitLLVM to setup a pretty stack printer" 2019-11-25 21:06:56 -05:00
TableGenBackends.h [clang,ARM] Initial ACLE intrinsics for MVE. 2019-10-24 16:33:13 +01:00