diff options
author | David Sherwood <david.sherwood@arm.com> | 2021-12-07 14:13:55 +0000 |
---|---|---|
committer | David Sherwood <david.sherwood@arm.com> | 2021-12-10 13:39:38 +0000 |
commit | 652faed3539eefad773bccd635fd01a037e0a4ce (patch) | |
tree | d7cb4f3c7830864225ef6ab08135e15710a72006 /llvm/lib/Support/DeltaAlgorithm.cpp | |
parent | 1e68c79987a628f2e9c6b3a7416a8308a58eb436 (diff) | |
download | llvm-652faed3539eefad773bccd635fd01a037e0a4ce.zip llvm-652faed3539eefad773bccd635fd01a037e0a4ce.tar.gz llvm-652faed3539eefad773bccd635fd01a037e0a4ce.tar.bz2 |
[CodeGen] Improve SelectionDAGBuilder lowering code for get.active.lane.mask intrinsic
Previously we were using UADDO to generate a two-result value with
the unsigned addition and the overflow mask. We then combined the
overflow mask with the trip count comparison to get a result.
However, we don't need to do this - we can simply use a UADDSAT
saturating add node to add the vector index splat and the stepvector
together. Then we can just compare this to a splat of the trip count.
This results in overall better code quality for both Thumb2 and AArch64.
Differential Revision: https://reviews.llvm.org/D115354
Diffstat (limited to 'llvm/lib/Support/DeltaAlgorithm.cpp')
0 files changed, 0 insertions, 0 deletions