[all-commits] [llvm/llvm-project] c7b537: [AArch64] Add more efficient vector bitcast for v16i8
Lawrence Benson via All-commits
all-commits at lists.llvm.org
Fri Aug 11 01:11:11 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c7b537bf0923df05254f9fa4722b298eb8f4790d
https://github.com/llvm/llvm-project/commit/c7b537bf0923df05254f9fa4722b298eb8f4790d
Author: Lawrence Benson <github at lawben.com>
Date: 2023-08-11 (Fri, 11 Aug 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
Log Message:
-----------
[AArch64] Add more efficient vector bitcast for v16i8
We previously split the vector into two halves and performed two vector reduce operations followed by bit shifting and bitwise or. Now, we use NEON's zip1 to concatenate
the halves in a smart way and then perform only a single vector reduce. This boosts performance quite a bit for this small routine, as vector reduce is a rather expensive
intruction. Original discussion for this started in: https://reviews.llvm.org/D145301
Differential Revision: https://reviews.llvm.org/D156544
More information about the All-commits
mailing list