[all-commits] [llvm/llvm-project] ec93b2: [AArch64] Lower 3 and 4 sources buildvectors to TBL
David Green via All-commits
all-commits at lists.llvm.org
Thu Mar 24 03:02:45 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ec93b28909749619dbe58b092a13da9d1ff1eb1e
https://github.com/llvm/llvm-project/commit/ec93b28909749619dbe58b092a13da9d1ff1eb1e
Author: David Green <david.green at arm.com>
Date: 2022-03-24 (Thu, 24 Mar 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
Log Message:
-----------
[AArch64] Lower 3 and 4 sources buildvectors to TBL
The default expansion for buildvectors is to extract each element and
insert them into a new vector. That involves a lot of copying to/from
the GPR registers. TLB3 and TLB4 can be relatively slow instructions
with the mask needing to be loaded from a constant pool, but they should
always be better than all the moves to/from GPRs.
Differential Revision: https://reviews.llvm.org/D121137
More information about the All-commits
mailing list