aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2022-04-19 14:49:50 +0100
committerDavid Green <david.green@arm.com>2022-04-19 14:49:50 +0100
commit73dc996428aeed7e5005b4bc80a112f7d5c45a9b (patch)
tree8ddfcffee04db8b6479aa71669ec2e78c33ccc38 /clang/lib/Frontend/CompilerInvocation.cpp
parent7adfa31bc65e44ce65ee47ebe27e61695b34805a (diff)
downloadllvm-73dc996428aeed7e5005b4bc80a112f7d5c45a9b.zip
llvm-73dc996428aeed7e5005b4bc80a112f7d5c45a9b.tar.gz
llvm-73dc996428aeed7e5005b4bc80a112f7d5c45a9b.tar.bz2
[AArch64] Add lane moves to PerfectShuffle tables
This teaches the perfect shuffle tables about lane inserts, that can help reduce the cost of many entries. Many of the shuffle masks are one-away from being correct, and a simple lane move can be a lot simpler than trying to use ext/zip/etc. Because they are not exactly like the other masks handled in the perfect shuffle tables, they require special casing to generate them, with a special InsOp Operator. The lane to insert into is encoded as the RHSID, and the move from is grabbed from the original mask. This helps reduce the maximum perfect shuffle entry cost to 3, with many more shuffles being generatable in a single instruction. Differential Revision: https://reviews.llvm.org/D123386
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions